Firmware programming in C - understanding and implementing bootloader and monitor programs
Course
In Carshalton
Description
-
Type
Course
-
Location
Carshalton
-
Duration
5 Days
This course helps attendees to develop an understanding of bootloaders, their design and use, as well as monitor programs. The bootloader section will cover bootloading by various mechanisms e.g. from external flash memory, over serial links such as RS232, ethernet TCP/IP and ( as a tailored option) over CAN. The monitor section will be based on the open source uMon monitor. Suitable for: Attendees should have a knowledge of embedded C programming and programming of on chip and off chip peripherals
Facilities
Location
Start date
Start date
Reviews
Course programme
This is a 5 day hands on programming course for experienced C programmers. It is a challenging course that deals with those difficult firmware issues that need to be solved to "get an embedded application" project "up and running". The target platforms will be ARM Cortex M3 / ARM 7 platforms.
Note: the course can be taught using other target platform supported by the IAR Embedded Workbench if required
This is a taught course with labs, with a split of about 40% teaching and 60% labs.
Course Benefits
This course helps attendees to develop an understanding of bootloaders, their design and use, as well as monitor programs. The bootloader section will cover bootloading by various mechanisms e.g. from external flash memory, over serial links such as RS232, ethernet TCP/IP and ( as a tailored option) over CAN. The monitor section will be based on the open source uMon monitor implementation
Course Contents
Overview of board startup and bootloader mechanisms
- board startup and board configuration tasks
- bootloader basics
- running code out of RAM or out of ROM/FLASH or both
- memory configuration, memory management and bootloaders
- bootloading over a network
- file compression and file de-compression methods
- checking files for correctness and authenticity
- Design of a simple bootloader for a standalone, operating system free and file system free target
- bootloading over an RS232 connection
- bootloading over ethernet TCP/IP using TFTP
- bootloading over ethernet TCP/IP using HTTP
- bootloading over USB
- bootloading over CAN
- timers and timer interrupts
- SD/MMC cards
- Compact Flash (CF) cards
- FAT16 filesystem
- FAT32 filesystem
- FAT16 and FAT 32 filesystem APIs
- Survey of some other flash filesystems
- booting from "on chip" flash memory
- booting from "off chip" flash memory
- booting from a flash memory card
- Structure and design of MicroMonitor (uMon)
- Monitor initialisation process
- Basics of shells and command line interfaces
- Overview of the uMon command line interface
- Overview of uMon's Tiny Flash File System (TFS)
- File/Data transfer in uMon via the Xmodem and TFTP protocols
- Developing and debugging applications using uMon
Firmware programming in C - understanding and implementing bootloader and monitor programs