【免費說明會】嵌入式Linux開發實戰班─ 深入嵌入式產品開發流程與細節

開課日期:2018-09-01 課程費用:免費課程 備註:免費說明會
上課時間:週六 / 上午,下午 學習時程:77小時
上課地點: 台北市中正區重慶南路一段143號4樓 map
適用對象:
*不需具備Linux基礎
*有志投入Embedded Linux技術領域發展者
*針對社會新鮮人、退役軍...看完整
收藏課程
課程特色
在半導體技術發展與AI人工智慧朝向專用化的推波助瀾下,AI得以與物聯網中各種嵌入式系統設備整合為AIoT(AI+IoT)系統。
而為了解決海量數據帶來的龐大運算需求、在雲端運算儲存激增的成本,以及連網帶來的資訊安全問題,「邊緣運算(Edge Computing)」迅速崛起。
使用邊緣運算是讓終端的嵌入式設備具有一定運算能力和反應機制,除了能夠防範萬一網路中斷帶來的各種風險,當終端能夠將數據預先處理、整理、過濾掉具隱私疑慮的內容,再將結果傳回雲端做進一步的工作,不僅大幅降低雲端作業與儲存的負載,也保障了隱私安全。

從這些趨勢我們可以了解到在AI時代,智慧化的嵌入式物聯網終端已成為不可或缺的存在!
工業自動化控制設備、機器人、電信系統、行動裝置、汽車、電動車充電樁、各種互動式多媒體機台、AI影像辨識與監控設備,到醫療設備等,都採用了嵌入式系統。

「嵌入式系統」雖不是新興的技術,但一直到今天仍是所有電子產品最重要的底層核心技術,滿足特定應用的同時,更將觸角伸向更多元的系統整合、更智慧、更彈性的設計與整合度。
搭著AI、物聯網、邊緣運算等大勢,嵌入式科技前景持續看漲,人才更是供不應求。


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


◎課程特色
• 資深Linux嵌入式工程師組成的教學團隊:
很多人都說:要學會這個技術的路很長,但如果有高手帶你練功,你升級的速度就快了!
讓最懂業界也最懂技術的專業工程師手把手教你,所有講師均超過15年以上開發經驗,將多年累積的實戰經驗整理成獨家教材,課程編排著重實務上的概念與技術要點,更特別加強學習者容易卡關的地方,深入淺出講解原理、指導實作,幫助你用最短的時間學習,快速獲取Know-How。


• 嵌入式「應用開發」+「底層系統」,完整核心技能:
模擬業界嵌入式產品應用開發與生產,用數個常見的嵌入式產品應用整合實例,一步步讓你搞懂整個嵌入式Linux系統開發的架構觀念與流程;更進一步深入底層,讓你充分理解kernel對特定硬體的驅動程式架構,並了解ARM核心架構、如何在沒有OS情況下撰寫程式,以奠定底層系統程式開發的重要知識,養成紮實的技術力。
實務上有許多難題必須依靠「底層系統」的專家解決,因此相關人才相當搶手。
本課程以開發者的角度深入技術核心直效學習,貫通上層應用與底層系統驅動,幫助你能真正縮短產品開發的時間,快速產出工程樣品。


• 軟 + 硬 強化整合實力:
已經有不少企業團隊深刻體認到,軟硬體整合能力的門檻才是最高的,但只要跨過門檻就能夠解決更多問題,因為當我們打破軟體歸軟體、硬體歸硬體的模式,用整體的角度、多元的面向來解決問題,才能以全面眼光,達到最高的效益。
學習這門課,你將了解嵌入式系統架構並能進行軟硬體系統的整合、移植與開發。


• 使用獨家研發Raspberry Pi I/O v3擴充板:
有實際硬體,學驅動程式才真正有感!
為了傳達正確的嵌入式Linux學習觀念與學習重點,艾鍗獨家設計I/O子板,以擴充原Pi3板的功能,並對其中所有軟硬體控制原理進行透徹解說,使你可以透過主題式Lab,實踐嵌入式Linux核心技術與架構。


◎職涯方向:
嵌入式系統工程師/韌體工程師/Linux消費性電子設計師/Linux網路程式工程師/Linux驅動程式工程師
詳細內容

 

course linux banner 1

 

第一階段   嵌入式Linux系統建置實務

此門課是為了進入嵌入式Linux開發的預備課程,要在Linux作業系統開發,對Linux這套作業系統的操作環境須要有一定的熟悉度,包含Linux系統架構、檔案系統結構、指令操作、網路設定、常用伺服器建置等。

  
 
  • 開發平台硬體Raspberry Pi 3
  • 套件安裝管理及Linux常用指令
    • 套件安裝dpkg及用法
    • 套件安裝apt-get及用法
    • 套件安裝apt-cache及用法
    • 網路配置
    • 服務配置-啟用SSH
    • 常用指令
    • 開機重啟命令
    • Linux相關指令分類
 
  • 檔案結構與檔案系統
    • 檔案類型與副檔名
    • 權限
    • 檔案系統類型
    • 系統結構
    • 硬碟分割
  • 使用者帳號管理
  • 伺服器安裝與設定
    • SAMBA

第二階段   嵌入式Linux設計開發與軟硬體整合

了解嵌入式系統架構並能進行軟硬體系統的整合、移植與開發。

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

  
 
  • 嵌入式系統軟硬體架構與開發流程
  • 嵌入式 Linux BSP 建立 :
    • 安裝Toolchain 與專案編譯環境設定
    • Boot loader 簡介與U-boot 編譯與使用
    • Linux Kernel 配置與編譯
    • Root filesystem 建立-使用buildroot/Yocto
  • Flash Layout 配置與Linux MTD
 
  • Open source 程式移植
    • gcc 常用編譯參數說明與最佳化
    • Make、Makefile 說明
    • GNU Build System- Automake
    • BusyBox
  • 嵌入式Linux實作整合應用
    • Media Player:Porting MP3 Player
    • NAS:Porting SAMBA
    • Wi-Fi Router:Wi-Fi Driver, hostapd, dhcpd, bridge, ...
    • IP Camera:Porting Streaming server

 
第三階段   嵌入式Linux驅動程式實戰

不管你是要自己撰寫或移植,這都是資深嵌入式系統工程師的必修課。

熟悉Linux驅動程式架構並能實際動手撰寫Linux 核心底層的驅動程式。
了解如何撰寫Linux硬體驅動程式,配合Raspberry Pi 硬體實戰 GPIO Driver、Linux中斷處理、UART Driver、SPI Driver、I2C Driver、ADC Driver等Driver。
  
 
  • 字元裝置Driver
  • Linux Misc Device
  • Linux GPIO 驅動程式 for LED, Button,Relay
  • Raspberry Pi 3 功能說明與BCM283x 使用說明
  • Pi 擴充卡硬體功能介紹與電路圖接腳說明
  • Linux 中斷註冊 & 中斷控制器HAL層架構
  • Pi 擴充卡硬體功能介紹與電路圖接腳說明
  • Bottom Halves (Tasklet & Work Queue)
  • 進階字元Driver:
    • Non-blocking I/O : 使用Wait Queue & completion 機制
    • kernel 對UserSpace通知: SIGIO 信號非同步通知,call_usermodehelper()
 
  • Kernel Timer List (Jiffies, timer ticks) for LED 閃爍
  • Linux Serial port 驅動程式 for Bluetooth 模組
  • Linux Platform Device & Platform Driver 架構
  • Linux Device Tree
  • Linux SPI Client驅動程式 for ADC Driver (MCP3008)
  • Linux IIO Driver(Linux Industrial I/O Subsystem)
  • Linux SPI Bus master 驅動程式 for BCM2835 SPI controller
  • Linux I2C Client驅動程式 for EEPROM
  • Linux I2C Bus master驅動程式 for BCM2835 I2C controller
  • Linux User Space Driver - BCM2835 C I/O Library

 

第四階段   嵌入式AI影像辨識實務
透過本課程可以了解邊緣運算 : 嵌入式AI技術實現架構,並能夠實際進行AI影像辨識之應用
  
  終端裝置的AI運算與應用
如何用Intel Movidius Neural Compute Stick(NCS)實現AI邊緣運算
Intel Movidius Compute Stick 架構
Intel NCS SDK安裝與程式開發說明
Run CNN model (MINST) on Raspberry Pi
   

online banner

 

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

  
 
  • Low Level I/O Routine
  • File and Directory Manipulation
  • General Library Interface
  • Processes
  • Signals
  • POSIX Thread
  • InterProcess Communication
  • Shell programming
  • Linux Serial Programming
  • Linux Sokcet Programming
  Linux系統程式設計-Linux Socket
  • TCP/IP 網路簡介(1)
  • TCP/IP 網路簡介(2)
  • Wireshark 工具使用
  • TCP Socket程式與Socket API介紹
  • Socket多工處理
  • UDP Socket
  • Unix Domain Socket
  • Socket Option & Ioctl

 
ARM Boot Loader設計  
▶ 了解ARM核心架構與ARM例外處理
▶ 能熟悉ARM組合語言並能撰寫Startup code與Linker Script
▶ 配合Raspberry Pi硬體自幹 Boot code
  
 
  • SoC基本架構
  • ARM處理器架構
  • ARM組合語言
  • Thumb mode
  • 標準程序呼叫
  • ARM Exception handling /例外中斷處理
  • Memory Barrier & Coprocessor
  • 系統程式-Linker & startup code
 
  • Bare-metal Development using Raspberry Pi 3
    • 認識Broadcom BCM283x SoC
    • Raspberry Pi 3開機流程
    • 實作 GPIO 驅動-LED、 Button
    • 實作BCM2835 中斷控制器
    • 實作System Timer 中斷
    • 實作GPIO中斷
    • 實作UART
  • GPU 與ARM間的溝通用Mailbox 界面實作Framebuffer

 

 


延伸學習-課程預覽
   

#ARM Boot Loader

#Linux驅動程式 

課程Q&A
   ▪ 什麼是嵌入式系統?
有哪些技術範疇?

「嵌入式系統」是一種嵌入在裝置內部,為特定應用而開發的計算機系統,嵌入式系統的設計可說是小規模的系統整合,是一涵蓋資訊、通訊、電子領域之專業;同時其技術領域縱跨軟體嵌入式作業系統RTOS、韌體、I/O介面及硬體裝置範疇。
因此從事嵌入式系統開發,必須具備能夠整合軟硬體的紮實功夫。

   ▪ 為什麼選擇用Raspberry Pi來學習嵌入式Linux?

Raspberry Pi 是一片Linux-Based的開源硬體板子,其硬體線路 & SoC DataSheet的揭露相較其他板子算是相當完整,對於想學習嵌入式Linux核心的開發,包含Linux裝置驅動式程式Linux USB驅動程式ARM Bootloader開發不會一直遇到沒有硬體資訊的窘境。
此外,由於Raspberry Pi 拉出了40 Pin I/O 介面(包含電源),對於想要以實戰方式學習Linux裝置驅動程式的人將會非常有感覺,而不僅僅是概念上的認知。
另外Raspberry Pi 3 具有Wi-Fi和BLE, 所以
學習物聯網相關的技術如 IoT Gateway、Sensor Node設計等,硬體支援度也相當好。

其實不少人都玩過Raspberry Pi,但多數人止於”使用”階段,很少真正懂得Pi內部的軟硬體架構設計。
艾鍗是以教授業界對於嵌入式Linux系統開發所需的職能作為訓練的目標,而Raspberry Pi 僅是我們硬體教學平台的選擇之一。
我們的訓練從空的SD卡開始,由核心原始碼編譯到根目錄檔案系統的完整建置。
接著你能熟悉Linux系統程式設計、看得懂DataSheet,理解Linux Driver框架、了解Linux 核心、並能實際完成Linux核心驅動程式。
接著你能更進一步挑戰ARM Bootloader 設計,理解ARM CPU架構與指令集、ARM 中斷向量表與SoC間的行為,了解一個程式到底是如何被執行的種種細節 。
(此時,你將真正搞懂什麼是”微處理器”)。

   ▪ Android HAL跟嵌入式Linux的關聯性在哪邊?

首先必須了解Google Android Framework,是一個GUI 圖形系統。
而如何讓
APP也能存取到底層的硬體如G-SensorGPSWiFI等。
都必須有賴於
Android Framework HAL軟體架構.所謂的Android HAL,就是介接上層用JAVA寫的Framework code Linux底層的部份。
使得
APP只看到HAL層,HAL內部負責底層Linux的溝通。
而底層硬體就是和
linux Driver
有關了。
總之,
底層要先能動,上層
APP才可以用

   ▪ 學嵌入式可以做什麼?

有這個技術在身,你可以開發:
電腦/嵌入式系統一電腦、手機及其他消費性電子產品的開發、生醫儀器、ICT資通訊產品
控制系統一自動控制系統(PID)、HMI程式、馬達驅動、機械手臂、機器人
通訊系統一無線通訊、網卡開發
更高階的系統整合應用還有:
IoT 物聯網— IoT Gateway、Sensor Node
影像處理—應用影像識別、影像處理

【合報享超值優惠,歡迎洽詢!

 
   ▪ 艾鍗的嵌入式系統課程有什麼不一樣?

艾鍗強調"How to do"與"Trial and error"並引導"How to think"的訓練方式,擔任本學程的講師皆為實際從事產品開發設計的資深RD工程師/研發經理,正因為如此,每一門課都是提供業界實際的開發方法,不僅提供原理、架構、觀念,我們更把實務上產品開發過程中所遇到的問題,累積解決問題的經驗整理成課程,透過Hands on training的方式,教授業界實務開發要領與分享工程問題解決Know-How,讓你可以快速了解Embedded Linux的開發工作,並能真正將Embedded Linux導入產品開發。

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

范老師

▪ 清華大學資訊工程碩士

▪ 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(工業電腦)

 

Kangta  ※講師具18年以上Linux嵌入式系統驅動程式設計經驗,在國內一線PC/NB ODM廠擔任主任級資深工程師!

▪ 輔仁大學電子工程碩士  ▪ 上市公司資深軟韌體設計工程師

▪ Embedded Linux Device Driver  ▪ C/C++  ▪ 嵌入式Linux程式設計

▪ USB韌體設計 ▪ 8051單晶片/Assembly Language  ▪ 類比/數位電路設計

 

 

Hank  ※講師具16年MIS工程師經驗

▪ 中洲技術學院電子工程系 ▪ MIS資訊部經理

▪ Linux 系統管理 ▪ Embedded linux 開發 ▪ Linux網路伺服器管理

▪ Linux防火牆/iptables 管理 ▪ PHP網頁程式設計

 
報名方式
http://www.ittraining.com.tw/ittraining/index.php/activity?id=383
參加就送【OTG 隨身碟-8G】給您裝滿寶貴資訊帶回家!

聯絡電話:(02) 23167736
備註
艾鍗學院採取一人一機上課,強調學中做,做中學!

艾鍗與業界廠商均有密切合作關係,有責任培育業界大廠之理想人才,如果你想學習到業界技術,艾鍗絕對是你唯一首選!


艾鍗官網嵌入式課程 http://www.ittraining.com.tw/ittraining/index.php/course/embedded/embeddedlinux

http://www.ittraining.com.tw/ittraining/course/embedded/embeddedlinux?start=1
我想瞭解更多
  • code
    換一個
若您有進修網會員帳號,建議您登入進修網,省去填表部份欄位的填寫!
職訓_發燒資訊人3年7萬
讀者留言
相關進修課程推薦
  課程名稱 認證機構(分校) 上課地點 費用 開課日期
索取課程資料
收藏課程資料
training 軟韌體工程師必學【免費說明會... 艾鍗學院 台北市中正區 免費課程 隨時開課
索取課程資料
收藏課程資料
training 免費說明會-USB韌體設計實戰 艾鍗學院 台北市中正區 免費課程 隨時開課
索取課程資料
收藏課程資料
人工智慧與物聯網整合課程說明會 艾鍗學院 台北市中正區 免費課程 2018-09-16
索取課程資料
收藏課程資料
【免費說明會】FPGA 數位IC設計... 艾鍗學院 台北市中正區 免費課程 2018-11-24
索取課程資料
收藏課程資料
training 跨平台Layout前端設計執行班 業成資訊有限公司 彰化縣彰化市 免費課程 2018-09-17
2018大學博覽會_專業職能學分班
2018大學博覽會_熱門證照

登入1111進修網

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