This shows you the differences between two versions of the page.
|
lkd [2024/05/21 19:22] 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 iintroduction 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. | + | 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: | What is this summer school about: | ||
| Line 7: | Line 7: | ||
| * learn about the Linux kernel development environment | * learn about the Linux kernel development environment | ||
| * get hands on experience with real hardware using an NXP i.MX8 board | * 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 | + | * create a Linux kernel driver for a simple device connected on a standard bus |
| == Team == | == Team == | ||
| - | * Iuliana Prodan | + | * [[https://www.linkedin.com/in/iuliana-prodan-254a135a/ | Iuliana Prodan]] |
| - | * Laurentiu Mihalcea | + | * [[https://www.linkedin.com/in/lauren%C8%9Biu-cristian-mihalcea-6723aa237/ | Laurentiu Mihalcea ]] |
| - | * Daniel Baluta | + | * [[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 | ||