This is an old revision of the document!
Embedded Linux Summer School
This summer schools aims to be gentle introduction into Linux Embedded development using i.MX8 family boards as a vehicle.
What is this summer school about:
learn about the Linux kernel development environment
get hands on experience with real hardware using an NXP i.MX8 board
create a Linux kernel driver for a simple device connected on I2C
have fun and c
Team
Iuliana Prodan
Laurentiu Mihalcea
Daniel Baluta
RSVP
If you have an interest in embedded systems and low level programming please fill in this form TBD
Schedule
Location:
Date | Time | Lab name |
July, 8 | 17:00 - 20:00 | Introducation |
July, 9 | 17:00 - 20:00 | “Hello World” |
July, 10 | 17:00 - 20:00 | Device Tree |
July, 11 | 17:00 - 20:00 | Device Drivers |
Overview
There will be four session organized around hands on activities that will take up to 3 hours. Each session will contain a theoretical part (hour) and a practical lab (two hours).
Introduction to Embedded Linux kernel development
setup development environment (cross compiler toolchain)
compile Linux kernel and modules on arm64
build system and configuration options
boot the i.MX8 board
Basics of writing a Linux kernel module
create a simple “hello world” module
learn about printk & friends
userspace vs kernelspace interface
use basics Linux kernel APIs for memory allocation, kernel activities
led skeleton driver & userspace interface (sysfs)
Basics of Device tree
learn how hardware is described in the ARM world
learn how to create a device tree node and associated it with a Linux driver
learn about I2C and GPIO interface
Hardware application
learn how to read hardware specs
learn about Linux kernel subsystems and coding patterns
have fun and create a driver for a real hardware device