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 a standard bus 
 
Team
RSVP
If you have an interest in embedded systems and low level programming please fill in this  form
 
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  
-  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