fbpx

課程名稱:嵌入式Linux開發實務
課程目標

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 折優惠價。

 

 

 

 

 
FPGA_728x90.gif

 

"course

第一階段   嵌入式Linux系統建置實務
 

此門課是為了進入嵌入式Linux開發的預備課程,要在Linux作業系統開發,對Linux這套作業系統的操作環境須要有一定的熟悉度,包含Linux系統架構、檔案系統結構、指令操作、網路設定、常用伺服器 建置等。

  
 
  • 開發平台硬體Raspberry Pi 3
  • 套件安裝管理及Linux常用指令
    • 套件安裝 dpkg及用法
    • 套件安裝 apt-get及用法
    • 套件安裝 apt-cache及用法
    • 網路配置
    • 服務配置 -啟用SSH
    • 常用指令
    • 開機重啟 命令
    • Linux相關指令分類
  • 檔案結構與檔案系統
    • 檔案類型 與副檔名
    • 權限
    • 檔案系統 類型
    • 系統結構
    • 硬碟分割
  • 使用者帳號管理
  • 伺服器安裝與設定
    • SAMBA
第二階段   嵌入式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 核心底層的驅動程式。 了解如何撰寫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 移植 (驗證 & 範例)
    • 嵌入式 OpenCV
    • 影像處理 電腦視覺導論
    • OpenCV API 介紹 & 功能演練
    • 靜態影像 處理 (影像強化、特偵擷取)
 
  • AI影像辨識 on Raspberry Pi
    • 動態影像 處理
    • 移動事件 辨識
    • 人臉事件 辨識

 

Embeddedlinux driver ARM p1 Embeddedlinux system p1 Embeddedlinux driver p3 Embeddedlinux p4 Embeddedlinux kernel p5 Embeddedlinux joseph p6