嵌入式Linux/Android SOC開發實戰
(遠距+實體)上課時數:105/126小時
( Embedded Linux system / Android Development Hands-on )
此套裝課程依序從基礎入門至深入研究,每個單元都可以讓學員豁然開朗。從Linux系統程式至嵌入式Linux平台架設再導入OpenCV影像擷取應用及linux驅動程式撰寫,講師傳授各個項目的內容及實作練習巨細靡遺,不藏私。課程著重在嵌入式系統架構開發環境的整合與應用,讓學員進入嵌入式系統平台的AI人工智慧學習大門深入淺出。並且強調業界實務為導向的課程內容,讓學員可以從中瞭解全盤的相關應用與技術技巧及範例練習訓後接軌業界。課程的階段性銜接脈絡清晰、循序漸進,有助於學員在最短的時程內完整吸收課程的精華,快速踏入嵌入式領域並擁有專業的就業競爭力。
學員結訓具備技能
-
嵌入式 Linux 是目前最熱門的開發系統,透過有循序漸進的實務教學,您將會具備Linux 程式開發技巧與實作能力,例如 : 檔案 IO 控制、多執行緒 Pthread 程式、網路 Socket 通訊程式等程式開發能力與技巧。
-
掌握嵌入式系統開發平臺,並了解如何善用開發工具建構一個完整的嵌入式Linux系統,配合開發板與周邊模組等實作,進行系統架設、 軟硬體系統的整合、底層程式開發。
-
讓您能夠具備開發 Linux 驅動程式的能力,包含 DeviceTree、 硬體中斷、GPIO、Input Device、 HardwareMonitor、PWM、I2C、MIPI-DSI LCD 等驅動程式。
-
了解 Embedded Linux BSP 架構及系統建立,可以根據應用客製化自己的嵌入式系統平台。
課程優勢
-
業界專業講師,訓用合一為目標
專業具實務經驗的師資群、業界技術需求為導向的課程規劃,著重培養科技界即戰力人才。
-
採用業界大廠AI晶片實作,提升就業即戰力
課程以專題實作學習為導向,用AI晶片開發板加上多元化的周邊訊號演練,訓後與業界實際開發無縫接軌
-
由淺入深連貫性教學,完整的學程規劃
Linux系統管理→C語言→Linux程式設計→嵌入式Linux Buildroot開發實戰→嵌入式 Linux Driver 開發實務→Android系統框架移植實務→專題練習,循序漸進連貫性上課,完全能掌握每階段的學習方向。
-
IT產業資深助教,課堂上協助教學
官方line@提供及技術討論區及講師專屬mail提供課程課後問題詢問
-
提供完整的教學錄影檔,方便學員課前預習及請假補課及課後複習
中華行動數位提供上課的教學錄影檔預、複習、補課,學習成效不中斷。學習效益更佳更靈活。
-
業界師資群編譯最新的實作教材
業界資深師資群合作編譯最完整的課程教材,規劃更貼近業界需求課程內容,不斷更新修編。
-
協助完成專題、輔導就業
學員不僅在學習過程有充實的專題實作訓練,結訓後可針對職業做職涯規劃。
課程大綱
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
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
-
-
1.
無基礎,有志投入Embedded Linux系統技術領域發展者
-
2.
針對社會新鮮人、退役軍人、待業想轉職就業跨半導體科技產業者
-
3.
從事半導體相關工作,欲學習Linux程式開發技巧與Embedded實作開發者
-
4.
已在相關領域,欲再增強本身專業技能者及獨立接案者
-
-
硬體工程師
-
車用電子工程
-
物聯網工程師
-
ARM物聯網工程師
-
嵌入式軟體工程師
-
韌體工程師
-
手持裝置開發工程師
-
資訊家電設計師
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
-
第二階段 - 開發環境架設
-
實作範例
-
虛擬環境架設 – 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
-
第五階段 - AI & Embedded Linux
-
實作範例
-
AI模型開發環境架設(AI ToolKit的安裝)
-
AI ToolKit的基本技巧(Model模擬與發佈)
-
基本AI模型的實做(Letnet Model - Model Training/Test)
實作範例
-
進階AI模型的實做(RestNet Model - Model Training/Test)
-
Yolo編譯與測試