Linux Embarcado PDF Imprimir E-mail

 

Introdução ao Linux Embarcado


Carga horária: 60 horas


Apresentação

Este curso tem o objetivo de apresentar o uso do kernel Linux em sistemas embarcados, sua preparação e instalação em uma plataforma. Nele o aluno aprenderá sobre o Linux, processo de desenvolvimento de sistemas embarcados, ferramentas de desenvolvimento, boas práticas de projeto e programação.


Público alvo

Profissionais e entusiastas interessados no desenvolvimento de sistemas embarcados com o kernel Linux.


Vantagens do curso

- Melhor conhecimento sobre o funcionamento do Kernel Linux

- Processo de projeto e construção de sistemas completos e funcionais para plataformas embarcadas com o Linux

- Conhecimento de critérios e boas práticas para a construção de sistemas

Pré requisitos

- Inglês técnico (leitura)

- Conhecimentos em programação em C e shell

Conteúdo programático


1. Introdução

- Apresentação

- Arquitetura de um sistema embarcado

- Hardware

- Kernel space

- User space

- Distribuições

- Sistemas de construção

- Controle de versão


2. Ambiente de Desenvolvimento

- Usando gcc

- Usando make

- Usando gdb

- Sistemas de tracing

- Usando binutils

- DHCP/TFTP/NFS


3. Toolchain/Cross-toolchain

- Compilando e instalando binutils

- Compilando e instalando gcc

- Biblioteca padrão

- Bibliotecas compartilhadas


4. Biblioteca padrão

- Função e operação

- Alternativas: glibc, eglibc, klibc, uclibc, dietlibc, newlib, bionic

- Compilando uclibc


5. Linux

- Estrutura

- Obtenção

- Construção

- Módulos

- Criando módulos externos

- Criando módulos internos


6. Boot do Linux

- Papel do bootloader

- Parâmetros do kernel

- initrd/initramfs


7. Userspace

- Sistema de arquivos raiz

- init e scripts de inicialização


8. Bootloaders

- Redboot

- U-boot


9. Device Drivers

- Modelos de drivers

- Construção de um driver simples


10. Manipulando e criando dispositivos

- ioctl

- /dev

- /sys

- mknod

- makedev

- udev/mdev


11. Sistemas de arquivos

- Conceitos

- Dispositivos de bloco e MTD

- Sistemas somente-leitura

- JFFS2, cramfs, squashfs, etc


12. Busybox

- Configuração

- Compilação


13. Sistemas de build

- Conceitos

- Alternativas: buildroot, openembedded, scratchbox, em debian e outros

- Configurando e gerando uma imagem de sistema de arquivos

- Adicionando aplicações ao sistema de build


Instrutor

Bacharel em Ciência da Computação pela UFMG. Desenvolvedor de Software desde 1996, com experiência em linguagem C desde 1999. Prestador de serviços a diversas empresas desenvolvendo software de base, incluindo controladores de dispositivos em sistemas operacionais modernos e consultor no desenvolvimento de sistemas operacionais para dispositivos portáteis. Desenvolvedor de software livre atuante.


Mais informações


O Linux é um kernel (núcleo de um sistema operacional) livre para utilização, estudo e modificação, licenciado como GPL, com uma comunidade de desenvolvedores bem atuante. Seu código é bastante portável, e já está disponível para várias plataformas de hardware existentes.

O mercado de semicondutores e dispositivos está adotando o Linux cada vez mais, através de suporte aos seus produtos. Desenvolvedores de software de base, software embutido e fabricantes de dispositivos e equipamentos devem considerar adotar o Linux como kernel para seus sistemas e contribuir com melhorias para ele, com o benefício de grande economia em tempo de desenvolvimento e custos.

Este curso instrui o aluno a participar disso. O Linux é um software livre, e quando utilizado em um produto, sua licença, bem como as dos demais softwares que acompanham o produto final, devem ser respeitadas.

 

 

 

Boletim Training Tecnologia Cadastre-se

Name:

Email:

Banner
template desenvolvido por FVAL | layout por Training Tecnologia