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