Embedded Programming Workshop Day 1
This is day one of a two day class on embedded programming. Pre-registration (in addition to your your conference registration) is required.
We will be programming a STM Arm chip with no operating system. This will be bare metal programming. For the class we will be using a NUCLEO-F030R6 board which contains the STM Chip, a USB/Serial interface, flash programmer, and debugger. In other words a development system on a board.
The first hour will be an overview of the class and getting the hardware setup.
In the second hour we will cover what the compiler does behind the scenes. What the output of the pre-processor looks like and what assembly language is.
During this lesson we will discover an interesting fact. The program:
#include <stdio.h>
int main() {
printf("Hello world!\n");
return(0);
}
does not call "printf". The compiler optimizes it so that printf is silently replaced with puts.
The rest of the class discusses the basics of embedded programming. For example, we blink the led. That's the "Hello World" of embedded system.
We will be doing I/O using the serial port and writing directly to the device.
We will continue with advanced concepts including interrupts and advanced linker usage on day two.