| Week | Lecture | Laboratory | Notes |
| Week 01 - 02 |
Course Introduction
Introduction to Computer Systems
Hardware (CPU, input, output)
Software (Kernel, OS, userspace)
Numbers & Logic
Introduction to Computer Programming
Algorithms: instruction sequencing
Flow-charts: visual representation
Interpreters ⇒ scripts
Compiler and Linkers ⇒ binary executables
Introduction to C language
Basic code structure (syntax)
Function and code-block
Creating first executable binary
Syntax (language) and semantic (decision logic) errors
Simple debugging
| | |
| Week 03 |
Introduction to C language (cont.)
Variables and Operators
Data processing: equations and tasks
| | |
| Week 04 | |
-
[DEVELOPMENT WORK]
my1barepi: t08_uart
my1barepi: t09_bluetooth
| |
| Week 05 |
-
Timer access
Interrupt Access
|
-
[DEVELOPMENT WORK]
my1barepi: t10_gsm
my1barepi: t11_gps
my1barepi: t12_rtc
| |
| Week 06 | | | |
| Week 07 | |
-
[DEVELOPMENT WORK]
system integration
|
Mid-term Examination (20%)
|
| Week 08 | |
-
[DEVELOPMENT WORK]
system integration
| |
| Week 09 |
Embedded OS on Raspberry Pi
running Raspbian Linux
basic I/O access
| | |
| Week 10 |
Embedded OS on Raspberry Pi
|
-
[PREPARATION WORK]
make sure avahi/mdns is running on pi
make sure bonjour/avahi/mdns is available on host
[DEVELOPMENT WORK]
remote access using putty
my1codelib: run custom server
my1linuxpi: run gpio http server
| |
| Week 11 | | | |
| Week 12 | | | |
| Week 13 | | | |
| Week 14 | | | |