課程內容Introduction to Embedded System & IOT Platforms.(嵌入式系統暨物聯網平台介紹)‧嵌入式系統&物聯網平台介紹‧嵌入式穿戴式裝置簡介‧物聯網平台應用導論‧半導體製程、封裝概論‧嵌入式系統硬體架構‧嵌入式系統晶片設計流程‧嵌入式系統軟體暨物聯網平台架構‧嵌入式系統軟體設計流程‧嵌入式系統建置流程(從底層硬體至上層系統軟體)‧物聯網平台實作‧物聯網平台實務DemoARM Architecture ( RK3399) & Introduction to Development Board(ARM 系統架構& 開發板介紹)‧CPU架構簡介(ARM MIPS x86 PPC)‧ARM 公司簡介‧ARM CPU 架構介紹‧ARM 組合語言‧RK3399 Cortex-A72 六核系統晶片手冊閱讀技巧‧實作開發板硬體電路介紹‧實作開發板軟體BSP介紹GNU Software (GNU 工具軟體)‧Linux開發工具軟體介紹 ‧Makefile 撰寫技巧‧建置函式庫‧嵌入式系統程式設計撰寫技巧 Embedded C‧深入嵌入式系統程式執行流程‧User Space and Kernel SpaceDevelopment Tools & Debugging Tools(嵌入式開發工具軟體& 除錯工具)‧跨平台開發工具介紹(Toolchain)‧建構物聯網跨平台開發工具(Building your own toolchain)‧建置嵌入式系統開發環境‧除錯軟體介紹‧程式以及系統核心除錯技巧‧除錯硬體介紹Bootloader (開機管理程式)‧PC BIOS 以及Bootloader(U-boot)介紹‧移植Bootloader技巧‧編譯Bootloader‧深入理解Bootloader核心程式‧修改 Bootloader‧Bootloader 驅動程式開發‧SD card‧LED‧Button‧EthernetEmbedded Linux Kernel (嵌入式系統核心)‧Linux 核心介紹‧移植嵌入式系統核心技巧‧設定嵌入式系統核心技巧‧修改系統核心‧新增硬體裝置‧最佳化系統核心 (Down size)‧核心除錯File System(檔案系統)‧檔案系統介紹‧建置檔案系統‧NFS‧UBIFS‧JFFS2‧CRAMFS‧RAMDISK‧檔案系統設定技巧‧最佳化檔案系統大小Open Source Application porting guide(開放源碼程式移植)‧應用程式移植介紹 (Porting)‧導覽嵌入式系統應用程式‧應用程式移植技巧‧常見系統工具程式移植‧常見函式庫移植‧應用程式移植‧驅動程式移植‧GPS‧Webcam‧GPS‧USB wifi‧ADCLinux Device Driver (Linux驅動程式)‧裝置驅動程式介紹‧編譯系統核心模組‧簡易驅動程式撰寫‧LED、溫溼度感測器、大氣壓力、三軸加速度‧Button‧新增驅動程式至開發板‧Tiny4412 2D硬體驅動‧Tiny4412 3D硬體驅動‧Tiny4412 影音解碼硬體驅動 具備Linux系統安裝與檔案系統架構,熟悉Linux 指令、核心編譯及主機架設。 具備嵌入式C語言指標使用技巧、位元運算及檔案I/O探究、計憶體管理使用技巧 具備Linux程式開發技巧與實作能力,System V IPCs 使用、Networking and Socket Programming。 掌握從無到有開發自己的嵌入式系統、瞭解Embedded開發各環節障礙及如何克服