一:Linux 基礎
1、熟悉:①安裝Linux 作業系統 ②Linux 啟動過程詳解 ③Linux 檔案系統 ④Linux 常用指令
2、認識:①Linux 服務能夠獨立安裝 ②Linux 作業系統能夠熟練使用 ③Linux 的基本指令
3、設定:①Linux 的常用服務、安裝Linux 作業系統 ②Linux 基本指令實踐
4、使用:①Linux 的環境變量定制Linux 的服務 ②SHELL 程式設計基礎使用VI 編輯器或其他編輯器
二:SHELL 基礎
1、SHELL 簡介
2、認識背景BASH 程式設計,熟悉Linux 下的程式設計環境
3、熟悉Linux 下的各種SHELL,熟練進行SHELL 程式設計,熟悉VI基本操作,比較不同SHELL的差別
4、編寫一個測試伺服器是否連接配接的SHELL 腳本程式
5、編寫一個檢視程序是否存在的SHELL 的腳本程式
6、編寫一個帶有循環語句的SHELL 腳本程式
三:Linux 下的C 語言程式設計基礎
1、Linux 下C語言環境概述,GCC使用方法,GDB調試技術,Autoconf,Automake,Makefile代碼優化
2、熟悉Linux 下的開發環境,熟悉GCC 編譯器,熟悉Makefile 規則
3、編寫Hello World 程式使用make 指令編譯程式
4、編寫一個帶有循環的程式,調試一個有問題的程式
四:嵌入式開發基礎
1、嵌入式系統概述
2、交叉編譯,配置TFTP 服務,配置NFS 服務
3、下載下傳BootLoader 和核心
4、嵌入式Linux 應用軟體開發流程
5、熟悉嵌入式系統概念及開發流程
6、建立嵌入式系統開發環境
7、制作cross_gcc 工具鍊,編譯并下載下傳U-boot,編譯并下載下傳Linux 核心,編譯并下載下傳Linux應用程式
五:嵌入式系統移植
1、Linux 核心代碼、平台相關代碼分析,
2、ARM 平台介紹,平台移植的關鍵技術
3、移植Linux 核心到ARM平台
4、了解移植的概念能夠移植Linux 核心
5、移植Linux2.6 核心到ARM9 開發闆
六:嵌入式Linux 序列槽通信
1、串行I/O 的基本概念
2、嵌入式Linux 應用軟體開發流程
3、Linux 系統的檔案和裝置,與檔案相關系統的調用
4、配置超級終端和MinCOM
5、能夠熟練進行序列槽通信
6、熟悉檔案I/O
7、編寫序列槽通信程式
8、編寫多序列槽通信程式
七:嵌入式系統多線程設計
1、Linux 系統程序概述
2、嵌入式系統的程序特點,程序操作守護程序相關的系統調用
3、了解Linux 系統中程序的概念,能夠編寫多程序程式
4、編寫多程序程式,編寫一個守護程序程式
5、Sleep 系統調用任務管理器、同步與通信
6、Linux 任務概述,任務排程
7、管道,信号,共享任務管理,API
8、了解Linux 系統任務管理機制
9、熟悉程序間通信的幾種方式
10 熟悉Linux 任務劍同步與通信
11 編寫一個簡單的管道程式實作檔案傳輸,編寫一個共享記憶體的程式
八:嵌入式Linux 網絡程式設計
1、網絡知識基礎:
①嵌入式Linux 中TCP/IP 網絡結構
②SOCKET 程式設計
③常用API 函數
④分析ping 指令的實作
⑤基本UDP 套接口程式設計許可證管理
⑥PPP 協定
⑦GPRS
2、了解嵌入式Linux 網絡體系結構
①能夠進行Linux 環境下socket 程式設計
②熟悉UDP 協定、PPP 協定、
③熟悉GPRS,使用socket 編寫代理伺服器,編寫許可證伺服器
④指出TCP 和UDP 的優缺點
3、編寫一個Web 伺服器,編寫一個運作在ARM 平台上的網絡播放器
九:GUI 開發
1、GUI 基礎
①嵌入式系統GUI 類型
②編譯QT
③進行QT 開發熟悉嵌入式常用的GUI
④能夠進行QT 程式設計,使用Q T 編寫一個HELLO WORLD 程式
2、調試一個加入信号/槽的程式,通過重載QWindget 類方法處理事件
十:Linux 字元驅動裝置程式
1、裝置驅動程式基本知識:
①Linux 系統的子產品
②字元裝置驅動分析
③fs_operation 結構
④加載驅動程式,了解驅動程式的概念
⑤了解Linux 字元裝置驅動程式結構
2、能夠編寫字元裝置驅動程式,編寫skull 驅動,編寫鍵盤驅動,編寫I/O 驅動
3、分析一個看門狗驅動程式
4、對比核心Linux2.6 中與2.4 中的驅動程式的字元裝置驅動程式的不同Linux 塊的裝置驅動程式塊,裝置驅動程式工作原理
5、典型塊裝置驅動程式分析,塊裝置的讀寫請求隊列
6、了解Linux 塊裝置驅動程式結構,能夠編寫簡單的塊裝置驅動程式,比較字元裝置與塊裝置的異同,編寫MMC 卡驅動程式
7、分析一個檔案系統對比Linux2.6 核心與2.4 核心中塊裝置驅動程式的不同
十一:檔案系統
1、虛拟檔案系統,檔案系統的建立,ramfs 檔案系統,proc 檔案系統,devfs 檔案系統
2、MTD 技術簡介,MTD 塊裝置初始化,MTD 塊裝置的讀寫操作
3、了解Linux 系統的檔案系統,了解嵌入式Linux 的檔案系統,了解MTD 技術,能夠編寫簡單的檔案系統為ARM9 開發闆添加MTD 支援
4、移植JFFS2 檔案系統,通過proc 檔案系統修改作業系統參數,分析rofms 檔案系統源代碼,建立一個cramfs 檔案系統