C for microcontrollers and memory
Module goal: write C that works with bits, registers and memory safely on a microcontroller.
Status: alpha (experimental) · Approximate time: 210 minutes
Every lesson has content, examples you can run on your computer, practice with a solution, a check for understanding, and a lab. The course code runs and has been checked on a computer; the on-board labs are still waiting for a teaching trial.
| Lesson | Topic | Time |
|---|---|---|
| c-found.m01.l01 | C on a microcontroller | 70 min |
| c-found.m01.l02 | The memory map, stack and heap | 70 min |
| c-found.m01.l03 | Structs, pointers and a ring buffer | 70 min |
End-of-module checkpoint
Section titled “End-of-module checkpoint”- Read the SDK’s
06_raw_register_access.cexample and explain the read-modify-write step, line by line. - Identify whether a variable in an example program lives in the stack, the heap, or static memory.
- Read a real task’s stack counter on the board, and judge with a calculation whether it is still safe.
- Pass every test in the
03_ring_buffer.cexercise, and explain who owns the data in the buffer at each point.
TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0
Content is licensed CC BY-NC 4.0. Reuse it non-commercially and credit the Thai Embedded Systems Association (TESA) every time. · How to cite TESA