

課程目標
1.了解業界如何開發嵌入式產品與生產
2.如何建構一個完整的嵌入式Linux系統
3.熟悉嵌入式系統開發流程要領與開發工具
課程大綱
1. 嵌入式Linux系統簡介與實務開發方式
2. 開發硬體平台說明
3. 軟體開發平台BSP 解說
4. 深入 GNU make
5. 移植 Open Source
6. Linux Frame Buffer Device & GUI 圖形系統
7. Bootlloader (u-boot開發, init SDRAM, Flash, How to write Driver in U-bot....)
8. Linux 檔案系統 (JFFS2, CRAMFS, YAFFS,UBIFS...)
9. Linux MTD 裝置
10. GNU toolchain (Shared vs. Static Library, Linker Script, ELF Format, ar, objcopy, objdump, nm, libtool,etc. GCC Compiler . GDB,..)
適合對象
1. 不需具備Embedded Linux基礎,有志投入Embedded系統技術領域發展者。
2. 學習Linux程式開發技巧與Embedded實作者。
3. 已在相關領域,欲再增強本身專業技能者。
4. 需具備C語言基礎,想要從事Linux程式開發者。
職涯方向
嵌入式設計師 、韌體工程師 、資訊家電設計師、網路應用程式設計、Linux平台驅動程式
課程資訊
‧開課日期請見上方最新開課資訊
‧課程時數及課程費用請直接填表索取報名表
早鳥優惠方案請見報名表
‧優惠方案1:艾鍗超值金鑽卡會員,報名課程可享9 折優惠價。
‧優惠方案2:艾鍗企業VIP會員可享課程85 折優惠價。

|
|
|
|
此門課是為了進入嵌入式Linux開發的預備課程,要在Linux作業系統開發,對Linux這套作業系統的操作環境須要有一定的熟悉度,包含Linux系統架構、檔案系統結構、指令操作、網路設定、常用伺服器 建置等。
|
| |
- 開發平台硬體Raspberry Pi 3
- 套件安裝管理及Linux常用指令
- 套件安裝 dpkg及用法
- 套件安裝 apt-get及用法
- 套件安裝 apt-cache及用法
- 網路配置
- 服務配置 -啟用SSH
- 常用指令
- 開機重啟 命令
- Linux相關指令分類
|
- 檔案結構與檔案系統
- 檔案類型 與副檔名
- 權限
- 檔案系統 類型
- 系統結構
- 硬碟分割
- 使用者帳號管理
- 伺服器安裝與設定
|
|
|
|
|
|
|
了解嵌入式系統架構並能進行軟硬體系統的整合、移植與開發。
在拿到一般嵌入式 BSP後懂得如何開始,會知道如何進行核心組態與編譯, Boot loader 編譯以及Root File system建立等。 能熟悉GNU Toolchain的使用,包含GNU AutoTools與Makefile的撰寫。熟悉Open Source 程式與函式庫的移植技巧 。 課程利用Raspberry Pi 開源硬體,讓你從空的SD card,從無到有建構自己的嵌入式Linux 系統並能使板子能開機 (Board bring up)。在Linux系統建立完成之後,教你開發 Linux Pthread、Socket及File (Device) I/O的系統程式。最後,以嵌入式Linux常見的產品,如IPCam、Wi-Fi Router、NAS,手把手教你這些功能是如何被實現的。
|
| |
- 嵌入式系統軟硬體架構與開發流程
- 嵌入式 Linux BSP 建立 :
- 安裝 Toolchain 與專案編譯環境設定
- Boot loader 簡介與U-boot 編譯與使用
- Linux Kernel 配置與編譯
- Root filesystem 建立-使用buildroot/Yocto
- Flash Layout 配置與Linux MTD
|
- Open source 程式移植
- gcc 常用 編譯參數說明與最佳化
- Make、 Makefile 說明
- GNU Build System- Automake
- BusyBox
- 嵌入式Linux實作整合應用
- Media Player:Porting MP3 Player
- NAS: Porting SAMBA
- Wi-Fi Router:Wi-Fi Driver, hostapd, dhcpd, bridge, ...
- IP Camera:Porting Streaming server
|
|
|
|
|
|
|
不管你是要自己撰寫或移植,這都是資深嵌入式系統工程師的必修課。
熟悉Linux驅動程式架構並能實際動手撰寫Linux 核心底層的驅動程式。 了解如何撰寫Linux硬體驅動程式,配合Raspberry Pi 硬體實戰 GPIO Driver、Linux中斷處理、UART Driver、SPI Driver、I2C Driver、ADC Driver等Driver。
|
| |
- 字元裝置Driver
- Linux Misc Device
- Linux GPIO 驅動程式 for LED, Button,Relay
- Raspberry Pi 3 功能說明與BCM283x 使用說明
- Pi 擴充卡硬體功能介紹與電路圖接腳說明
- Linux 中斷註冊 & 中斷控制器HAL層架構
- Pi 擴充卡硬體功能介紹與電路圖接腳說明
- Bottom Halves (Tasklet & Work Queue)
- 進階字元Driver:
- Non- blocking I/O : 使用Wait Queue & completion 機制
- kernel 對UserSpace通知: SIGIO 信號非同步通知,call_usermodehelper()
|
- Kernel Timer List (Jiffies, timer ticks) for LED 閃爍
- Linux Serial port 驅動程式 for Bluetooth 模組
- Linux Platform Device & Platform Driver 架構
- Linux Device Tree
- Linux SPI Client驅動程式 for ADC Driver (MCP3008)
- Linux IIO Driver(Linux Industrial I/O Subsystem)
- Linux SPI Bus master 驅動程式 for BCM2835 SPI controller
- Linux I2C Client驅動程式 for EEPROM
- Linux I2C Bus master驅動程式 for BCM2835 I2C controller
- Linux User Space Driver - BCM2835 C I/O Library
|
|
|
A.嵌入式影像辨識
|
此門課是為了讓學員 可以運用嵌入式與最夯的影像辨識做結合,使用Raspberry Pi 3實作影像辨識,包含環境搭建 (設備/驅動)。
|
| |
- Raspberry Pi + WebCam
- OpenCV 移植 (驗證 & 範例)
|
|
|
|
|
