What You Will Learn?
- AVR Micro-controller architecture & it's working - Instruction execution, pipelining, stack pointer & interrupts. Interrupts, interrupt vector table (IVT) and interrupt service routine (ISR), IVT & ISR programming. Setup in-circuit programmer and USB-Serial adapter, flash & configure ATmega328 micro-controller.
- C, AVR assembly programming & implement mixed language projects. Arguments and return values passing from a function to another, how memory & CPU registers are allocated during program execution. How hardware manages program stack and management of local & global variables.
- GPIO Programming, 4x4 keypad interfacing & driver development
- Build environment setup, GNU tools & utilities & build automation using GNU Make
- Prior exposure to computer architecture, digital circuit & C programming is good to have but not mandatory
- Curiosity & enthusiasm to learn
- Development board components, PC & open source software