嵌入式Linux / Android物聯網系統移植課程

嵌入式Linux / Android物聯網系統移植上課時數:119小時(遠距+實體)

( Embedded Linux + Android BSP + IoT+ Open CV )

本課程由基礎入門,從C語言程式設計開發連結至Linux架構下的程式設計,爾後延伸至Embedded Linux System實作平台系統建置、Android平台框架移植實用技術及OpenCV 影像擷取應用、AIOT人工智慧應用 等...。著重物聯網整合架構開發,帶領學員進入ARM物聯網和AI人工智慧自動學習辨識大門,並針對Android穿戴式裝置做系統移植開發與影像辨識應用。 強調業界實務為導向,並著重硬體與核心間移植技巧及實作。課程的階段性銜接脈絡清晰、循序漸進,有助於學員在有效的時程內完整吸收課程的精華,快速踏入嵌入式領域並擁有專業的就業競爭力。

學員結訓具備技能

  1. 嵌入式Linux是目前最常見的開發系統,透過有循序漸進的實務教學,您將會具備Linux程式開發技巧與實作能力,例如檔案硬體IO讀寫、記憶體管理、多執行緒Pthread程式、網路Socket通訊程式等程式開發技巧。
  2. 掌握嵌入式系統開發工具,並了解如何善用開發工具建構一個完整的嵌入式Linux系統,配合硬體開發板與周邊模組等實作,進行軟硬體系統的整合、移植與開發。
  3. 讓您能夠具備撰寫Linux硬體驅動程式的能力,包含Linux中斷、GPIO、UART、SPI、I2C、ADC、LCD、Ethernet、Wifi等驅動程式。
  4. 了解Android系統架構及移植,可以根據硬體環境客製化自己Android系統平台的能力。

課程專題實作

課程優勢

  1. 業界專業講師,訓用合一為目標 專業具實務經驗的師資群、業界技術需求為導向的課程規劃,著重培養科技界即戰力人才。
  2. CP值最高的嵌入式系統設計課程實作範例演練,紮實你的開發實力 課程以專題實作學習為導向,獨家採用ARM Cortex-A72六核七吋電容觸控開發板及自行技術研發,多元化的周邊模組搭配實作演練,訓後與業界實際開發不脫節
  3. 由淺入深連貫性教學,完整的學程規劃 Linux系統管理→C語言→Linux程式設計→Embedded Linux實作→嵌入式Device Driver開發實務→Android BSP Porting→專題練習,循序漸進連貫性上課,完全能掌握每階段的學習方向。
  4. IT產業資深助教,課堂上協助教學 官方line@提供及技術討論區及講師專屬mail提供課程課後問題詢問
  5. 提供完整的教學錄影檔,方便學員課前預習及請假補課及課後複習 中華行動數位提供上課的教學錄影檔預、複習、補課,學習成效不中斷。學習效益更佳更靈活。
  6. 業界師資群編譯最新的實作教材 業界資深師資群合作編譯最完整的課程教材,規劃更貼近業界需求課程內容,不斷更新修編。

課程大綱

    Ch1 - 嵌入式 Linux系統程式設計(Linux Programming)

  1. 課程內容
    • 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
  1. 預期效果
    • 瞭解Linux作業系統架構
    • 具備安裝Linux作業系統能力
    預期效果
    • 具備操作Linux作業系統能力
    • 具備開發Linux系統程式能力

    Ch2 - Embedded Linux實作應用&物聯網應用

  1. 課程內容
    • Introduction to IOT
    • Architecture of IOT
    • Implementation of IOT
    • IOT Platform Demo
    • Introduction to Embedded System
    • Introduction to Android wearable device
    • ARM architecture & Introduction to Development Board
    • GNU Software
    • Development tools & Debugging tools
    • Introduction to Bootloader
    • Embedded Linux Kernel
    • File System
    • Open Source Application porting guide
      課程內容
    • 物聯網介紹
    • 物聯網架構
    • 物聯網實作
    • 物聯網平台實務Demo
    • 了解嵌入式硬體設計流程
    • 了解嵌入式穿戴式裝置架構
    • SOC 系統晶片架構
    • 電子電路元件,自行新增硬體晶片裝置
    • 嵌入式系統從底層到上層的運作方式
    • 課堂的實作演練
    • 業界講師的專案指導

    影像辨識技術 OpenCV應用 - 建議選修

  1. 課程內容
    • AI人工智慧基礎與應用
    • OpenCV移植基礎
    • OpenCV API應用實作
    • 物體與特微偵測
    • 邊界偵測
    • 人臉辨識
    • 動態物體偵測
      課程內容
    • 影像辨識與人工智慧整合專題
    • 智慧家庭應用控制
    • 人臉偵測與辨識
    • 工業用物體檢測與辨識

    Ch3 - 嵌入式Device Driver開發實務課程

  1. 課程內容
    • Introduction to Linux Device Driver
    • Linux Kernel Module Building and Running
    • Char Driver
    • Debugging Linux Kernel and Device Driver
    • Kernel concurrency and Race conditions
      課程內容
    • Time, Delay and Deferred work
    • Allocation Memory
    • Communicating with Hardware
    • Interrupt Handler
    • Data Types in the Linux Kernel

    Ch4 - Android BSP Porting系統整合移植實務

  1. 課程內容
    • Introduction to Android
    • Introduction to Android wearable SDK
    • Android Stack Architecture
    • Android Software Development Kit
    • Android Kernel & Driver Porting
    • Android Build System
      課程內容
    • Android介紹
    • Android 架構
    • Android穿戴式裝置SDK介紹
    • Android SDK分析與實作
    • Android核心與驅動移植技巧
    • Android 編譯系統

    C語言程式設計 - 建議選修

  1. 課程內容
    • 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. 預期效果
    • 具備C語言程式開發能力
  1. 1. 無基礎,有志投入Embedded Linux系統技術領域發展者
  2. 2. 針對社會新鮮人、退役軍人、待業想轉職就業跨半導體科技產業者
  3. 3. 從事半導體相關工作,欲學習Linux程式開發技巧與Embedded實作開發者
  4. 4. 已在相關領域,欲再增強本身專業技能者及獨立接案者
    • 硬體工程師
    • 車用電子工程
    • 物聯網工程師
    • ARM物聯網工程師
    • 嵌入式軟體工程師
    • 韌體工程師
    • 手持裝置開發工程師
    • 資訊家電設計師

Embedded Linux實作應用範例

    1. 第一階段

    2. 實作範例
      • Bootloader階段驅動LCD液晶螢幕
      • Bootloader階段驅動LED
      • Bootloader階段驅動Button
      • Bootloader階段驅動SD card
      • 移植新版Bootloader
        實作範例
      • 開機顯示圖像至LCD螢幕
      • 開機階段控制LED燈號
      • 開機階段判斷按鍵觸發更換螢幕圖像
      • Bootloader新增指令
      • 製作Bootloader patch 檔
    1. 第二階段

    2. 實作範例
      • 建置新版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
    1. 第三階段

    2. 實作範例
      • Busybox 檔案系統製作
      • 函式庫移植
      • 驅動程式移植
      • 視訊晶片驅動移植
      • 開發板 ADC 類比轉數位驅動程式移植
      • 溫度感測器驅動移植及應用程式撰寫
      • 系統應用程式移植
        (thttpd php vsftp udhcpc wireless tool…etc)
        實作範例
      • 移植新版Busybox
      • 應用程式移植
      • ZD1211B無線網卡驅動移植
      • 開發板LED Button驅動程式移植
      • 圖形化應用程式移植(minigui qtopia…etc)
      • 一般應用程式移植
        (mplayer webcamtest gpstest…etc)
我對課程有興趣,請與我聯繫
說明會時間約30分鐘,歡迎攜伴參加。
說明會地點:台北市中正區開封街一段2號9樓
姓      名
連絡電話
電子信箱
新舊學員
舊學員 新學員
選擇課程
選擇場次
驗證碼
資訊來源
紅框選取得驗證碼 ↑↑↑
最新開課&報名方式
  1. 課程皆採實體上課與遠端線上同步 開課時間
    • 113年6月16日至113年10月13日
      (週日全天班 AM9:30至PM5:30)
    • 113年9月7日至113年12月28日
      (週六全天班 AM9:30至PM5:30)
  2. 相關課程
  3. 報名方式
  4. 上課地點
    • 台北市開封街一段2號9樓
      (台北火車站,館前路口麥當勞隔壁 中心大樓)
學員專題實作
學員獨享
  1. 嵌入式IT資深助教協助課程服務 IT資深助教協助課程服務 官方line@提供課後問題服務。
  2. 嵌入式企業徵才 提供學員工作職缺資訊 依產業需求隨時更新求職資訊 More
  3. 嵌入式講師撰寫教材 講師親自撰寫上課教才 定期更新課程講義,掌握最新技術動脈
  4. 嵌入式數位教學環境 環型教室、數位設備 師生互動式廣播教學系統
  5. 中華行動數位嵌入式教室 學員結訓專題作品發表 接軌產業脈動,訓用合一教學
  6. 嵌入式上課免費喝咖啡 免費供應飲料、茶&相關書籍 定期訂閱熱門書籍、雜誌,供學員免費借閱。研磨咖啡、現泡熱茶
學員心得分享
  1. 結訓學員-詹○涵 非理工背景也能跨域成為韌體工程師

    嵌入式學員英文系畢業之後,發現只能把英文當成加分的工具。很想學軟體進科技業,把握機會報名了工業局補助班-嵌入式AI應用,上完課後對於嵌入式AI更清楚求職的方向。從基礎Linux Programming到進階的Embedded linux系統移植實作及AI OpenCV、機器學習深度學習,收穫很多。結訓後,經教育中心就業媒合成功跨域,成為鴻海科技韌體工程師。 更多

課程剪影
  1. 嵌入式系統上課剪影02
  2. 嵌入式系統上課剪影03
  3. 嵌入式系統上課剪影03
嵌入式應用
  1. 所謂的嵌入式系統簡而言之是一種『執行部份特定功能』的系統 實作上並不限定技術範疇, 只要能將特定的功能(function)『嵌入』 到目標裝置(target device)裡,包含這些功 能的整體系統(或平臺) 即是『嵌入式系統』。 Embedded Linux其實並不是一個作業系統,而是代表應用Linux系統於embedded system 的名詞。Embedded Linux是Linux for devices 的意思。 Embedded Linux的技術核心主軸是在研究 「如何將Linux系統嵌入至嵌入式目標裝置裡」

    嵌入式的應用範圍

    近年來嵌入式系統設計技術、應用端產品的應用範圍持續擴張,根據調查指出未來全球將有更多的嵌入式裝置出現於市面,如此龐大的潛在商機,使得許多高科技業者對於嵌入式市場的重視度有增無減,嵌入式產品應用的領域範圍,包括智慧型手機、STB、VoIP產品行動上網裝置(MID)、電子書、數位電子看板、工業控制、網路安全、數位相框、資訊家電、GPS導航裝置、遊樂器等領域與產品都是未來產業發展重點。

嵌入式AI 應用發展趨勢
  1. 嵌入式AI 應用發展趨勢課程

    嵌入式AI演算法開發平台(包括為其開發的AI演算法)廣泛應用於機器、系統、結構和流程控制領域,從簡單的異常檢測擴展到複雜的故障診斷。透過整合的加速度計、麥克風和溫度感測器,可以實現多種功能,例如監測來自各種工業機器和系統的振動和雜訊。嵌入式AI可用於檢測過程狀態、軸承或定子的損壞、控制電子設備等...。
    有了適用於特定損壞的預測模型可用,就可以在本地預測到這一類的損壞。透過這種方法,可以在早期階段採取維護措施,從而避免不必要的損壞故障。如果不存在可用的預測模型,透過平台還有助於專家持續瞭解機器的行為,並隨著時間的推移,得出一個用於預測維護的完整機器模型。

  2. 嵌入式AI 應用發展趨勢課程

    OpenCV全名是Open Source Computer Vision Library,是一個跨平台的計算機函式庫,為了推廣機器視覺的研究最早由英特爾公司於1999年創立,提供一套開源且最佳化的基礎包含許多影像處理、機械學習演算法及Computer Vision應用所需的函式庫(Library)OpenCV可用於開發實時的圖像處理、電腦視覺以及模式識別程式。
    開發人員可使用C/C++、Python、JAVA…等不同程式語言撰寫OpenCV程式,例如即時人臉偵測、物體識別、動作識別、圖像分割…等應用。
    OpenCV常被使用在嵌入式Linux系統、Raspberry PI等...,可同時搭配微控制器進行週邊裝置影像互動。

content-end