課程著重在嵌入式系統架構開發環境的整合與應用,讓學員進入嵌入式系統平台的AI人工智慧學習大門深入淺出。並且強調業界實務為導向的課程內容,讓學員可以從中瞭解全盤的相關應用與技術技巧及範例練習訓後接軌業界。課程的階段性銜接脈絡清晰、循序漸進,有助於學員在最短的時程內完整吸收課程的精華,快速踏入嵌入式領域並擁有專業的就業競爭力。
學員結訓具備技能
- 嵌入式 Linux 是目前最熱門的開發系統,透過有循序漸進的實務教學,您將會具備Linux 程式開發技巧與實作能力,例如 : 檔案 IO 控制、多執行緒 Pthread 程式、網路 Socket 通訊程式等程式開發能力與技巧。
- 掌握嵌入式系統開發平臺,並了解如何善用開發工具建構一個完整的嵌入式Linux系統,配合開發板與周邊模組等實作,進行系統架設、 軟硬體系統的整合、底層程式開發。
- 讓您能夠具備開發 Linux 驅動程式的能力,包含 DeviceTree、 硬體中斷、GPIO、Input Device、 HardwareMonitor、PWM、I2C、MIPI-DSI LCD 等驅動程式。
- 了解 Embedded Linux BSP 架構及系統建立,可以根據應用客製化自己的嵌入式系統平台。
課程專題實作
課程大綱
Ch1 - 嵌入式 Linux系統程式設計(Linux Programming)
課程內容
- Linux System Introduction
- Linux Installation & Design hard disk layout
- I/O Routines
- File and Directory Maintenance
- Handling Error
- Processes & Signals
- InterProcess Communication
課程內容
- Linux系統的使用
- 系統指令介紹與操作
- GNU工具鏈的使用
- Linux程式開發技巧與實作
- Nerwork Programming
- POSIX Thread
- Shell programming
預期效果
- 瞭解Linux作業系統架構
- 具備安裝Linux作業系統能力
預期效果
- 具備操作Linux作業系統能力
- 具備開發Linux系統程式能力
Ch2 - 嵌入式linux Buildroot 開發實戰
課程內容
- RK3588 AI 平台介紹
- Embedded Linux與SOC關聯的基本知識
- Embedded Linux SOC開機知識
- Embedded Linux 開發必用工具
- U-Boot
課程內容
- Embedded Linux Kernel
- Embedded Linux Driver Basic
- Embedded Linux RootFS - Buildroot
- Embedded Linux AI Basic
Ch3 - 嵌入式Device Driver開發實務
課程內容
- Linux驅動程式初體驗
- 認識Linux驅動程式
- 驅動程式安裝與測試
- 驅動程式的編譯流程
- 驅動程式的整合
- Linux Device Driver應用實戰(1)
- LED Driver - GPIO Subsystem
- Button Driver - Input Subsystem
- Temperature Sensor Driver – Hardware Monitor Subsystem
- EEPROM Driver – I2C Subsystem
課程內容
- Linux驅動程式基礎知識探索
- Linux驅動程式的基石 - 字元驅動程式(Character Driver)
- 探測驅動程式流程
- ARM SOC Linux驅動程式架構(2) - DeviceTree
- ARM SOC Linux驅動程式架構(1) - Platform Driver
- Linux Device Driver應用實戰(2)
- V4L2 Client Driver - V4L2 Subsystem
- MIPI DSI Panel Driver - DRM Subsystem
- Linux驅動程式初體驗
Ch4 - Android系統框架移植實務
課程內容
- Introduction to Android
- Android Stack Architecture
- Android Software Development Kit
- Android Kernel & Driver Porting
- Android Build System
課程內容
- Android介紹
- Android 架構
- Android SDK分析與實作
- Android核心與驅動移植技巧
- Android 編譯系統
C語言程式設計 - 數位課程
課程內容
- Introduction to C
- Looping, Branching and Jumps
- Functions
- Arrays, Pointers and Character String
- Storage Class
課程內容
- C語言程式語法與基本程式概念
- File I/O
- Structures
- Bit Manipulations
- The C Preprocessor
預期效果
- 具備C語言程式開發能力
Embedded Linux Buildroot實作應用範例
第一階段 - Embedded Linux 系統 基本使用
實作範例
- Buildroot Linux 系統練習
- SysFS – LED 控制, CPU Thermal Sensor
- GPIO – LED / Button Control
- GPU – GLMark2 測試程式
- USB – OTG 功能 (MassStorage Function)
實作範例
- 開機顯示圖像至LCD螢幕
- RS232 – Serial Port Program (RS232/RS485)
- Multimedia – Video / Audio Control
- Camera – MIPI Camera / USB Camera Control
- PWM – Fan Control
- Buildroot Linux 系統練習
第二階段 - 開發環境架設
實作範例
- 虛擬環境架設 – Docker 安裝 與 基本使用技巧
- 架設開發環境 – Cross Compile Toolchain 安裝
實作範例
- 交叉編譯練習 – 移植 madplayer (mp3 播放器)
第三階段 - Boot-loader
實作範例
- U-Boot 的 編譯 與 更新
- U-Boot 一般指令練習
- U-Boot eMMC /SD / LED / Button等低階指令控制
實作範例
- U-Boot 指令設計
- 手動 Linux 開機
第四階段 - Linux Kernel與Linux Driver
實作範例
- 核心 (Linux Kernel)
- Linux Kernel的編譯與更新
- 新增 / 移除 Linux Kernel Function
- Linux Kernel Menuconfig 設計
- 基本 Linux Driver 編譯練習
- Linux Driver 的 安裝 與 測試
實作範例
- 驅動程式 (Linux Driver)
- DeviceTree 的 編譯, 修改 與 更新
- 基礎驅動程式開發
- LED
- I2C EEPROM
- 溫濕度感測器
- PWM LCD背光
- 輸入裝置(Input Device)
- MIPI-DSI
- 核心 (Linux Kernel)
第五階段 - AI & Embedded Linux
實作範例
- AI模型開發環境架設(AI ToolKit的安裝)
- AI ToolKit的基本技巧(Model模擬與發佈)
- 基本AI模型的實做(Letnet Model - Model Training/Test)
實作範例
- 進階AI模型的實做(RestNet Model - Model Training/Test)
- Yolo編譯與測試



