Description
The course covers techniques needed to develop substantial assembly language programs as found for example in operating system kernel code, metering and measuring equipment, smart sensor systems, motor and engine controllers, byte code interpreters, device drivers and interrupt handlers. Aspects covered include; Macro programming techniques, Use of linkers, Realising state machine and statechart designs in assembler, Implementing circular buffers, realising data structures in assembler, Assembly language programming of on-chip peripherals such as USARTs, I2C and SPI, A/D, Timers, and external interrupts, Programming and uses of PWM (Pulse Width Modulation) and Capture Compare, Real Time clocks, Watch Dog Timers and power conservation programming techniques.
Company Benefits
Students successfully completing this course will have a sound understanding of advanced assembly language programming techniques such as Macros and use of Linkers. You'll gain a thorough understanding of working with standard on-chip peripherals as well as interfacing off-chip peripherals (including SPI and I2C devices). You'll learn standard assembly language programming techniques for realising state machines and statecharts and for implementing basic multi-tasking strategies.