1131 Embedded Operating Systems 嵌入式作業系統 Lab & Homework
NYCU EECN30062
- Ubuntu 22.04
- Raspberry Pi 4 Model B
Prepare cross development environment for Raspberry Pi, and be familiar with Raspberry Pi.
Download and flash Rpi image. Then connect to the Internet.
Install the required dependencies and toolchain.
Then, download the Raspberry Pi kernel sources using git to build your own OS image.
撰寫 GPIO Driver ,並在程式中利用此 driver 控制 GPIO 腳位。
Virtual Device and its Driver.
實作 Driver 的 read()、write(),並與之互動。
- Lab 4 簡易名字跑馬燈 Demo
Process programming (fork(), wait(), waitpid(), etc) and Socket.
- Lab 5 東方快車 Demo
Semaphore, Mutex, Pipe, Shared Memory.
透過 Semaphore 來處理同時存取造成的 Race Condition。
- Lab 6 Web ATM Demo
Signal, Timer, Shared Memory.
利用 SIGUSR1 通知另一 Process 去讀取 Shared Memory。
- Lab 7 終極密碼 Demo
完成外送管理系統 CLI,並和 Driver 互動,以使用 GPIO 控制 LED Array 及 7-Seg。
利用 Socket 將 Hw1 改為連線版本。Demo
利用 Process 將伺服器改成多人連線版本。利用 Shared Memory 紀錄送達時間,並利用 Semaphore 避免 Race Condition。
Demo