你有這樣的問題嗎?

▪ 想從事嵌入式開發,卻不知道該如何切入?

▪ 有8051、AVR單晶片等MCU開發經驗,如I2C、SPI等,但不知如何將這些Driver移植Linux到 平台

▪ 不清楚Linux系統程式設計、Linux 驅動程式的進入點在那裡?

▪ 不懂Linux 驅動程式要如何跟上層的應用程式溝通?不同的硬體裝置對Linux驅動程式的架構是 不是也不同?

▪ 在Linux多工的環境下,程式該如何處理多工並同時存取?同步I/O與非同步I/O、中斷、DMA 等I/O方式,Linux程式應如何撰寫?

▪ 看過一些Linux 驅動程式的書籍,但卻看不懂?或者是......好像懂,但卻又不知如何寫Linux驅 動程式?

課程詳細介紹

我可以學到什麼?
1.清楚掌握C語言的基本及進階觀念、嵌入式系統常用的技巧,並了解程式架構的可維護性、模 組化。

2.能夠掌握程式的重要觀念,了解”軟體程式=演算法+資料結構”熟悉不同的設計模式與何時會 應用

3.了解Raspberry Pi的功能與應用,並透過Raspberry Pi 踏入 嵌入式Linux 的世界

4.了解Linux system call ,而能運用它實現Linux程式,亦藉此了解OS在嵌入式系統所扮演的 角色
5.了解 server/client程式運作與 TCP/IP原理,並能夠以 C語言實作 TCP/UDP/Raw Socket

6.學會如何在嵌入式Linux開發多執緒Pthread程式、網路Socket通訊程式

7.了解Linux Driver撰寫的各個層面,包含核心API、中斷處理、同步、記憶體管理等等

8.可以了解user-space與kernel-space之間的關係,Linux Device Driver與Linux作業系統的 觀念,為將來的Driver coding打下良好的基礎

9.能具備撰寫Linux硬體驅動程式的能力,實戰GPIO, UART, I2C, SPI等Linux Driver,讓你能 快速了解硬體架構及軟體架構

10.了解ARM核心的指令集、記憶體處理器(MMU)、中斷處理,並了解ARM CPU如何和GPU通 訊

11.學習以bare-metal (Non-OS)方式驅動如,GPIO、UART、TIMER等I/O

12.透過實作ARM Bootstrap Loader,你可以了解從最底層的ARM Assembly到C main函式所 發生的每一件事

課程大綱

➤精通C語言 ➤資料結構 ➤Raspberry Pi開發入門實作 ➤Linux系統程式設計 ➤嵌入式Linux 驅動程式 ➤ARM Bootloader設計

課程難度

入門

立即報名

數位課程1:1諮詢 0 元 2017/12/31 00:00 ~ 2018/11/08 19:00 立即報名

本課程由 itc9988 發佈

課程問答

我要提問

對課程有任何問題,都歡迎在這裡向開課單位提問