Curso Linux Embedded Linux Device Drivers

  • Linux & Suse

Curso Linux Embedded Linux Device Drivers

32 horas
Visão Geral

Curso Linux Embedded Linux Device Drivers. Desenvolva drivers de dispositivos Linux para sistemas embarcados - mantenha a independência da plataforma e opções de desenvolvimento cruzado

Objetivo

Após realizar este Curso Linux Embedded Linux Device Drivers você será capaz de:

  • Desenvolvendo para Linux embarcado
  • O núcleo do Linux
  • Módulos do kernel
  • Noções básicas de driver de dispositivo
  • Depuração de kernel
  • Sysfs e processos
  • Filas de espera e conclusões
  • Bloqueio de kernel
  • Funções avançadas de driver de personagem
  • Tempo e temporizadores
  • Interrupções
  • Acessando hardware
  • Compartilhando memória
Publico Alvo
  • Engenheiros de software e arquitetos de sistemas
Materiais
Inglês + Exercícios + Lab Pratico
Conteúdo Programatico

Developing for embedded Linux

  1. Getting and configuring a cross toolchain
  2. Linux bootloaders: U-Boot

The Linux kernel

  1. Where to get the kernel source
  2. Board support packages
  3. Kernel configuration options
  4. Building and loading a kernel

Kernel modules

  1. Writing a module and compiling "out of tree"
  2. Loading and testing on the target
  3. Passing parameters
  4. Modules and the GPL license

Device driver basics

  1. Types of device driver
  2. Different ways for applications to interact with the driver
  3. Character drivers
  4. Building and testing a simple “misc” character device driver

Kernel debugging

  1. Review of printk and the magic sysrq key
  2. Interactive debugging using kgdb
  3. What to do when the board won't boot

Sysfs and proc

  1. Classes of driver: /sys/class
  2. Driver attributes
  3. Extending the proc file system

Wait queues and completions

  1. Waiting for things to happen: wait queues
  2. One-shot events: completions

Kernel locking

  1. Mutual exclusion using kernel mutexes
  2. Spinlocks
  3. Atomic operations

Advanced character driver functions

  1. Notifying events: poll and fasync
  2. Driver specific interfaces: ioctl

Time and timers

  1. Getting the system time: high resolution timers
  2. Delays and sleeps
  3. Kernel timers

Interrupts

  1. Installing an interrupt handler
  2. Synchronising using using spin_lock_irq
  3. Deferred processing using tasklets and work queues

Accessing hardware

  1. Memory regions
  2. Allocating and freeing memory
  3. Overview of device tree and how to extract information from a device tree
  4. Mapping in device memory: ioremap
  5. DMA buffers: coherent and stream mappings
  6. Memory barriers

Sharing memory

  1. mmap: sharing device registers
  2. mmap: sharing DMA buffers
  3. get_user_pages: how to access user memory
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