Entrar em Contato

Programa do Curso

Introdução

  • História do Unix/Linux
  • Software Livre
  • Filosofia do Unix

AMBIENTE DE PRÁTICA NO HOST

  • Praticar com GNU/Linux
    • arquitetura
    • shell
    • permissões
    • FHS (padrão de hierarquia de arquivos)
    • links hard/soft
    • UID/GID real/efetivo
    • escaloner de processos (scheduler)
    • processo/tarefa/thread
    • IPC simples/avançado
      • pipes
      • signals
      • filas de mensagem
      • semáforos
      • memória compartilhada
      • sockets
      • select/poll
    • Técnicas de IPC a evitar
  • Configuração do Linux no host
    • Yocto/ELDK (ferramentas cross/target, bibliotecas, pacotes)
    • Emulação de terminal
    • Servidores (DHCP, tftp, NFS)

AMBIENTE DE PRÁTICA NO ALVO (TARGET)

  • Arquivos necessários para executar algo na placa
    • configuração JTAG/BDI
    • u-boot (checkout, config, build)
    • kernel (checkout, config, build)
    • rootfs
    • flat device tree
  • compilar/executar o aplicável acima na placa alvo
  • Vários rootfs
    • CRAMFS
    • ramdisk
    • MTD
    • JFFS2
    • roEXT2
    • ubi
  • compilar/executar o aplicável acima na placa alvo
  • Comparação de sistemas de arquivos raiz (root file systems)
  • Debugging
    • ferramentas simples
    • local/remoto
    • user/kernel
    • gdb
    • gdbserver
    • JTAG/BDI (opcional)
  • Profile
    • gprof
    • gcov
    • oprofile

TEMPO REAL (REAL-TIME)

  • Pré-requisitos
    • interrupções
    • código reentrante
  • Linux em tempo real
    • pontos de pré-empilhamento explícitos/implícitos
    • patch de pré-empilhamento em tempo real
    • kernel totalmente preemptivo
    • extensões hard real-time
  • Adeos/Xenomai
    • patch adeos
    • xenomai
    • patch/config/build do kernel
    • executar na placa

LANÇAMENTO DE SOFTWARE

  • administração
  • desenvolvimento
  • como reproduzir um lançamento de software?

VARIOUS

  • getopt
  • endianess
  • folhas de dicas (cheat-sheets)

Exceto onde indicado em contrário, o conteúdo deste curso está licenciado sob Atribuição-NãoComercial-CompartilhaIgual 4.0 Internacional (CC BY-NC-SA 4.0).

Requisitos

  • Conhecimento básico do uso de um sistema GNU/Linux (por exemplo, Ubuntu) como usuário final em espaço de usuário (user space)
  • Conhecimento básico de um shell de linha de comando
  • Conhecimento básico de desenvolvimento em espaço de usuário (user space)/aplicação com GNU/Linux
  • Conhecimento básico sobre processadores embarcados e placas de desenvolvimento
  • Conhecimento básico de programação em C
  • ... ou receio de aprender o acima mencionado
 35 Horas

Número de participantes


Preço por participante

Testemunhos de Clientes (3)

Próximas Formações Provisórias

Categorias Relacionadas