Embedded Linux系統移植實作上課時數:42小時(遠距+實體)
( Embedded Linux System )
本課程使用業界全新ARM Cortex-A72 六核心開發板,從最底層SOC晶片系統設計理論, 至上層每個環節的系統建置過程,詳細引導學員做循序漸進的學習。著重嵌入式系統設計架構流程,豐富的實例演練以及完整的移植教材讓學員在最短時間內深入淺出了解嵌入式硬體與系統核心的移植技巧與建置,同時針對開放源碼應用程式移植做詳細的探討,並藉由實作專題演練讓學員更進一步了解業界相關產品應用與創新;觀念脈絡的清晰使學員能夠在將來業界遇到不同的嵌入式平台時能夠有能力移植與建置系統。
學員結訓具備技能
-
具備Linux系統安裝與檔案系統架構,熟悉Linux 指令、核心編譯及主機架設。
-
具備嵌入式C語言指標使用技巧、位元運算及檔案I/O探究、計憶體管理使用技巧。
-
具備Linux程式開發技巧與實作能力,System V IPCs 使用、Networking and Socket Programming。
-
掌握從無到有開發自己的嵌入式系統、瞭解Embedded開發各環節障礙及如何克服。
課程說明影片
課程優勢
-
業界專業講師,訓用合一為目標
專業具實務經驗的師資群、業界技術需求為導向的課程規劃,著重培養科技界即戰力人才。
-
CP值最高的嵌入式系統設計課程實作範例演練,紮實你的開發實力
課程以專題實作學習為導向,獨家採用ARM Cortex-A72六核七吋電容觸控開發板及自行技術研發,多元化的周邊模組搭配實作演練,訓後與業界實際開發不脫節
-
由淺入深連貫性教學,完整的學程規劃
Linux系統管理→C語言→Linux程式設計→Embedded Linux實作→嵌入式Device Driver開發實務→Android系統框架移植實務→專題練習,循序漸進連貫性上課,完全能掌握每階段的學習方向。
-
IT產業資深助教,課堂上協助教學
官方line@提供及技術討論區及講師專屬mail提供課程課後問題詢問
-
提供完整的教學錄影檔,方便學員課前預習及請假補課及課後複習
中華行動數位提供上課的教學錄影檔預、複習、補課,學習成效不中斷。學習效益更佳更靈活。
-
業界師資群編譯最新的實作教材
業界資深師資群合作編譯最完整的課程教材,規劃更貼近業界需求課程內容,不斷更新修編。
課程大綱
Ch1 - Introduction to Embedded System & IOT Platforms
(嵌入式系統暨物聯網平台介紹)
-
課程內容
-
嵌入式系統物聯網平台介紹
-
嵌入式穿戴式裝置簡介
-
物聯網平台應用導論
-
半導體製程、封裝概論
-
嵌入式系統硬體架構
-
嵌入式系統晶片設計流程
課程重點
-
嵌入式系統軟體暨物聯網平台架構
-
嵌入式系統軟體設計流程
-
嵌入式系統建置流程(從底層硬體至上層系統軟體)
-
物聯網平台實作
-
物聯網平台實務Demo
Ch2 - ARM Architecture & Introduction to Development Board
(嵌入式系統暨物聯網平台介紹)
-
課程內容
-
CPU架構簡介(ARM MIPS x86 PPC)
-
ARM 公司簡介
-
ARM CPU( RK3399 ) 架構介紹
-
ARM 組合語言
課程內容
-
ARM Cortex-A72 六核系統晶片手冊閱讀技巧
-
實作開發板硬體電路介紹
-
實作開發板軟體BSP介紹
Ch3 - GNU Software
(GNU 工具軟體)
-
課程內容
-
Linux開發工具軟體介紹
-
Makefile 撰寫技巧
-
建置函式庫
課程內容
-
嵌入式系統程式設計撰寫技巧 Embedded C
-
深入嵌入式系統程式執行流程
-
User Space and Kernel Space
Ch4 - Development Tools & Debugging Tools
(嵌入式開發工具軟體& 除錯工具)
-
課程內容
-
嵌入式開發工具軟體& 除錯工具
-
建構物聯網跨平台開發工具(Building your own toolchain)
-
建置嵌入式系統開發環境
課程內容
-
除錯軟體介紹
-
程式以及系統核心除錯技巧
-
除錯硬體介紹
Ch5 - Bootloader
(開機管理程式)
-
課程內容
-
PC BIOS 以及Bootloader(U-boot)介紹
-
移植Bootloader技巧
-
編譯Bootloader
-
深入理解Bootloader核心程式
-
修改 Bootloader
課程內容
-
Bootloader 驅動程式開發
-
SD card
-
LED
-
Button
-
Ethernet
Ch6 - Embedded Linux Kernel
(嵌入式系統核心)
-
課程內容
-
Linux 核心介紹
-
移植嵌入式系統核心技巧
-
設定嵌入式系統核心技巧
-
修改系統核心
課程內容
-
新增硬體裝置
-
最佳化系統核心 (Down size)
-
核心除錯
Ch7 - File System
(檔案系統)
-
課程內容
-
檔案系統介紹
-
建置檔案系統
-
NFS
-
UBIFS
-
JFFS2
課程內容
-
CRAMFS
-
RAMDISK
-
檔案系統設定技巧
-
最佳化檔案系統大小
Ch8 - Open Source Application porting guide
(開放源碼程式移植)
-
課程內容
-
應用程式移植介紹 (Porting)
-
導覽嵌入式系統應用程式
-
應用程式移植技巧
-
常見系統工具程式移植
-
常見函式庫移植
課程內容
-
應用程式移植
-
Webcam
-
GPS
-
USB wifi
-
ADC
Ch9 - Linux Device Driver
(Linux驅動程式)
-
課程內容
-
裝置驅動程式介紹
-
編譯系統核心模組
-
簡易驅動程式撰寫
-
Button
-
LED、溫溼度感測器、大氣壓力、三軸加速度
課程內容
-
新增驅動程式至開發板
-
RK3399 2D硬體驅動
-
RK3399 3D硬體驅動
-
RK3399 影音解碼硬體驅動
-
1.
具備Linux 程式開發基礎,有志投入Embedded系統技術領域發展者。
-
2.
學習Linux程式開發技巧與Embedded實作者。
-
3.
已在相關領域,欲再增強本身專業技能者。
-
-
嵌入式軟體工程師
-
手持裝置開發工程師
-
驅動程式工程師
Embedded Linux實作應用範例
-
第一階段
-
實作範例
-
Bootloader階段驅動LCD液晶螢幕
-
Bootloader階段驅動LED
-
Bootloader階段驅動Button
-
Bootloader階段驅動SD card
-
移植新版Bootloader
實作範例
-
開機顯示圖像至LCD螢幕
-
開機階段控制LED燈號
-
開機階段判斷按鍵觸發更換螢幕圖像
-
Bootloader新增指令
-
製作Bootloader patch 檔
-
第二階段
-
實作範例
-
建置新版Toolchain
-
修改MTD
-
移植 LCD
-
移植觸控螢幕
-
移植RTC晶片
-
嵌入式Linux Kernel選單設定技巧演練
-
最佳化Linux Kernel 大小
-
Linux Kernel開機圖示更改
實作範例
-
移植新版Linux Kernel 3.5
-
修改Nand Flash
-
移植網路晶片
-
移植音效晶片
-
製作Linux Kernel patch檔
-
修改Linux Kernel 新增System Call
-
新增硬體裝置驅動程式至Linux Kernel
-
第三階段
-
實作範例
-
Busybox 檔案系統製作
-
函式庫移植
-
驅動程式移植
-
視訊晶片驅動移植
-
開發板 ADC 類比轉數位驅動程式移植
-
溫度感測器驅動移植及應用程式撰寫
-
系統應用程式移植
(thttpd php vsftp udhcpc wireless tool…etc)
實作範例
-
移植新版Busybox
-
應用程式移植
-
ZD1211B無線網卡驅動移植
-
開發板LED Button驅動程式移植
-
圖形化應用程式移植(minigui qtopia…etc)
-
一般應用程式移植
(mplayer webcamtest gpstest…etc)