Curso Linux Embedded Linux Systems

  • Linux & Suse

Curso Linux Embedded Linux Systems

32 horas
Visão Geral

Curso Linux Embedded Linux Systems, Desenvolva aplicativos Linux embarcados usando linguagem C - garanta um design robusto e comportamento em tempo real. O desempenho e a estabilidade de um sistema dependem, em última análise, de quão bem você usa os recursos do sistema operacional subjacente. Este Curso Linux Embedded Linux Systems, enfoca a interface entre aplicativos e o kernel Linux e a especificação POSIX em particular. Os participantes aprenderão sobre programação multithread, gerenciamento de memória, sinais e comunicação entre processos, incluindo IPC usando soquetes locais.

Este Curso Linux Embedded Linux Systems, é destinado a engenheiros que trabalham em dispositivos Linux embarcados e, portanto, há ênfase em design robusto, uso eficiente de recursos e comportamento em tempo real. Todos os exercícios de laboratório são compilados e testados em uma placa de desenvolvimento embarcada típica. Os participantes aprenderão como configurar o Eclipse IDE para desenvolvimento cruzado, depuração remota e gerenciamento remoto de destino.

Publico Alvo
  • Engenheiros de software e arquitetos de sistemas
Materiais
Inglês + Exercícios + Lab Pratico
Conteúdo Programatico

Developing for embedded Linux

 

  1. The tool-chain: choosing, installing and testing
  2. The Linux kernel: customising and cross-compiling
  3. The bootloader and root file system: the final steps to having a working target board
  4. Embedded development using Eclipse for cross-compiling and remote debug
  5. Application program interfaces: the POSIX standard
  6. Open source licenses: GPL/LGPL, BSD, etc

Files and devices

  1. Files and file-related API: waiting for several things to happen with select() and poll()
  2. Devices: everything is a file. Interfacing with a simple device driver. Using the ioctl()
  3. function to access device-specific operations
  4. Interacting with the kernel through /proc and /sys: an example using gpiolib

Processes

  1. Process life cycle: fork(), exit() and exec()
  2. Scheduling: real-time and non-real-time policies; setting priority and niceness

Memory

  1. Virtual memory and its consequences
  2. Allocating from the heap and stack
  3. Mapping memory using mmap

Signals

  1. Standard and real-time signals
  2. Writing robust signal handlers
  3. Signal masks and how to handle signals synchronously

Inter-process communication

  1. Pipes
  2. Shared memory
  3. Semaphores
  4. Message queues
  5. Sockets: internet and UNIX (local). Stream and datagram connections

POSIX Threads

  1. Thread life cycle: pthread_create(), pthread_exit(), pthread_join()
  2. Scheduling threads: real-time and non-real-time
  3. The thread stack and how to set the stack size

Thread synchronisation

  1. Synchronisation using mutexes; priority inversion and priority inheritance
  2. Condition variables: producer and consumer threads
  3. Thread cancellation and clean-up operators
  4. Signals and threads

Time and timers

  1. Timer accuracy: high-resolution timers, POSIX clocks and timers
  2. Measuring time
  3. Periodic tasks
TENHO INTERESSE

Cursos Relacionados

Curso Linux Bash Shell Programming

32 horas

Curso Linux Suse SLE200 Transitioning Enterprise 15

8 Horas

Curso Enterprise Server Deployment SLE211v15

16 horas

Curso SUSE Enterprise Server 15 Administration SLE201v15

32 Horas

Curso Linux Suse Enterprise Server 15 Adm Advanced SLE301v15

32 horas

Curso Linux Suse SLES for SAP Applications HA Deployment and Configuration

24 Horas

Curso Suse Linux Protegendo Enterprise Server 12 SLE341

24 Horas