Embedded Linux System Programming and Realtime - Inhouse training at the customers' place of business
This 5-day-training consists on two parts.The first parts deals with the operation system programming interface of Linux as well as its application in programming embedded systems.In the second part you'll learn the components of realtime linux systems as well as it's use in the project.
After this training you're able to use the Linux-API independently in embedded realtime Linux projects.
Every part of the training consists of the theoretical lecture with practical examples andan exercise.
The exercises will be performed on an embedded board. All necesary hardware parts will be delivered including the cross development toolchain.
Through the training you'll implement an application which will use hardware inputs and outputs by means of the /sys-FS, communicate with shared memory and message queues and run as realtime task on the RT-preempt linux system.You'll be able to analyse the chain from the interrupt till the task responsein the linux system and be able to recognize latencies. All exercises will be made directly on the embedded board AM-335x. The participants will receive the embedded board as well as an USB hard disk with the linux host installation which was used during the training.In this way everything learnt can be reused and tested again after the training.
Developers and system designers.
Basic knowledge in linux will be assumed as well as good programming knowledge in C.
Mr. Andreas Klinger, IT-Klinger
- File interface --- virtual file system
- Parts of the Linux kernel, virtual file system (VFS)
- regular files, directories, device drivers, named pipes, sockets
- read, write, positioning, polling
- i-node-watch, splicing, memory mapping
- linux file systems, i-nodes, superblock; ext file systems
- flash file systems: jffs2, ubifs
- Processes, threads and inter process communication
- Generating processes and threads, status requests, zombies, signal handling
- shared memory, semaphore, message queue
- multithreaded applications
- mutex, futex, read-write-lock, barrier
- hrtimer framework: architecture and how it works; posix timer
- Realtime and the mainline kernel
- hardware and software realtime requirements; criterias for realtime behavior
- scheduling and preemption; realtime tasks, batch tasks, interrupts and soft-irq's
- synchronization primitives: mutex, priority inheritance mutex, spin lock
- priority inversion, locking preemption and/or interrupts
- Hard realtime with the RT-Preemption-Patch
- Threaded interrupts and soft irq's
- usage of realtime tasks in user space
- configuration and installation
- assessment of realtime behavior; latency measurement
- ftrace - tracing framework
- How does it work?
- histogram tracer: interrupt and/or preemption locks, wakeup times, interrupt latencies
- tracing events: scheduling switch, timer, gpio's
- timing analysis, latencies in applications
- options, marker, usage in applications and drivers
- trace-cmd and kernel shark
Training term: 5 days course
Price: EUR 7.000,00 including accommodation, travel fees, speaker fee, hardware (single board computer with Linux)
Number of participants: up to 10
Phone: +49 6131 9221-32