This shows you the differences between two versions of the page.
lkd [2024/05/20 16:00] daniel.baluta |
lkd [2024/05/22 16:25] (current) daniel.baluta |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | === Embedded Linux Summer School === | + | == Embedded Linux Summer School == |
+ | This summer schools aims to be gentle introduction into Linux Embedded development using [[https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-processors/i-mx-8-applications-processors:IMX8-SERIES|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 a standard bus | ||
+ | |||
+ | == Team == | ||
+ | |||
+ | * [[https://www.linkedin.com/in/iuliana-prodan-254a135a/ | Iuliana Prodan]] | ||
+ | * [[https://www.linkedin.com/in/lauren%C8%9Biu-cristian-mihalcea-6723aa237/ | Laurentiu Mihalcea ]] | ||
+ | * [[https://www.linkedin.com/in/danielbaluta/ | Daniel Baluta]] | ||
+ | |||
+ | == RSVP == | ||
+ | |||
+ | If you have an interest in embedded systems and low level programming please fill in this [[https://forms.gle/YxhNj2cSojc6b3CD8 | form]] | ||
+ | |||
+ | == Schedule == | ||
+ | |||
+ | Location: | ||
+ | |||
+ | * NXP, Campus 6 (near Politehnica) | ||
+ | |||
+ | ^ 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 | ||
+ | * hack on a skeleton driver | ||
+ | |||
+ | === 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 standard embedded busses | ||
+ | |||
+ | === 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 |