Lecture 1: Getting Started
Lecture Details :
The course is intended for beginners and is structured as a series of short, focused, hands-on lessons that teach you how to program embedded micro-controllers in C.
I've designed this course not just to be watched, but to follow it along on your own computer. In the "Getting Started" Lesson 0, I show you how to download and install the free evaluation version of IAR EWARM and how to order the Stellaris/Tiva LaunchPad ARM Cortex-M4 board (for just $12.99). The board is optional, as I show how to use the instruction set simulator.
My goal is not just to teach C--other courses do it already quite well. But there are virtually no courses that would step down to the machine level and show you exactly what happens inside the embedded processor.
So, starting from the next lesson-1 you will actually see how the ARM Cortex-M processor executes your code, how it manipulates registers, and how a computer can "do" things in the real world, such as turn on and off an LED.
This deeper understanding will allow you to use the C language more efficiently and with greater confidence. You will gain understanding not just what your program does, but also how the C statements translate to machine instructions and get a sense for how fast the processor can execute them. Also, you will get some familiarity with the ARM Cortex-M core, which will look really good on your resume.
The course is just beginning, so it's a good time to join. Stay tuned...
Links used in this lesson:
IAR EWARM download: http://www.iar.com/en/Service-Center/Downloads/
TI Stellaris/Tiva LaunchPad board: http://www.ti.com/tool/ek-tm4c123gxl
YouTube playlist of the course:
Course Description :
Getting Started - Counting - Flow of Control - Variables and Pointers - Blinking the LED - Preprocessor and volatile - Bit-wise operators in C - Arrays and Pointer Arithmetic - Functions and the Stack - Modules, Recursion, AAPCS - Stack Overflow and Other Pitfalls of Functions - stdint.h and mixing types - structures and CMSIS - startup code part - interrupts