艾鍗學院- 嵌入式Linux開發實務| 軟硬兼具
文章推薦指數: 80 %
嵌入式Linux BSP 建立: 安裝Toolchain 與專案編譯環境設定; Boot loader 簡介與U-boot 編譯與使用; Linux Kernel 配置 ...
第2頁,共4頁
學程簡介
課程大綱
課程預覽
專題實績
會員優惠
♦本課程單元可依需求搭配選擇,預約專業諮詢>>
♦專為產業需求規劃設計,專案開發、企業派訓首選!
★因應疫情本梯次採取遠距+實體同步教學,歡迎全台學員加入學習!
第一階段 嵌入式Linux系統建置實務
明明是基本功的部分卻卡好久?從不會到會的關鍵一步,重點統整、障礙突破,帶你穩紮穩打基本功,了解遇到問題該怎麼解決,快速上手Linux系統。
此門課是為了進入嵌入式Linux開發的預備課程,要在Linux作業系統開發,對Linux這套作業系統的操作環境須要有一定的熟悉度,包含Linux系統架構、檔案系統結構、指令操作、網路設定、常用伺服器建置等。
開發平台硬體RaspberryPi3
套件安裝管理及Linux常用指令
套件安裝dpkg及用法
套件安裝apt-get及用法
套件安裝apt-cache及用法
網路配置
服務配置-啟用SSH
常用指令
開機重啟命令
Linux相關指令分類
檔案結構與檔案系統
檔案類型與副檔名
權限
檔案系統類型
系統結構
硬碟分割
使用者帳號管理
伺服器安裝與設定
SAMBA
第二階段 嵌入式Linux設計開發與軟硬體整合
了解嵌入式系統架構並能進行軟硬體系統的整合、移植與開發,幫助開發者Debug與分析問題。
在拿到一般嵌入式BSP後懂得如何開始,會知道如何進行核心組態與編譯, Bootloader編譯以及RootFilesystem建立等。
能熟悉GNUToolchain的使用,包含GNUAutoTools與Makefile的撰寫。
熟悉OpenSource程式與函式庫的移植技巧。
課程利用RaspberryPi 開源硬體,讓你從空的SDcard,從無到有建構自己的嵌入式Linux系統並能使板子能開機(Boardbringup)。
在Linux系統建立完成之後,教你開發LinuxPthread、Socket及File(Device)I/O的系統程式。
最後,以嵌入式Linux常見的產品,如IPCam、Wi-FiRouter、NAS,手把手教你這些功能是如何被實現的。
嵌入式系統軟硬體架構與開發流程
嵌入式LinuxBSP建立:
安裝Toolchain與專案編譯環境設定
Bootloader簡介與U-boot編譯與使用
LinuxKernel配置與編譯
Rootfilesystem建立-使用buildroot/Yocto
FlashLayout配置與LinuxMTD
Opensource程式移植
gcc常用編譯參數說明與最佳化
Make、Makefile說明
GNUBuildSystem-Automake
BusyBox
嵌入式Linux實作整合應用
MediaPlayer:PortingMP3Player
NAS:PortingSAMBA
Wi-FiRouter:Wi-FiDriver,hostapd,dhcpd,bridge,...
IPCamera:PortingStreamingserver
第三階段 嵌入式Linux驅動程式實戰
不管你是要自己撰寫或移植,這都是資深嵌入式系統工程師的必修課。
熟悉Linux驅動程式架構並能實際動手撰寫Linux核心底層的驅動程式。
了解如何撰寫Linux硬體驅動程式,配合RaspberryPi硬體實戰GPIODriver、Linux中斷處理、UARTDriver、SPIDriver、I2CDriver、ADCDriver等Driver。
字元裝置Driver
LinuxMiscDevice
LinuxGPIO驅動程式forLED,Button,Relay
RaspberryPi3功能說明與BCM283x使用說明
Pi擴充卡硬體功能介紹與電路圖接腳說明
Linux中斷註冊&中斷控制器HAL層架構
Pi擴充卡硬體功能介紹與電路圖接腳說明
BottomHalves(Tasklet&WorkQueue)
進階字元Driver:
Non-blockingI/O:使用WaitQueue&completion機制
kernel對UserSpace通知:SIGIO信號非同步通知,call_usermodehelper()
KernelTimerList(Jiffies,timerticks)forLED閃爍
LinuxSerialport驅動程式forBluetooth模組
LinuxPlatformDevice&PlatformDriver架構
LinuxDeviceTree
LinuxSPIClient驅動程式forADCDriver(MCP3008)
LinuxIIODriver(LinuxIndustrialI/OSubsystem)
LinuxSPIBusmaster驅動程式forBCM2835SPIcontroller
LinuxI2CClient驅動程式forEEPROM
LinuxI2CBusmaster驅動程式forBCM2835I2Ccontroller
LinuxUserSpaceDriver-BCM2835CI/OLibrary
建議自備器材:1.讀卡機x12.Ethernet網路線x1(短的即可)
我想了解更多
Linux系統程式設計
▶了解Linuxsystemcall(如I/O,IPC,pthread等),而能運用這些systemcall實現linux程式,亦藉此了解OS在嵌入式系統所扮演的角色▶了解server/client程式運作與TCP/IP原理▶能夠以C語言實作TCP/UDP/RawSocket▶能夠以ioctl/fcntl/setsockop去控制Socket;的行為▶實現Broadcast,Multicast
LowLevelI/ORoutine
FileandDirectoryManipulation
GeneralLibraryInterface
Processes
Signals
POSIXThread
InterProcessCommunication
Shellprogramming
LinuxSerialProgramming
LinuxSokcetProgramming
Linux系統程式設計-LinuxSocket
TCP/IP網路簡介(1)
TCP/IP網路簡介(2)
Wireshark工具使用
TCPSocket程式與SocketAPI介紹
Socket多工處理
UDPSocket
UnixDomainSocket
SocketOption&Ioctl
ARMBootLoader設計
▶了解ARM核心架構與ARM例外處理▶能熟悉ARM組合語言並能撰寫Startupcode與LinkerScript▶配合RaspberryPi硬體自幹Bootcode
SoC基本架構
ARM處理器架構
ARM組合語言
Thumbmode
標準程序呼叫
ARMExceptionhandling/例外中斷處理
MemoryBarrier&Coprocessor
系統程式-Linker&startupcode
Bare-metalDevelopmentusingRaspberryPi3
認識BroadcomBCM283xSoC
RaspberryPi3開機流程
實作GPIO驅動-LED、Button
實作BCM2835中斷控制器
實作SystemTimer中斷
實作GPIO中斷
實作UART
GPU與ARM間的溝通用Mailbox界面實作Framebuffer
延伸學習-課程預覽
#ARMBootLoader
#Linux驅動程式
課程Q&A
▪艾鍗的嵌入式系統課程有什麼不一樣?
艾鍗強調"Howtodo"與"Trialanderror"並引導"Howtothink"的訓練方式,擔任本學程的講師皆為實際從事產品開發設計的資深RD工程師/研發經理,正因為如此,每一門課都是提供業界實際的開發方法,不僅提供原理、架構、觀念,我們更把實務上產品開發過程中所遇到的問題,累積解決問題的經驗整理成課程,透過Handsontraining的方式,教授業界實務開發要領與分享工程問題解決Know-How,讓你可以快速了解EmbeddedLinux的開發工作,並能真正將EmbeddedLinux導入產品開發。
▪如果未來我需要使用其他平台的開發環境,會有更換上的困難嗎?
這裡整理嵌入式開發經驗15年以上艾鍗講師的看法:EmbeddedSystem平台之間有獨特的地方,也有共通的地方,也受到個人經驗的影響。
舉例如要用I.MX:若OS依然是使用Linux的話,針對driver的部分皆適用在i.MX平台上,只是i.MX的一些周邊(I/O)busaddress會和Pi3不一樣,程式碼需做微調。
實務上會需要碰不同的平台,我每年也都會接觸到新平台,多接觸就會累積經驗,先孰悉一種平台再切換到另一個平台也會更加容易。
▪什麼是嵌入式系統?有哪些技術範疇?
「嵌入式系統」是一種嵌入在裝置內部,為特定應用而開發的計算機系統,嵌入式系統的設計可說是小規模的系統整合,是一涵蓋資訊、通訊、電子領域之專業;同時其技術領域縱跨軟體嵌入式作業系統RTOS、韌體、I/O介面及硬體裝置範疇。
因此從事嵌入式系統開發,必須具備能夠整合軟硬體的紮實功夫。
▪為什麼選擇用RaspberryPi來學習嵌入式Linux?
RaspberryPi是一片Linux-Based的開源硬體板子,其硬體線路&SoCDataSheet的揭露相較其他板子算是相當完整,對於想學習嵌入式Linux核心的開發,包含Linux裝置驅動式程式、LinuxUSB驅動程式、ARMBootloader開發不會一直遇到沒有硬體資訊的窘境。
此外,由於RaspberryPi拉出了40PinI/O介面(包含電源),對於想要以實戰方式學習Linux裝置驅動程式的人將會非常有感覺,而不僅僅是概念上的認知。
另外RaspberryPi3具有Wi-Fi和BLE,所以學習物聯網相關的技術,如IoTGateway、SensorNode設計等,硬體支援度也相當好。
其實不少人都玩過RaspberryPi,但多數人止於"使用"階段,很少真正懂得Pi內部的軟硬體架構設計。
艾鍗是以教授業界對於嵌入式Linux系統開發所需的職能作為訓練的目標,而RaspberryPi僅是我們硬體教學平台的選擇之一。
我們的訓練從空的SD卡開始,由核心原始碼編譯到根目錄檔案系統的完整建置。
接著你能熟悉Linux系統程式設計、看得懂DataSheet,理解LinuxDriver框架、了解Linux核心、並能實際完成Linux核心驅動程式。
接著你能更進一步挑戰ARMBootloader設計,理解ARMCPU架構與指令集、ARM中斷向量表與SoC間的行為,了解一個程式到底是如何被執行的種種細節。
(此時,你將真正搞懂什麼是"微處理器")。
▪AndroidHAL跟嵌入式Linux的關聯性在哪邊?
首先必須了解GoogleAndroidFramework,是一個GUI圖形系統。
而如何讓APP也能存取到底層的硬體如G-Sensor、GPS、WiFI等。
都必須有賴於AndroidFramework的HAL軟體架構.所謂的AndroidHAL,就是介接上層用JAVA寫的Frameworkcode和Linux底層的部份。
使得APP只看到HAL層,HAL內部負責底層Linux的溝通。
而底層硬體就是和linuxDriver有關了。
總之,底層要先能動,上層APP才可以用!
▪學嵌入式可以做什麼?
有這個技術在身,你可以開發:電腦/嵌入式系統一電腦、手機及其他消費性電子產品的開發、生醫儀器、ICT資通訊產品控制系統一自動控制系統(PID)、HMI程式、馬達驅動、機械手臂、機器人通訊系統一無線通訊、網卡開發更高階的系統整合應用還有:IoT物聯網—IoTGateway、SensorNode影像處理—安全監控設備、人臉/物件辨識應用
課程諮詢
姓名
電話
e-mail
已閱讀個資保護聲明
*請填寫正確的email,系統會自動將相關資訊寄到您的信箱
嵌入式Linux開發實務[學程]
最先上一篇1234下一篇最後
立即索取課程資訊
嵌入式Linux開發系列課程學程優惠開課日期:111/2/12(六)課程時段:假日上課上課時間:09:30~17:30 限時振興回饋75折 速洽
熱門推薦
12/12↑MCU微控制器培訓學程最後3名即將額滿,速洽!
12/12↑全能電路設計實戰班從原型設計到製造,硬底子養成
2/12 ↑ 嵌入式Linux開發實戰【15年以上經驗業師親授,產業實戰教學】循序漸進,導入完整開發流程與架構
4/9↑FPGA數位IC設計實戰【用FPGA更快速地把產品做出來】
E-learning↑5G關鍵技術-SDN完全新手也能快速上手
4/30↑AI深度學習影像辨識AI核心觀念到影像應用
Recruitment↑企業預約徵才歡迎企業預約專題成果展徵才
Email住址會使用灌水程式保護機制。
你需要啟動Javascript才能觀看它
『學員專屬』
最新消息
最新公告
近期研討
就業人才培訓計畫
研發實習生計畫
儲備講師生計畫
關於艾鍗
公司簡介
師資簡介
環境設備
會員廠商
活動相簿
交通資訊
企業服務
企業教育訓練
企業儲值優惠方案
企業徵才
技術成果分享
研發設計服務
合作夥伴專區
服務項目
職前訓練
實體課程
數位學習
電腦教室租借
社群資源
艾鍗Facebook
艾鍗YouTube頻道
艾鍗技術討論區
教學實錄分享
艾鍗LINE好友
訂閱艾鍗電子報
學員專區
個資保護聲明
學習地圖
學員見證
課程Q&A
學員權益
會員優惠方案
學員專屬提問平台Email住址會使用灌水程式保護機制。
你需要啟動Javascript才能觀看它
延伸文章資訊
- 1Embedded Linux(嵌入式Linux) - 尋找最初的初衷- 痞客邦
引言:Embedded Linux技術基於開放原始碼的資源,並且已經是當今最重要的嵌入式應用技術之一。Embedded Linux是燒錄在目標裝置上(特定硬體)的系統,1 ...
- 2給想從事Embedded Linux 開發工作的新手一個方向~
1. PC硬體零組件取得容易(除非真的要開發ARM driver or porting AP 再考慮買特定的實驗板) · 2. 可以藉此瞭解Linux開機流程(想做embedded system...
- 3Embedded Linux Primer 讀書筆記| Jason note
Embedded Linux Primer 讀書筆記 · 10.45.1. Chapter 2: The Big Picture · 10.45.2. Chapter 4:淺談Linux 核心 ...
- 4How to entry in Embedded Linux System.
有許多人大概跟我一樣, 剛開始玩ARM Base 的Embedded Linux , 在一開始一定面臨到, 不知從何下手的困擾. 看著許多坊間許多套件商開發出的開法板, ...
- 5艾鍗學院- 嵌入式Linux開發實務| 軟硬兼具
嵌入式Linux BSP 建立: 安裝Toolchain 與專案編譯環境設定; Boot loader 簡介與U-boot 編譯與使用; Linux Kernel 配置 ...