Notes
Intro to Embedded
- #1 - Welcome
- #2 - Care and feeding instructions
- #3 - Development Environment
- Suggested tutorial for the command line
- Videos on setting up a VM:
Installing VMWare Player and Debian VM
Configuring a VMWare Player's virtual machine
Programming in C
Linux Programming
- #6.1 - Threads and Processes
- #6.2 - Synchronization
- Synchronization Part 1 - Background (pre-recorded, 18 min)
- Synchronization Part 2 - Semaphores(pre-recorded, 16 min)
- Synchronization Part 3 - Classic problems (pre-recorded, 10 min)
- #6.3 - Linux programming or in colour
- Linux programming examples from slides
- YouTube videos on Linux programming (by Dr. Brian)
- Processes (Fork & Exec)
fork(): Create a process
exec(): Replace current program with another
fork() and exec() - Threads (pthreads)
#1-Introduction: Create a single thread
#2-Multiple threads: Passing data in/out using a struct with numerous threads
#3-Dynamic memory: Passing data in/out of thread function using dynamically allocated memory - Synchronization
Synchronization using mutex
- Processes (Fork & Exec)
Debugging
- #8 - Debugging w/ GDB & VS Code or in color
- Debugging guide covers how use GDB and VS Code for graphical debugging
- Examples code for debugging
- Videos
GDB Cross Debugging
GDB Cross Debugging seg faults
Graphical cross debugging with Eclipse
Dynamic memory debugging usingvalgrind
tool
A2D, PWL & Noise
Profiling & Linux File System
- #8.5 - Profiling or in color
- Examples code for
mtrace
and profiling
- Examples code for
- #9 - Linux file system or in color
Bit Twiddle
- #13 - Bit Twiddling or in color
- Book appendix describing Bitwise operations (PDF)