fbpx

FPGA 728x90 114

 

學習目標
 

1. 了解Linux系統環境並了解OS在嵌入式系統所伴演的角色。

2.  Multi-tasking是嵌入式系統的價值所在, 因此讓學員學會如何利用 Linux核心所提供的功能來實現多執緒程式,行程間通訊,網路Socket等多工應用。

3. 了解如何與底層Linux驅動程式溝通,多工 I/O 處理, Blocking I/O,Non-blocking I/O.範例包含 UART通訊,網路通訊 輸入輸出裝置。

4. 了解嵌入式Linux的架構、Makefile與Linker script 的撰寫, Open Source 移植方式與技巧。同時了解嵌入式 Linux開發的重要觀念與技術,如Flash layout Design, Bootloader ,File system 等。

課程大綱

第一階段- C語言程式設計
本課程將以「系統化」的方式學習C語言的基本及進階觀念,尤其是針對pointer、Struct與位元處理等嵌入式C方面的主題。

1.C資料型別
2.運算元及位元運算
3.流程控制(if..else, for, while…)
4.函式與巨集處理
5.陣列
6.指標
7.字串處理
8.檔案I/O
9.結構(struct, union, enum)
10.函式指標應用

第二階段 Linux開發環境架設
1. Linux系統使用的虛擬機器架設與安裝
2. Linux標準檔案系統架構剖析
3. 學習Linux常用指令與RPM安裝
4. 搜尋與管理檔案的方式
5. 重新編譯與安裝Linux的核心
6. 嵌入式開發環境Sever架設

第三階段 Linux系統程式設計
1. Linux系統程式架構與系統呼叫
2. 低階I/O處理與多工I/O裝置存取
3. 檔案與目錄處理
4. Processes 行程與行程控制
5. Signals 行程訊號處理
6. Threads 多執行緒與多工同步處理
7. IPC行程通訊
8. Shell 程式設計
9. Socket 網路程式 
10. Serial RS232 通訊程式 

第四階段 嵌入式Linux開發實務

建構一個完整的嵌入式Linux系統並了解業界如何開發嵌入式產品與進行生產。

1. 嵌入式Linux系統簡介與實務開發方式
2. 開發硬體平台說明
3. 軟體開發平台BSP 解說
4. 深入 GNU make
5. 移植 Open Source  
6. Linux Frame Buffer Device & GUI 圖形系統
7. Bootlloader (u-boot開發, init SDRAM, Flash, How to write Driver in U-bot....)
8. Linux 檔案系統 (JFFS2, CRAMFS, YAFFS,UBIFS...)
9. Linux MTD 裝置
10. GNU toolchain (Shared vs. Static Library, Linker Script, ELF Format, ar, objcopy, objdump, nm, libtool,etc. GCC Compiler . GDB,..)

 


延伸學習

 

歡迎學員提出你的想法,我們可以一起討論來從事你想要專題喔~