Programa do Curso

Esboço de Curso

Introdução

  • história do Unix/Linux, licenças, padrões, trabalho com software livre, busca de ajuda, exploração, a filosofia Unix

Especificidades incorporadas

  • Linux no desktop em comparação com Linux em um sistema embarcado, conjuntos de ferramentas cruzados/nativos, conjuntos de ferramentas pré-construídos, sistemas de construção, bibliotecas C,...

Quadro de avaliação

  • Como ele inicializa?, Veja inicializando

Introdução ao Yocto

  • O que é Yocto: Por que usar o YP? O que é YP?, Poky, BitBake, OE-Core, Metadados

O construtor automático YP

  • O que é o YP Autobuilder?, Docker container (pull, launch container)

O fluxo de trabalho YP

  • Introdução
  • Fluxo de trabalho, arquitetura OE
  • Configuração (Usuário, Metadados, Máquina, Política de Distribuição)
  • Fontes
  • Build (busca de código-fonte, aplicação de patch, configuração/compilação/instalação, pseudo, exemplos de receitas, análise/empacotamento de saída, geração de imagem, geração de SDK)
  • Personalização de imagens (introdução, local.conf, IMAGE_FEATURES, arquivos .bb personalizados, grupos de pacotes personalizados)

BitBake

  • História
  • Sintaxe
  • Depuração (nível de depuração, encontrar receitas/imagens/grupos de pacotes, ambiente/tarefas/registro do BitBake, forçar construção/tarefa específica, cleanstate, invalidar carimbo, devshell, explorador de dependência, eliminar todas as instâncias do BitBake, wrapper gráfico do BitBake)

Camadas

  • Introdução, ferramenta bitbake-layers, ferramenta yocto-layer

BSP

  • Introdução, fluxo de trabalho de desenvolvimento de sistema, guia do desenvolvedor BSP (ferramenta bsp)

Núcleo

  • Introdução, fluxo de trabalho de desenvolvimento de sistema, manual de desenvolvimento de kernel (defconfig, defconfig + fragmento de configuração, kmod em árvore, kmod fora de árvore, fdt,…)

Kit de ferramentas de desenvolvimento de aplicativos

  • Introdução, cadeia de ferramentas de desenvolvimento cruzado, Sysroot, plug-in ADT-Eclipse Yocto, emulador QEMU, ferramentas de espaço do usuário
  • Instalando ADT e conjuntos de ferramentas
    • Usando um tarball Cross-Toolchain (Introdução, Construindo/Instalando o tarball Cross-Toolchain, Cross-Toolchain + Makefile/Autotools/Autotools lib + App, receitas)
    • Usando o instalador do ADT (introdução, Web Server, construir imagem + instalador do ADT, configurar + executar o instalador do ADT, adicionar o instalador do ADT ao servidor da web, instalador do ADT no host)

Eclipse

  • Introdução, fluxo de trabalho de desenvolvimento de aplicativos
  • Trabalhando com Eclipse (recursos rootfs, kernel + fdt, rootfs, instalar JDK, instalar Eclipse, configurar Eclipse, instalar Yocto Plugin, Configurar o Yocto Plugin, Criar Projeto Autotooled, Configurando Cross-Toolchains, Construir o Projeto)

Depuração

  • Introdução, gdb, depuração remota gdb, (gdb remoto) Depuração com Eclipse, (remoto) Executar a partir do Eclipse

Perfil/rastreamento

  • Intro, perf, gprof, gcov, strace, ftrace, systemtap, oprofile, LTTng + Eclipse (visualização de dados)

Pacote Management

  • Trabalhando com pacotes, IPK, criando um feed de pacote, instalando um pacote com opkg no destino

Licenciamento

  • Introdução, Adicionar licença personalizada, Conformidade com licença de código aberto

Ferramenta de desenvolvimento

  • Introdução, devtool, meta-cfengine de demonstração do mundo real

Exceto quando indicado de outra forma, o conteúdo e o esboço deste curso estão licenciados sob Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).

Requisitos

Pré-requisitos

  • Familiaridade básica com a utilização de um sistema GNU/Linux (e.g. Ubuntu) como utilizador final no espaço do utilizador
  • Familiaridade básica com um shell de linha de comando
  • Conhecimento básico de programação no espaço do utilizador/kernel com GNU/Linux
  • Conhecimentos intermédios de programação em C
  • Deve ter frequentado Embedded GNU/Linux Systems Architecture (5 dias)  (fortemente recomendado!) a não ser que já esteja familiarizado com o material apresentado nessas formações.
  • Você realmente precisa ter experiência com Embedded GNU/Linux (kernel, espaço do usuário, sistema de arquivos raiz, ferramentas) para seguir o treinamento Yocto.
  • Pode ser útil se você participou de Embedded GNU/Linux Device Drivers and Kernel Internals (5 dias), mas isso’não é realmente um pré-requisito. É suficiente saber como construir o kernel GNU/Linux, drivers de kernel dentro/fora da árvore e o fdt do lado do kernel das coisas para seguir o treinamento Yocto.
  28 horas
 

Número de participantes


Inicia

Termina


Dates are subject to availability and take place between 09:30 and 16:30.
Open Training Courses require 5+ participants.

Declaração de Clientes (1)

Cursos Relacionados

Embedded Linux Systems Architecture

  35 horas

Categorias Relacionadas