Notes
Lectures are being recorded; see side-bar for link.
Intro to Embedded
- #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
Building Software & C
-
#4 - Building software (Make and CMake)
- Make and CMake tutorials
- Makefile tutorial - Great introduction to Makefiles
- How to Use CMake,
- Introduction to CMake by Example
- CMake Tutorial.
- Make and CMake tutorials
- #5 - C programming or In B/W
- Optional videos on C programming (in Eclipse) by Br. Brian; useful if new to C:
C Basics: Basics, functions, prototypes, and constants
C Modules: Multiple files in a project, including "private" functions (static)
Eclipse basics: Importing an existing makefile program
- Optional videos on C programming (in Eclipse) by Br. Brian; useful if new to C:
Linux Programming
- #6.1 - Operating System Processes
- #6.2 - Operating System Synchronization
- #6 - Linux programming or in B/W
- YouTube videos on Linux programming (by 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)
- YouTube videos on Linux programming (by Brian)
PWL & Noise
Debugging & Profiling
- #8 - Debugging w/ GDB & VS Code or in B/W
- Debugging guide covers how use GDB and VS Code for graphical debugging
- Videos
GDB Cross Debugging
GDB Cross Debugging seg faults
Graphical cross debugging with Eclipse
Dynamic memory debugging usingvalgrind
tool
- #9 - Linux file system or in B/W
Electronics
Embedded Webserver
- #10 - Node.js or in B/W
- See Node.js in Action (2nd ed) book via SFU Library online for guide to Node.js
Bit Twiddle
-
End