本文轉自迅為討論群:http://www.topeetboard.com 學(xué)習步驟如下: 安裝Linux操作系統 Linux文件系統 Linux常用命令 Linux啟動(dòng)過(guò)程詳解 熟悉Linux服務(wù)能夠獨立安裝Linux操作系統 能夠熟練使用Linux系統的基本命令 認識Linux系統的常用服務(wù)安裝Linux操作系統 Linux基本命令實(shí)踐 設置Linux環(huán)境變量 定制Linux的服務(wù) Shell 編程基礎使用vi編輯文件 使用Emacs編輯文件 使用其他編輯器 2、Shell 編程基礎 Shell簡(jiǎn)介 認識后臺程序 Bash編程熟悉Linux系統下的編輯環(huán)境 熟悉Linux下的各種Shell 熟練進(jìn)行shell編程熟悉vi基本操作 熟悉Emacs的基本操作 比較不同shell的區別 編寫(xiě)一個(gè)測試服務(wù)器是否連通的shell腳本程序 編寫(xiě)一個(gè)查看進(jìn)程是否存在的shell腳本程序 編寫(xiě)一個(gè)帶有循環(huán)語(yǔ)句的shell腳本程序 3、Linux 下的 C 編程基礎 linux C語(yǔ)言環(huán)境概述 Gcc使用方法 Gdb調試技術(shù) Autoconf Automake Makefile 代碼優(yōu)化 熟悉Linux系統下的開(kāi)發(fā)環(huán)境 熟悉Gcc編譯器 熟悉Makefile規則編寫(xiě)Hello,World程序 使用 make命令編譯程序 編寫(xiě)帶有一個(gè)循環(huán)的程序 調試一個(gè)有問(wèn)題的程序 嵌入式系統概述 交叉編譯 配置TFTP服務(wù) 配置NFS服務(wù) 下載Bootloader和內核 嵌入式Linux應用軟件開(kāi)發(fā)流程 熟悉嵌入式系統概念以及開(kāi)發(fā)流程 建立嵌入式系統開(kāi)發(fā)環(huán)境制作cross_gcc工具鏈 編譯并下載U-boot 編譯并下載Linux內核 編譯并下載Linux應用程序 嵌入式系統移植 Linux內核代碼 平臺相關(guān)代碼分析 平臺移植的關(guān)鍵技術(shù) 移植Linux內核到 ARM平臺 了解移植的概念 能夠移植Linux內核移植Linux2.6內核到 ARM9開(kāi)發(fā)板 5、嵌入式 Linux 下串口通信 串行I/O的基本概念 嵌入式Linux應用軟件開(kāi)發(fā)流程 Linux系統的文件和設備 與文件相關(guān)的系統調用 配置超級終端和MiniCOM 能夠熟悉進(jìn)行串口通信 熟悉文件I/O 編寫(xiě)串口通信程序 編寫(xiě)多串口通信程序 6、嵌入式系統中多進(jìn)程程序設計 Linux系統進(jìn)程概述 嵌入式系統的進(jìn)程特點(diǎn) 進(jìn)程操作 守護進(jìn)程 相關(guān)的系統調用了解Linux系統中進(jìn)程的概念 能夠編寫(xiě)多進(jìn)程程序編寫(xiě)多進(jìn)程程序 編寫(xiě)一個(gè)守護進(jìn)程程序 sleep系統調用任務(wù)管理、同步與通信 Linux任務(wù)概述 任務(wù)調度 管道 信號 共享內存 任務(wù)管理 API 了解Linux系統任務(wù)管理機制 熟悉進(jìn)程間通信的幾種方式 熟悉嵌入式Linux中的任務(wù)間同步與通信 編寫(xiě)一個(gè)簡(jiǎn)單的管道程序實(shí)現文件傳輸 編寫(xiě)一個(gè)使用共享內存的程序 7、嵌入式系統中多線(xiàn)程程序設計 線(xiàn)程的基礎知識 多線(xiàn)程編程方法 線(xiàn)程應用中的同步問(wèn)題了解線(xiàn)程的概念 能夠編寫(xiě)簡(jiǎn)單的多線(xiàn)程程序編寫(xiě)一個(gè)多線(xiàn)程程序 8、嵌入式 Linux 網(wǎng)絡(luò )編程 網(wǎng)絡(luò )基礎知識 嵌入式Linux中TCP/IP網(wǎng)絡(luò )結構 socket 編程 常用 API函數 分析Ping命令的實(shí)現 基本UDP套接口編程 許可證管理 PPP協(xié)議 GPRS 了解嵌入式Linux網(wǎng)絡(luò )體系結構 能夠進(jìn)行嵌入式Linux環(huán)境下的socket 編程 熟悉UDP協(xié)議、PPP協(xié)議 熟悉GPRS 使用socket 編寫(xiě)代理服務(wù)器 使用socket 編寫(xiě)路由器 編寫(xiě)許可證服務(wù)器 指出TCP和UDP的優(yōu)缺點(diǎn) 編寫(xiě)一個(gè)web服務(wù)器 編寫(xiě)一個(gè)運行在 ARM平臺的網(wǎng)絡(luò )播放器 9、GUI 程序開(kāi)發(fā) GUI基礎 嵌入式系統GUI類(lèi)型 編譯QT 進(jìn)行QT開(kāi)發(fā)熟悉嵌入式系統常用的GUI 能夠進(jìn)行QT編程使用QT編寫(xiě)“Hello,World”程序 調試一個(gè)加入信號/槽的實(shí)例 通過(guò)重載QWidget 類(lèi)方法處理事件 10、Linux 字符設備驅動(dòng)程序 設備驅動(dòng)程序基礎知識 Linux系統的模塊 字符設備驅動(dòng)分析 fs_operation結構 加載驅動(dòng)程序了解設備驅動(dòng)程序的概念 了解Linux字符設備驅動(dòng)程序結構 能夠編寫(xiě)字符設備驅動(dòng)程序編寫(xiě)Skull驅動(dòng) 編寫(xiě)鍵盤(pán)驅動(dòng) 編寫(xiě)I/O驅動(dòng) 對比Linux2.6內核與2.4內核中字符設備驅動(dòng)的不同 Linux 塊設備驅動(dòng)程序塊設備驅動(dòng)程序工作原理 典型的塊設備驅動(dòng)程序分析 塊設備的讀寫(xiě)請求隊列了解Linux塊設備驅動(dòng)程序結構 能夠編寫(xiě)簡(jiǎn)單的塊設備驅動(dòng)程序比較字符設備與塊設備的異同 編寫(xiě)MMC卡驅動(dòng)程序 分析一個(gè)文件系統 對比Linux2.6內核與2.4內核中塊設備驅動(dòng)的不同 11、文件系統 虛擬文件系統 文件系統的建立 ramfs內存文件系統 proc文件系統 devfs 文件系統 MTD技術(shù)簡(jiǎn)介 MTD塊設備初始化 MTD塊設備的讀寫(xiě)操作了解Linux系統的文件系統 了解嵌入式Linux的文件系統 了解MTD技術(shù) 能夠編寫(xiě)簡(jiǎn)單的文件系統為 ARM9開(kāi)發(fā)板添加 MTD支持 移植JFFS2文件系統 通過(guò)proc文件系統修改操作系統參數 分析romfs 文件系統源代碼 創(chuàng )建一個(gè)cramfs 文件系統
|