Embedded Operating Systems Development: From Project to Implementation
Tuesday, August 27 • 2:15 PM - 4:45 PM
Location: Room 203
Badge Type: Paid Conference
The workshop is an introduction to operational systems design with a heavy hands-on approach. The main idea is to build from the ground up a full-featured kernel, with task scheduler, time management, and a device driver controller. The kernel will be built in the first half of the course and used to teach some of the restrictions on embedded software and real time.
The hardware to be used is composed of microcontroller, LED, LCD, and potentiometer. All programming will be done without external headers, to get the attendees to understand the low-level electronics-programming relationship. Regarding the microcontroller peripherals, the IO ports, PWM output, and the AD converter will be covered, as the timing requirements, to enable the LCD-microcontroller communication.
The second part of the workshop is devoted to the development and testing of a kernel. The kernel development is going to be divided into three steps: tasks creation (though function pointers), task management (using a circular buffer) and timing requirements (using timer interrupt).
In the third part of the workshop, a device driver controller will be presented and the driver's standardization process will be discussed. Examples are going to be presented using the peripherals available (I/O, PWM, ADC, and timer). The final experience will cover a full system using the ADC end of conversion callback to create a task that will get the value and set the PWM in real time, while another task will output the systems information on the LCD.
Keywords: RTOS, real time operating system, kernel development, device driver implementation, LCD, LED, embedded software, IO ports, hands-on, hardware, microcontroller