Obrigado por enviar sua consulta! Um dos membros da nossa equipe entrará em contato com você em breve.
Obrigado por enviar sua reserva! Um dos membros da nossa equipe entrará em contato com você em breve.
Programa do Curso
1. Introdução ao Kernel Linux
- Visão geral do Linux Embedded
- Arquitetura do kernel Linux
- Usuário (user space) vs. kernel (kernel space)
- Responsabilidades do kernel
- Fluxo de trabalho de desenvolvimento do kernel
- Visão geral das plataformas embarcadas suportadas
2. Configuração do Ambiente de Desenvolvimento
- Preparação da estação de trabalho
- Conceitos de compilação cruzada
- Instalação das ferramentas de desenvolvimento necessárias
- Configuração da placa de desenvolvimento BeagleBone Black
- Configuração do console serial
- Inicialização do dispositivo de destino
3. Obtenção e Compreensão do Código-Fonte do Kernel
- Árvore de código-fonte do kernel Linux
- Kernels estáveis vs. kernels de suporte de longo prazo
- Baixando o código-fonte do kernel
- Explorando a estrutura do código-fonte
- Documentação do kernel
- Gestão de versões do kernel
4. Configuração, Compilação e Inicialização do Kernel
- Configuração do kernel usando menuconfig
- Seleção de funcionalidades do kernel
- Compilação cruzada do kernel
- Construção de imagens do kernel
- Instalação de módulos do kernel
- Visão geral do bootloader
- Inicialização de um kernel personalizado
5. Fundamentos da Device Tree
- Propósito da Device Tree
- Arquivos de fonte da Device Tree (DTS)
- Device Tree Blob (DTB)
- Conceitos de descrição de hardware
- Modificação de arquivos de Device Tree
- Construção e implantação de Device Trees
6. Módulos do Kernel Linux
- Arquitetura de módulos do kernel
- Construção de módulos de kernel carregáveis
- Carregamento e descarga de módulos
- Parâmetros de módulo
- Dependências de módulo
- Interação com módulos do kernel
- Técnicas de depuração de módulos
7. Depuração do Kernel Linux
- Logagem de kernel com printk()
- Uso do dmesg
- Depuração dinâmica
- Análise de panico do kernel
- Mensagens Oops
- Depuração com GDB
- Ferramentas básicas de rastreamento de desempenho
8. Drivers de Dispositivos de Caracter
- Modelo de driver de dispositivos do Linux
- Dispositivos de caractere
- Registro de drivers
- Operações de arquivo
- Operações de leitura e gravação
- Interface IOCTL
- Gestão de memória
- Limpeza do driver
9. Integração de Drivers e Acesso ao Hardware
- Dispositivos e drivers de plataforma
- Programação de GPIO
- Tratamento de interrupções
- Temporizadores e trabalho diferido
- Acesso a registros de hardware
- Trabalho com I/O mapeado em memória
10. Controle de Versão com Git
- Fundamentos do Git
- Gestão de código-fonte do kernel
- Ramificações e mesclagens (branching e merging)
- Criação de patches
- Revisão de alterações
- Colaboração no desenvolvimento do kernel
11. Laboratórios Práticos de Desenvolvimento de Kernel
- Configuração de um kernel personalizado
- Construção e implantação do kernel
- Criação de um módulo de kernel simples
- Desenvolvimento de um driver de dispositivo de caractere básico
- Modificação de arquivos de Device Tree
- Depuração de problemas do kernel no BeagleBone Black
12. Melhores Práticas e Resumo
- Estilo de codificação do kernel
- Escrita de drivers mantiveis
- Armadilhas comuns no desenvolvimento
- Recursos de documentação do kernel
- Fluxo de trabalho de contribuição open-source
- Revisão de conceitos-chave
- Perguntas e respostas
- Próximos passos para o desenvolvimento do kernel Linux
Requisitos
Familiaridade básica com o uso de um sistema GNU/Linux
14 Horas
Testemunhos de Clientes (2)
O conhecimento do instrutor. Ele foi capaz de responder a todas as minhas perguntas, inclusive sobre nossa plataforma. Ele também continuou ajudando até que todos nós entendêssemos o material.
James O'Donnell - Tennant Company
Curso - Embedded Linux Kernel and Driver Development
Máquina Traduzida
I liked the hands-on nature of it.
Maurice Egan
Curso - Embedded Linux Kernel and Driver Development
Máquina Traduzida