Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Introduction
- History of Unix/Linux
- Free Software
- Unix Philosophy
HOST PLAYGROUND
- Playing with GNU/Linux
- Architecture
- Shell
- Permissions
- FHS (File Hierarchy Standard)
- Hard/soft links
- Real/effective UID/GID
- Scheduler
- Process/task/thread
- IPC (simple/advanced)
- Pipes
- Signals
- Message queues
- Semaphores
- Shared memory
- Sockets
- Select/poll
- IPC techniques to avoid
- Host Linux setup
- Yocto/ELDK (cross/target tools, libraries, packages)
- Terminal Emulation
- Servers (DHCP, TFTP, NFS)
TARGET PLAYGROUND
- Files needed to run something on the board
- JTAG/BDI configuration
- U-Boot (checkout, configuration, build)
- Kernel (checkout, configuration, build)
- Root filesystem (rootfs)
- Flattened device tree
- Build and execute applicable components from the above on the target board
- Various root filesystems
- CRAMFS
- Ramdisk
- MTD
- JFFS2
- roEXT2
- UBI
- Build and execute applicable components from the above on the target board
- Comparison of root filesystems
- Debugging
- Simple tools
- Local/remote
- User/kernel
- GDB
- GDBserver
- JTAG/BDI (optional)
- Profiling
- Gprof
- Gcov
- Oprofile
REAL-TIME
- Prerequisites
- Interrupts
- Reentrant code
- Real-time Linux
- Explicit/implicit preemption points
- Real-time preemption patch
- Fully preemptive kernel
- Hard real-time extensions
- Adeos/Xenomai
- Adeos patch
- Xenomai
- Patch/configuration/build of the kernel
- Running on the board
SW RELEASE
- Administration
- Development
- How to reproduce an SW release?
MISC
- Getopt
- Endianness
- Cheat-sheets
Except where otherwise noted, content on this course outline is licensed under Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).
Requirements
- Basic familiarity with using a GNU/Linux system (e.g., Ubuntu) as an end user in user space
- Basic familiarity with a command-line shell
- Basic knowledge of user space/application development with GNU/Linux
- Basic knowledge concerning embedded processors and development boards
- Basic C programming knowledge
- …and/or a willingness to learn the above…
35 Hours
Testimonials (3)
The trainer's presentation and way of communicating.
Gianpiero Arico - Urmet Spa
Course - Embedded Linux Systems Architecture
I enjoyed having done full days of courses
Gianluca - Urmet Spa
Course - Embedded Linux Systems Architecture
Maybe more exercises could be better for lerning but the time was to little