嵌入式Linux軟硬整合開發與AI邊緣運算應用實務【實戰教學】
學員負擔:線上洽詢
訓練時數:63
收藏課程
通俗職類:軟(韌)體設計工程師
訓練性質:在職訓練
訓練時段:週六 / 上午,下午
訓練位置:台北市中正區重慶南路一段143號4樓map
報名日期:2018-04-23~2019-01-06
訓練日期:2019-01-06
訓練人數:20 人
補助對象額度:
智慧電子產業之人員
*不需具備Linux基礎,有志投入Embedded Linux技術領域發展者
*針對社會新鮮人、退役軍人、待業上班族想轉職就業跨半導體科技產業者
*已在相關領域,欲再增強本身專業技能者
*欲學習Embedded Linux開發技術並能具體進行嵌入式產品研發工作
*對ARM架構和其底層系統程式開發有興趣,或想從事ARM BSP development、ARM Bootloader/BIOS programming研發相關工作者。
*需領導、管理嵌入式系統開發專案,並與團隊加強溝通者

訓練概要

我可以學到什麼?

1. 能清楚掌握嵌入式Linux的開發流程,並了解業界如何進行嵌入式產品開發與生產
2. 了解如何建構一個完整的嵌入式Linux系統,並能夠進行軟硬體系統的整合、移植與開發
3. 掌握嵌入式系統開發要領與開發工具,GNU AutoTools與Makefile的撰寫、Open Source移植技巧
4. 掌握嵌入式Linux開發的重要觀念與技術,Linux kernel、Flash layout Design、Root File system建立等
5. 學會如何在嵌入式Linux開發多執緒Pthread程式、網路Socket通訊程式
6. 了解如何與底層Linux驅動程式溝通,多工 I/O 處理機制, 包含Blocking I/O、Non-blocking I/O
7. 能具備撰寫Linux硬體驅動程式的能力,包含Linux中斷、GPIO、UART、SPI、I2C、ADC等Driver
8.瞭解ARM核心的指令集、記憶體處理器(MMU)、中斷處理等,並能以Bare-metal(Non-OS)的方式驅動I/O
9.能夠使用嵌入式Raspberry Pi開發平台硬體進行OpenCV移植與實作AI影像辨識。


◎課程特色
● 專業師資群:
所有講師均超過12年以上產品開發經驗,將十多年累積RD經驗整理成教材,深入淺出的講解原理並快速學習獲取Know-How。

● 全新Bottom-up 速學模式:
以開發者的角度直效學習,從Linux OS系統到Linux 驅動程式完成,當一個以Linux為基礎的嵌入式系統建構完成後,才開始進入系統應用的開發階段。

● 推薦就業:
本公司長期與國內系統廠及IC廠的接觸,可為轉職的您媒介工作。

● 模擬業界實戰開發:
實戰演練!
並深入業界嵌入式產品的開發與生產細節,幫助你縮短自學摸索和產品開發的時間,快速產出工程樣品。

● 軟硬整合實力大躍進:
不少企業團隊體認到,軟硬體整合能力的門檻和需求才是最高的,但只要跨過門檻就能夠解決更多問題。
學習這門課,你將了解嵌入式系統架構並能進行軟硬體系統的整合、移植與開發。

● Raspberry Pi I/O擴充板:
艾鍗專為Raspberry Pi設計的一個I/O子板,以擴充原官方Raspberry Pi板的功能,使您可以並透過主題式的Lab,讓您的學習事半功倍。

訓練內容

 
linux banner 2017 v21 710 5 1
產業趨勢        
在半導體技術發展與AI人工智慧朝向專用化的推波助瀾下,AI得以與物聯網中各種嵌入式系統設備整合為AIoT(AI+IoT)系統。
而為了解決海量數據帶來的龐大運算需求、在雲端運算儲存激增的成本,以及連網帶來的資訊安全問題,「邊緣運算(Edge Computing)」迅速崛起。
使用邊緣運算是讓終端的嵌入式設備具有一定運算能力和反應機制,除了能夠防範萬一網路中斷帶來的各種風險,當終端能夠將數據預先處理、整理、過濾掉具隱私疑慮的內容,再將結果傳回雲端做進一步的工作,不僅大幅降低雲端作業與儲存的負載,也保障了隱私安全。
從這些趨勢我們可以了解到在AI時代,智慧化的嵌入式物聯網終端已成為不可或缺的存在!
工業自動化控制設備、機器人、電信系統、行動裝置、汽車、電動車充電樁、各種互動式多媒體機台、AI影像辨識與監控設備,到醫療設備等,都採用了嵌入式系統。
「嵌入式系統」雖不是新興的技術,但一直到今天仍是所有電子產品最重要的底層核心技術,滿足特定應用的同時,更將觸角伸向更多元的系統整合、更智慧、更彈性的設計與整合度。
搭著AI、物聯網、邊緣運算等大勢,嵌入式科技前景持續看漲,人才更是供不應求。
 
embedded linux course 2018
 
【第一階段】 嵌入式Linux系統建置實務
▶ 開發平台硬體Raspberry Pi 3
▶ 套件安裝管理及Linux常用指令
▶ 檔案結構與檔案系統
▶ 使用者帳號管理
▶ 伺服器安裝與設定
[講師實務經驗分享]
此門課是為了進入嵌入式Linux開發的預備課程,要在Linux作業系統開發,對Linux這套作業系統的操作環境須要有一定的熟悉度,包含Linux系統架構、檔案系統結構、指令操作、網路設定、常用伺服器建置等。
【第二階段】 嵌入式Linux設計開發與軟硬體整合
▶ 了解嵌入式系統架構並能進行軟硬體系統的整合、移植與開發。

▶ 在拿到一般嵌入式BSP後懂得如何開始,會知道如何進行核心組態與編譯,Boot loader 編譯以及Root File system建立等。
能熟悉GNU Toolchain的使用,包含GNU AutoTools與Makefile的撰寫。
熟悉Open Source 程式與函式庫的移植技巧。
課程利用Raspberry Pi 開源硬體,讓你從空的SD card,從無到有建構自己的嵌入式Linux 系統並能使板子能開機。
在Linux系統建立完成之後,教你開發Linux Pthread、Socket及File(Device)I/O的系統程式。
最後,以嵌入式Linux常見的產品,如IPCam、Wi-Fi Router、NAS,手把手教你這些功能是如何被實現的。

[講師實務經驗分享]
嵌入式Linux開發初期,必須先建立好主機端的開發環境與GNU Toolchain (包含交叉編譯器版本的選擇),通常剛入行者,不是不會寫程式,而是被這個環境搞死。
上這門課可以了解整個嵌入式Linux的架構觀念與開發流程(這對於剛切入領域甚為重要),包含boot loader、Linux核心交叉編譯、板子Flash空間配置、Root File system產生等。
Linux有很多開源軟體,你會想要了解如何移植這些Open Source,不論是應用程式、函式庫,還是驅動程式。
這時你會開始要去懂Makefile、Shared Library與Static Library、 kernel module等。
也一定會遇到gcc或ld error等,要去了解問題所在,你會發現善用GNU Toolchain對於Debug或分析問題很有幫助。
有一個系統架構後,我們帶你進入實際產品應用,包含Wi-Fi Driver移植、USB Camera整合應用等,讓你更能想像該如何快速整合出一個嵌入式軟體架構。


【第三階段】 嵌入式Linux驅動程式實戰
▶ 不管你是要自己撰寫或移植,這都是資深嵌入式系統工程師的必修課。
▶ 熟悉Linux驅動程式架構並能實際動手撰寫Linux 核心底層的驅動程式。
▶ 了解如何撰寫Linux硬體驅動程式,配合Raspberry Pi 硬體實戰 GPIO Driver、Linux中斷處理、UART Driver、SPI Driver、I2C Driver、ADC Driver等Driver。

[講師實務經驗分享]
嵌入式Linux系統的另外一個主要工作就是加入新硬體,此時我們要能了解硬體界面、控制原理與晶片功能,更重要的是為它撰寫一隻Linux驅動程式。
涉及底層Linux驅動程式架構,對於Linux核心程心的掌握是一定要具備的!
如何學好它?
先要有一個實驗平台搭配硬體裝置,試著學會同步與非同步I/O控制、硬體中斷、I/O通訊等實際裝置驅動才有真正的感覺在設計驅動程式。
此外,Linux驅動程式開發也是要準備好相關開發環境,才能開始編譯,所以通常沒概念者也難以切入。
Linux驅動程式是嵌入式系統的核心技術之一,但大多數人的也僅僅只具觀念上與架構上的認知而已,鮮少有人真正有驅動程式的開發經驗,然而產業界對於RD研發工程師,有較高的職能要求。
本課程使用Raspberry Pi ,並搭配我們自行設計的Raspberry Pi I/O擴充板作為驅動程式實戰演練,讓你快速上手Linux驅動程式!
 
【第四階段】 嵌入式AI影像辨識實務
終端裝置的AI運算與應用
  • 如何用Intel Movidius Neural Compute Stick(NCS)實現AI邊緣運算
  • Intel Movidius Compute Stick 架構
  • Intel NCS SDK安裝與程式開發說明
  • Run CNN model (MINST) on Raspberry Pi

[講師實務經驗分享]
透過本課程可以了解邊緣運算 : 嵌入式AI技術實現架構,並能夠實際進行AI影像辨識之應用


【數位】Linux系統程式設計
▶ 了解Linux system call (如I/O, IPC, pthread等),而能運用這些system call實現linux程式,亦藉此了解OS在嵌入式系統所扮演的角色
▶ 了解 server/client程式運作與 TCP/IP原理
▶ 能夠以 C語言實作 TCP/UDP/Raw Socket
▶ 能夠以 ioctl/fcntl/setsockop去控制 Socket的行為
▶ 實現 Broadcast,Multicast
[講師實務經驗分享]
一般情況,通常整個嵌入式Linux系統的功能會有你自己寫的程式(可能也會去連結GPL或LGPL函式庫)並整合一些來自Open Source的程式。
雖然Linux已存在很多的Open Source,但不可能永遠運氣這麼好都可以找到100%符合需求或規格的原始碼,所以你必須懂得如何修改成你要的功能。
不論自己寫或移植Open Source,這些都是基於Linux核心,所以一定會用到Linux核心的能力,包含裝置I/O請求、多行程、同步處理、行程通訊等。
若你的系統需要TCP/IP通訊,還得懂Socket網路程式設計。
想自己寫並且能改得動Open Source的程式,其實要具備Linux系統程式設計的能力,你可以透過閱讀"Linux Programming Manual",但是篇幅之廣泛且多元,如果沒有對作業系統有一定的認知,不懂對系統呼叫(System call)所產生Linux背後的運作行為,很難了解真諦。
因此若有經驗的人帶你看並且提供範例程式演練,對於學習會相當有幫助。


【數位】ARM Boot Loader設計
▶ 了解ARM核心架構與ARM例外處理
▶ 能熟悉ARM組合語言並能撰寫Startup code與Linker Script
▶ 配合Raspberry Pi硬體自幹 Boot code
[講師實務經驗分享]
沒有它,什麼都不會動!
ARM Bootloader設計是嵌入式系統最底層的核心技術,如同電腦BIOS的角色。
這技術就是談晶片開機的動作,從ARM初始化、DRAM初始化、Flash初始化、SoC中斷控制器到一般GPIO、UART等驅動。
有能力設計Bootloaer你必須對你的CPU架構很清楚,例如使用ARM就必須了解ARM架構及指令集,了解Linker/Linker Script作用, 及了解你的SoC晶片手冊。
Bootloader設計工作是位在嵌入式系統非常初期的階段,這對於IC設計公司或是會自己開IC的公司,是一項非常重要的核心技術。
然而大多數系統廠商不常碰到這麼低階的開發技術,但若能擁有此項技術也會有非常多的幫助,因為有些工作是可以自己做的:如DRAM、Flash的容量的變更(這不是換chip而已) 要如何改code、如何設計韌體救援模式(韌體更新失敗時)、如何設計雙系統開機,如平板可以選擇Windows 10或Android 開機。
在台灣很少有大學能夠開這種課程,因此知道這項技術核心的人非常少。
在業界中會的人少,薪水更是高人一等!
事實上,這個技術的學習是能夠有能力自幹一套作業系統的開始。
 
 
職涯方向
Embedded Linux工程師 │ 嵌入式系統軟體研發工程師 │ 嵌入式應用開發工程師 │
Linux軟體 / 韌體工程師 │ Linux驅動程式工程師 │ 韌體研發工程師 │ BIOS 工程師 │ RTOS 工程師
 
 
師資介紹
 

范老師

▪ 清華大學資訊工程碩士

▪ Embedded system ▪ Linux ▪ C/C++

▪ Web based ▪ PHP/JSP ▪ Java

 

 

Joseph

▪ 台灣大學電機工程系博士研究 ▪ 上市網通科技公司/資深軟體工程師

▪ 嵌入式Linux系統 ▪  ARM Boot Loader  ▪  資料結構及演算法 ▪  PCB Layout

▪ MCU 韌體設計 ▪  Linux 驅動程式▪ Linux系統程式 ▪ 網路通訊協定

 
 

Collin

▪ 國立雲林科技大學電機系

▪ Linux 驅動程式 ▪ Embedded linux 開發 ▪ ARM u-boot 開發

▪ 產品開發經驗: Android cell phone, P.O.S(工業電腦)

備註
如您對本課程有興趣,或需相關諮詢,請於下方留下您的聯絡資訊,我們將派專人與您聯繫,回覆問題,感謝您!


嵌入式課程 http://bit.ly/2OFKMS4
免費說明會 http://bit.ly/2OE6pSQ
我想瞭解更多
  • code
    換一個
若您有進修網會員帳號,建議您登入進修網,省去填表部份欄位的填寫!
2018遊留學展Online3年7萬
讀者留言
相關進修課程推薦
  課程名稱 認證機構(分校) 上課地點 費用 開課日期
索取課程資料
收藏課程資料
APCS系列-Java基礎語法 巨匠電腦羅東認證 宜蘭縣羅東鎮 線上洽詢 隨時開課
索取課程資料
收藏課程資料
iPhone APP程式實務應用 巨匠電腦台北認證 台北市中正區 線上洽詢 2018-12-31
索取課程資料
收藏課程資料
App開發趨勢與應用 聯成電腦東門分校 台南市東區 線上洽詢 2018-11-02
索取課程資料
收藏課程資料
training 【C#】*程式設計進階班 社團法人新竹... 新竹市 線上洽詢 2019-01-08
索取課程資料
收藏課程資料
Android APP應用程式開發 巨匠電腦台中認證 台中市中區 線上洽詢 2018-12-13
餐飲證照課卡
免費體驗!職場升職加薪必備英文

登入1111進修網

1
2
提示
3
從facrbook登入
我無法登入、忘記密碼?
註冊成為進修會員