嵌入式linux學(xué)習(xí)步驟(精)(10)_第1頁(yè)
嵌入式linux學(xué)習(xí)步驟(精)(10)_第2頁(yè)
嵌入式linux學(xué)習(xí)步驟(精)(10)_第3頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、一1、Linux 根底安裝 Linux 操作系統(tǒng) Linux 文件系統(tǒng) Linux 常用命令 Linux 啟動(dòng)過(guò)程詳解 熟悉 Linux 服 務(wù)能夠獨(dú)立安裝 Linux 操作系統(tǒng) 能夠熟練使用 Linux 系統(tǒng)的根本命令 認(rèn)識(shí) Linux 系統(tǒng)的常 用效勞安裝 Linux 操作系統(tǒng) Linux 根本命令實(shí)踐 設(shè)置 Linux 環(huán)境變量 定制 Linux 的效勞 Shell編程根底使用vi編輯文件使用Emacs編輯文件使用其他編輯器2、Shell 編程根底Shell 簡(jiǎn)介 認(rèn)識(shí)后臺(tái)程序 Bash 編程熟悉 Linux 系統(tǒng)下的編輯環(huán)境 熟悉 Linux 下的各種Shell熟練進(jìn)行shell編程熟

2、悉vi根本操作 熟悉Emacs的根本操作 比擬不同shell的區(qū) 別 編寫(xiě)一個(gè)測(cè)試效勞器是否連通的 shell 腳本程序 編寫(xiě)一個(gè)查看進(jìn)程是否存在的 shell 腳本程序 編寫(xiě)一個(gè)帶有循環(huán)語(yǔ)句的 shell 腳本程序3、Linux 下的 C 編程根底linux C 語(yǔ)言環(huán)境概述 Gcc 使用方法 Gdb 調(diào)試技術(shù) Autoconf Automake Makefile 代碼優(yōu) 化 熟悉 Linux 系統(tǒng)下的開(kāi)發(fā)環(huán)境 熟悉 Gcc 編譯器 熟悉 Makefile 規(guī)那么編寫(xiě) Hello, chi dazzle ,World 程序 使用 make 命令編譯程序 編寫(xiě)帶有一個(gè)循環(huán)的程序 調(diào)試一個(gè)有問(wèn)題

3、的 程序4、嵌入式系統(tǒng)開(kāi)發(fā)根底嵌入式系統(tǒng)概述交叉編譯 配置TFTP效勞配置NFS效勞 下載Bootloader和內(nèi)核 嵌入式Linux 應(yīng)用軟件開(kāi)發(fā)流程熟悉嵌入式系統(tǒng)概念以及開(kāi)發(fā)流程建立嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境制作cross_gcc 工具鏈 編譯并下載 U-boot 編譯并下載 Linux 內(nèi)核 編譯并下載 Linux 應(yīng)用程序5、嵌入式系統(tǒng)移植Linux內(nèi)核代碼平臺(tái)相關(guān)代碼分析 ARM平臺(tái)介紹平臺(tái)移植的關(guān)鍵技術(shù)移植Linux內(nèi)核到 ARM平臺(tái)了解移植的概念能夠移植Linux內(nèi)核移植Linux2.6內(nèi)核到ARM9開(kāi)發(fā)板6、嵌入式 Linux 下串口通信串行 I/O 的根本概念 嵌入式 Linux 應(yīng)

4、用軟件開(kāi)發(fā)流程 Linux 系統(tǒng)的文件和設(shè)備 與文件相 關(guān)的系統(tǒng)調(diào)用 配置超級(jí)終端和 MiniCOM 能夠熟悉進(jìn)行串口通信 熟悉文件 I/O 編寫(xiě)串口通 信程序 編寫(xiě)多串口通信程序7、嵌入式系統(tǒng)中多進(jìn)程程序設(shè)計(jì)Linux 系統(tǒng)進(jìn)程概述 嵌入式系統(tǒng)的進(jìn)程特點(diǎn) 進(jìn)程操作 守護(hù)進(jìn)程 相關(guān)的系統(tǒng)調(diào)用了解 Linux 系統(tǒng)中進(jìn)程的概念 能夠編寫(xiě)多進(jìn)程程序編寫(xiě)多進(jìn)程程序 編寫(xiě)一個(gè)守護(hù)進(jìn)程程序 sleep 系統(tǒng)調(diào)用任務(wù)管理、 同步與通信 Linux 任務(wù)概述任務(wù)調(diào)度 管道 信號(hào) 共享內(nèi)存 任務(wù) 管理 API 了解 Linux 系統(tǒng)任務(wù)管理機(jī)制 熟悉進(jìn)程間通信的幾種方式 熟悉嵌入式 Linux 中 的任務(wù)間同

5、步與通信編寫(xiě)一個(gè)簡(jiǎn)單的管道程序?qū)崿F(xiàn)文件傳輸編寫(xiě)一個(gè)使用共享內(nèi)存的程序8、嵌入式系統(tǒng)中多線程程序設(shè)計(jì)線程的根底知識(shí) 多線程編程方法 線程應(yīng)用中的同步問(wèn)題了解線程的概念 能夠編寫(xiě)簡(jiǎn)單的 多線程程序編寫(xiě)一個(gè)多線程程序9、嵌入式 Linux 網(wǎng)絡(luò)編程網(wǎng)絡(luò)根底知識(shí) 嵌入式 Linux 中 TCP/IP 網(wǎng)絡(luò)結(jié)構(gòu) socket 編程 常用 API 函數(shù) 分析 Ping 命 令的實(shí)現(xiàn) 根本UDP套接口編程 許可證管理PPP協(xié)議GPRS 了解嵌入式Linux網(wǎng)絡(luò)體系結(jié) 構(gòu)能夠進(jìn)行嵌入式 Linux環(huán)境下的socket編程熟悉UDP協(xié)議、PPP協(xié)議熟悉GPRS使用 socket編寫(xiě)代理效勞器使用socket編寫(xiě)

6、路由器編寫(xiě)許可證效勞器指出TCP和UDP的優(yōu) 缺點(diǎn) 編寫(xiě)一個(gè)web效勞器 編寫(xiě)一個(gè)運(yùn)行在 ARM平臺(tái)的網(wǎng)絡(luò)播放器10、GUI 程序開(kāi)發(fā)GUI根底 嵌入式系統(tǒng) GUI類型 編譯QT進(jìn)行QT開(kāi)發(fā)熟悉嵌入式系統(tǒng)常用的 GUI能夠進(jìn)行 QT編程使用QT編寫(xiě)“ Hello,World 程序 調(diào)試一個(gè)參加信號(hào)/槽的實(shí)例 通過(guò)重載QWidget 類方法處理事件11、Linux 字符設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序根底知識(shí) Linux 系統(tǒng)的模塊 字符設(shè)備驅(qū)動(dòng)分析 fs_operation 結(jié)構(gòu) 加載驅(qū) 動(dòng)程序了解設(shè)備驅(qū)動(dòng)程序的概念 了解 Linux 字符設(shè)備驅(qū)動(dòng)程序結(jié)構(gòu) 能夠編寫(xiě)字符設(shè)備驅(qū) 動(dòng)程序編寫(xiě) Skull

7、驅(qū)動(dòng) 編寫(xiě)鍵盤(pán)驅(qū)動(dòng) 編寫(xiě) I/O 驅(qū)動(dòng) 分析一個(gè)看門(mén)狗驅(qū)動(dòng)程序 比照 Linux2.6 內(nèi)核與 2.4 內(nèi)核中字符設(shè)備驅(qū)動(dòng)的不同 Linux 塊設(shè)備驅(qū)動(dòng)程序塊設(shè)備驅(qū)動(dòng)程序工 作原理 典型的塊設(shè)備驅(qū)動(dòng)程序分析 塊設(shè)備的讀寫(xiě)請(qǐng)求隊(duì)列了解 Linux 塊設(shè)備驅(qū)動(dòng)程序結(jié) 構(gòu)能夠編寫(xiě)簡(jiǎn)單的塊設(shè)備驅(qū)動(dòng)程序比擬字符設(shè)備與塊設(shè)備的異同編寫(xiě)MMC卡驅(qū)動(dòng)程序分析一個(gè)文件系統(tǒng) 比照 Linux2.6 內(nèi)核與 2.4 內(nèi)核中塊設(shè)備驅(qū)動(dòng)的不同12、文件系統(tǒng)虛擬文件系統(tǒng) 文件系統(tǒng)的建立 ramfs 內(nèi)存文件系統(tǒng) proc 文件系統(tǒng) devfs 文件系統(tǒng) MTD 技術(shù)簡(jiǎn)介MTD塊設(shè)備初始化MTD塊設(shè)備的讀寫(xiě)操作了解 Lin

8、ux系統(tǒng)的文件系統(tǒng)了解嵌入式Linux的文件系統(tǒng) 了解MTD技術(shù)能夠編寫(xiě)簡(jiǎn)單的文件系統(tǒng)為ARM9開(kāi)發(fā)板添加MTD支持移植 JFFS2 文件系統(tǒng) 通過(guò) proc 文件系統(tǒng)修改操作系統(tǒng)參數(shù) 分析 romfs 文件系統(tǒng)源代碼 創(chuàng)立一個(gè) cramfs 文件系統(tǒng)二學(xué)習(xí)掌握嵌入 Linux 的開(kāi)發(fā)與移植 各種學(xué)習(xí)文章與培訓(xùn)班,充滿書(shū)店現(xiàn)在非常流行。街頭。筆者 也上了路,經(jīng)歷漫長(zhǎng)的摸索, 終于一日開(kāi)竅,但確實(shí) 糟蹋了 很多 金錢(qián)與時(shí)間。 作為 窮人,現(xiàn)寫(xiě)下自己的感受,供 好學(xué)寒士 參考。第一要點(diǎn):實(shí)驗(yàn)重于看書(shū) 多編碼,少翻書(shū)一定首先搭建 x86 實(shí)驗(yàn)環(huán)境。 用舊電腦周末電腦城拋售存貨,有新的 ,搭建一套 實(shí)

9、驗(yàn)環(huán)境。host 主機(jī) : 一臺(tái) PC 機(jī)能夠跑 redhat linux ,看問(wèn)檔 就可以了 , 配網(wǎng)卡與軟驅(qū) target 目標(biāo)機(jī): 一塊舊 PC 主板,配一張網(wǎng)卡和一個(gè)軟驅(qū),電源。附件: 交 *網(wǎng)線 ,交 *串口線夠了,不會(huì)超過(guò) 3 千元已經(jīng)很滿足了軟件全部到 電腦城 /網(wǎng)站 下載。先不管什么 arm ppc mips, 以后看看文檔吧。第二重點(diǎn): GNU C 編譯在 PC 上安裝 redhat linux 包括 開(kāi)發(fā)工具。熟悉 linux 的配置命令。練習(xí) linux 的 C 語(yǔ)言編程,多個(gè)程序的編譯工程制作。無(wú)聊的話,將 C 語(yǔ)言教材的例程,編譯十幾個(gè),熟悉 GNU 編譯器。 包括

10、gcc make ld objdump ar等 GNU toolkit第三重點(diǎn): realtime linux 內(nèi)核編程 /加載到目標(biāo)板運(yùn)行。1。下載 rt-linux , 或 uclinux 或什么 非 redhat 的 linux 源碼, 一定 是包括 ,編譯工程 makefile, 并且 for x86 PC 的。2 。修改和配置程序,將 rtlinux 的 標(biāo)準(zhǔn) console 口 改為串口,不是 vga 與鍵盤(pán)。3 。在 redhat linux 環(huán)境下,編譯 這個(gè) embedded linux 內(nèi)核。用 mkboot 的這樣程序或按代碼中工具, 將編譯好的內(nèi)核執(zhí)行文件 拷貝定位軟盤(pán)

11、引導(dǎo)區(qū)。4 。用這張軟盤(pán)引導(dǎo)在目標(biāo) PC 主板 。在 PC 主機(jī)的 串口終端上配置 PC 主板目標(biāo)機(jī)。 效果同 redhat linux terminal console一樣。以后越來(lái)月難,堅(jiān)持。第四個(gè)重點(diǎn) 編譯跑通網(wǎng)卡的驅(qū)動(dòng)程序下載編譯 你的網(wǎng)卡驅(qū)動(dòng)源碼 跑通 主機(jī)與目標(biāo)機(jī)的 網(wǎng)絡(luò)通訊。 不要太動(dòng)頭想, ping 通就是了。第五個(gè)重點(diǎn) 用 tftp 下載執(zhí)行文件從 PC 主機(jī) 到 目標(biāo)機(jī)運(yùn)行。第六個(gè)重點(diǎn) GNU GDB 遠(yuǎn)程在線調(diào)試網(wǎng)口調(diào)試第七個(gè)重點(diǎn) 實(shí)時(shí)內(nèi)核學(xué)習(xí) /修改照文章 /書(shū) 分析調(diào)試 /破壞 內(nèi)核的源碼。主要是 調(diào)度 /消息 /存儲(chǔ) /文件/進(jìn)程/線程/互斥 等 單獨(dú)跑跑, 了解內(nèi)

12、核功能就是了 第八個(gè)重點(diǎn) TCP/IP 的學(xué)習(xí) 下載一個(gè) 簡(jiǎn)單的 web server ( server) 學(xué)習(xí)理解,并編譯加載運(yùn)行。將 PC 主板目標(biāo)機(jī) 看作網(wǎng)站效勞器,然后在 PC 主機(jī)的網(wǎng)絡(luò)瀏難器中 訪問(wèn)這個(gè) web server. 有興趣,把你的照片加載到目標(biāo)機(jī)的 html 網(wǎng)頁(yè)中。第九個(gè)重點(diǎn) 網(wǎng)卡驅(qū)動(dòng)程序分析了解 PCI 總線原理,嘗試獨(dú)立寫(xiě)點(diǎn)網(wǎng)卡驅(qū)動(dòng)程序,過(guò)濾以太報(bào)文的處理。 跟蹤處理 特殊的報(bào) 文。第十個(gè)重點(diǎn) USB 和 FLASH 文件系統(tǒng)練習(xí)。 可以跳過(guò) 可以分析修改 USB 與 FLASH 文件系統(tǒng)源碼。 一定要分析源碼,上網(wǎng)查 FLASH 的型號(hào)。第十一

13、個(gè)重點(diǎn) 路由器實(shí)驗(yàn)。分析 zebra 方面的源碼,再買(mǎi)一張網(wǎng)卡。嘗試分析 NAT RIP 等協(xié)議,將你的 PC 板目標(biāo)機(jī),變成一臺(tái)簡(jiǎn)單的路由器。以后的實(shí)驗(yàn) 需要根據(jù) 行業(yè)來(lái),例如, mini-GUI ( 圖形編程,或 DVR ( 硬盤(pán)錄象機(jī) ,或 IP Vedio WebTV 效勞器可以玩好幾年,當(dāng)然最好找工作前,有針對(duì)地做實(shí)驗(yàn)。一句話,動(dòng)手修改編碼,不要只看看。三嵌入式 Linux 操作系統(tǒng)學(xué)習(xí)規(guī)劃ARM+LINUX 路線,主攻嵌入式 Linux 操作系統(tǒng)及其上應(yīng)用軟件開(kāi)發(fā)目標(biāo): 1 掌握主流嵌入式微處理器的結(jié)構(gòu)與原理初步定為arm9 2 必須掌握一個(gè)嵌入式操作系統(tǒng)初步定為 uclinux

14、或 linux, 版本待定3 必須熟悉嵌入式軟件開(kāi)發(fā)流程并至少做一個(gè)嵌入式軟件工程。 從事嵌入式軟件開(kāi)發(fā)的好處是:1目前國(guó)內(nèi)外這方面的人都很稀缺。 這一領(lǐng)域入門(mén)門(mén)檻較高, 所以非專業(yè) IT 人員很難切 入這一領(lǐng)域;另一方面,是因?yàn)檫@一領(lǐng)域較新,目前開(kāi)展太快,大多數(shù)人無(wú)條件接觸。 2與企業(yè)計(jì)算等應(yīng)用軟件不同,嵌入式領(lǐng)域人才的工作強(qiáng)度通常低一些但收入不低 3哪天假設(shè)想創(chuàng)業(yè),搞自已的產(chǎn)品,嵌入式不像應(yīng)用軟件那樣容易被盜版。硬件設(shè)計(jì)一 般都是請(qǐng)其它公司給訂做這叫 “貼牌 : OEM ,都是通用的硬件,我們只管設(shè)計(jì)軟件就變 成自己的產(chǎn)品了。4興趣所在,這是最主要的。 從事嵌入式軟件開(kāi)發(fā)的缺點(diǎn)是: 1入門(mén)

15、起點(diǎn)較高,所用到的技術(shù)往往都有一定難度,假設(shè)軟硬件根底不好,特別是操作 系統(tǒng)級(jí)軟件功底不深,那么可能不適于此行。2這方面的企業(yè)數(shù)量要遠(yuǎn)少于企業(yè)計(jì)算類企業(yè)。 3有少數(shù)公司經(jīng)常要碩士以上的人搞嵌入式,主要是基于嵌入式的難度。但大多數(shù)公司 也并無(wú)此要求,只要有經(jīng)驗(yàn)即可。4平臺(tái)依托強(qiáng),換平臺(tái)比擬辛苦。興趣的由來(lái):1、成功觀念不同,不虛度此生,就是我的成功。2、喜歡思考,挑戰(zhàn)邏輯思維。3、喜歡 CC 是一種能發(fā)揮思維極限的語(yǔ)言。關(guān)于 C 的精神的一些方面可以被概述成短句如下: 相信程序員。不要阻止程序員做那些需要去做的。保持語(yǔ)言短小精干。 一種方法做一個(gè)操作。使得它運(yùn)行的夠快,盡管它并不能保證將是可移植

16、的。4、喜歡底層開(kāi)發(fā),討厭 vb 類開(kāi)發(fā)工具并不是說(shuō) vb 不好。5、開(kāi)展前景好,適合創(chuàng)業(yè),不想自己要死了的時(shí)候還是一個(gè)工程師。 方法步驟:1、根底知識(shí):目的: 能看懂硬件工作原理,但重點(diǎn)在嵌入式軟件,特別是操作系統(tǒng)級(jí)軟件,那將是我的優(yōu) 勢(shì)??颇浚簲?shù)字電路、電腦組成原理、嵌入式微處理器結(jié)構(gòu)。匯編語(yǔ)言、 C/C+ 、編譯原理、離散數(shù)學(xué)。 數(shù)據(jù)結(jié)構(gòu)和算法、操作系統(tǒng)、軟件工程、網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)。 方法: 雖科目眾多, 但都是較簡(jiǎn)單的根底, 且大局部已掌握。 不一定全學(xué), 可根據(jù)需要選修。 主攻書(shū)籍: the c+ programming language 一直沒(méi)時(shí)間讀 、數(shù)據(jù)結(jié)構(gòu) -C2。2、學(xué)習(xí) li

17、nux :目的:深入掌握 linux 系統(tǒng)。方法:使用 linux linxu 系統(tǒng)編程開(kāi)發(fā) 驅(qū)動(dòng)開(kāi)發(fā)和分析 linux 內(nèi)核。先看深, 那主講原理。 看幾遍后, 看情景分析, 對(duì)照深看, 兩本交叉, 深是綱, 情是目。 剖析那么是 0.11 版,適合學(xué)習(xí)。最后深入代碼。主攻書(shū)籍: linux 內(nèi)核完全剖析、 unix 環(huán)境高級(jí)編程、 深入理解 linux 內(nèi)核、 情景分析和源代。3、學(xué)習(xí)嵌入式 linux : 目的:掌握嵌入式處理器其及系統(tǒng)。方法:1嵌入式微處理器結(jié)構(gòu)與應(yīng)用:直接arm 原理及匯編即可,不要重復(fù) x86。2嵌入式操作系統(tǒng)類: ucOS/II 簡(jiǎn)單,開(kāi)源,可供入門(mén)。而后深入研究

18、uClinux 。3必須有塊開(kāi)發(fā)板arm9以上,有條件可參加培訓(xùn)進(jìn)步快,能認(rèn)識(shí)些朋友。主攻書(shū)籍:毛德操的?嵌入式系統(tǒng)?及其他arm9手冊(cè)與arm匯編指令等。4、深入學(xué)習(xí):A、 數(shù)字圖像壓縮技術(shù):主要是應(yīng)掌握MPEG、mp3等編解碼算法和技術(shù)。B、 通信協(xié)議及編程技術(shù):TCP/IP 協(xié)議、802.11, Bluetooth,GPRS、GSM、CDMA 等。C、 網(wǎng)絡(luò)與信息平安技術(shù):如加密技術(shù),數(shù)字證書(shū)CA等。D、DSP 技術(shù): Digital Signal Process , DSP 處理器通過(guò)硬件實(shí)現(xiàn)數(shù)字信號(hào)處理算法。 說(shuō)明: 太多細(xì)節(jié)未說(shuō)明, 可根據(jù)實(shí)際情況調(diào)整。 重點(diǎn)在于 1、 3,不必完

19、全按照順序作。對(duì)于學(xué)習(xí)C+,理由是C+不只是一種語(yǔ)言,一種工具,她還是一種藝術(shù),一種文化,一種 哲學(xué)理念、但不是拿來(lái)炫耀得東西。對(duì)于 linux 內(nèi)核,學(xué)習(xí)編程,讀一些優(yōu)秀代碼也是有必 要的。注意: 要學(xué)會(huì)舉一反多,有強(qiáng)大的根底, 很多東西簡(jiǎn)單看看就能會(huì)。想成為合格的 程序員, 前提是必須熟練至少一種編程語(yǔ)言, 并具有良好的邏輯思維。 一定要理論結(jié)合實(shí)踐。不要一味鉆研技術(shù), 雖然擠出時(shí)間是很難做到的, 但還是要留點(diǎn)余地去完善其他的愛(ài) 好,比方宇宙,素描、機(jī)械、管理,心理學(xué)、游戲、科幻電影。還有一些不愿意做但必須要 做的!技術(shù)是通過(guò)編程編程在編程編出來(lái)的。 永遠(yuǎn)不要夢(mèng)想一步登天, 不要做急躁的人

20、, 不 要覺(jué)得路途漫上。而是要編程編程在編程,完了在編程,在編程!等時(shí)機(jī)來(lái)了在創(chuàng)業(yè)不要 相信有奇跡發(fā)生,盲目創(chuàng)業(yè)很難成功,即便成功了開(kāi)展空間也不一定很大。嵌入式書(shū)籍推薦Linux 根底1、?Linux 與 Unix Shell 編程指南?C 語(yǔ)言根底1、?C Primer Plus, 5th Edition?【美】Stephen Prata著2、?The C Programming Language, 2nd Edition ?【 美】 Brian W. Kernighan David M. Rithie K & R 著3、?AdvanCed Programming in the UN

21、IX Environment , 2nd Edition ?APUE4、?嵌入式 Linux 應(yīng)用程序開(kāi)發(fā)詳解?Linux 內(nèi)核1、?深入理解 Linux 內(nèi)核?第三版2、 ? Linux 內(nèi)核源代碼情景分析?毛德操胡希明著研發(fā)方向1、?UNIX Network Programming ?UNP2、?TCP/IP 詳解?3、? Linux 內(nèi)核編程?4、?Linux 設(shè)備驅(qū)動(dòng)開(kāi)發(fā)? LDD5、 ? Linux 高級(jí)程序設(shè)計(jì)?楊宗德著硬件根底1、?ARM 體系結(jié)構(gòu)與編程?杜春雷著2、S3C2410 Datasheet英語(yǔ)根底1、?電腦與通信專業(yè)英語(yǔ)?系統(tǒng)教程1、?嵌入式系統(tǒng)一一體系結(jié)構(gòu)、編程與設(shè)

22、計(jì)?2、?嵌入式系統(tǒng) 采用公開(kāi)源代碼和 StrongARM/Xscale 處理器? 毛德操 胡希明著3、? Building Embedded Linux Systems ?4、?嵌入式 ARM 系統(tǒng)原理與實(shí)例開(kāi)發(fā)? 楊宗德著 理論根底1、?算法導(dǎo)論?2、?數(shù)據(jù)結(jié)構(gòu) C 語(yǔ)言版?3、?電腦組織與體系結(jié)構(gòu) ?性能分析?4、?深入理解電腦系統(tǒng)? 【美】 Randal E. Bryant David O''Hallaron 著5、?操作系統(tǒng):精髓與設(shè)計(jì)原理?6、?編譯原理?7、?數(shù)據(jù)通信與電腦網(wǎng)絡(luò)?8、?數(shù)據(jù)壓縮原理與應(yīng)用?C 語(yǔ)言書(shū)籍推薦1. The C program ming

23、Ian guage ?C程序設(shè)計(jì)語(yǔ)言?2. Poi nters on C ?C和指針?3. C traps and pitfalls?C陷阱與缺陷?4. Expert C Lan uage?專家C編程?5. Writing Clean Code Microsoft Techiniques for Developing Bug-free C Programs?編程精粹-Microsoft編寫(xiě)優(yōu)質(zhì)無(wú)錯(cuò)C程序秘訣?6. Programming Embedded Systems in C and C+ ?嵌入式系統(tǒng)編程?7. ? C 語(yǔ)言嵌入式系統(tǒng)編程修煉?8. ?高質(zhì)量 C+/C 編程指南?林銳盡可

24、能多的編碼,要學(xué)好 C,不能只注重 C本身。算法,架構(gòu)方式等都很重要。這里很多書(shū)其實(shí)是推薦而已,不必太在意,關(guān)鍵還是根底,才是重中之重!四嵌入式 Linux 學(xué)習(xí)的根本的原那么是通學(xué) +專長(zhǎng)。通學(xué),即了解該方向的相關(guān)領(lǐng)域,但是 “通不等于 “泛,對(duì)待學(xué)習(xí)應(yīng)該舉一反三,把握 事物的本質(zhì)。如果能用通用的思想去解決問(wèn)題,那么才算學(xué)有小成。比方,五一學(xué)習(xí)MarkBalch 的? COMPLETE DIGITAL DESIGN ?后,對(duì)嵌入式系統(tǒng)在上電之后,軟硬件如何配 合工作有了更深入的理解。 雖然這本書(shū)不是介紹嵌入式系統(tǒng), 但是很多技術(shù)是通用的。 有開(kāi) 放的思維, 把握自己研究的中心, 把其他領(lǐng)域的

25、方法思想吸收過(guò)來(lái)為我所用, 這樣可以對(duì)研 究中心有更為深入的認(rèn)識(shí)。專長(zhǎng),即研究中心。通學(xué)的目的在于打好根底,融會(huì)貫穿。但是僅僅如此是不夠的。因 為通學(xué)不可能把每個(gè)方向都研究精深, 人的精力畢竟是有限的嘛, 所以要有自己感興趣的方 向,以此作為研究中心, 深入深入再深入, 成為該方向的專家。 以通促專, 提煉自己的思想,以開(kāi)放的思維謀求最大的提升!我選擇的研究領(lǐng)域是嵌入式系統(tǒng) ARM+Linux ,在該領(lǐng)域有四種類型的工作: 1、系統(tǒng)設(shè)計(jì)2、硬件設(shè)計(jì)3、驅(qū)動(dòng)開(kāi)發(fā)及內(nèi)核移植4、應(yīng)用開(kāi)發(fā)基于我目前的認(rèn)識(shí), 研究中心是驅(qū)動(dòng)開(kāi)發(fā)及內(nèi)核移植, 爭(zhēng)取以后做系統(tǒng)設(shè)計(jì), 成為嵌入 式系統(tǒng)設(shè)計(jì)工程師。嵌入式 Li

26、nux 學(xué)習(xí)分為三個(gè)階段 : 第一階段:建立嵌入式 Linux 知識(shí)體系框架。 第二階段:深入學(xué)習(xí)嵌入式 Linux 的根本技術(shù)。 第三階段:精深專長(zhǎng)。這三個(gè)階段可以交叉。第一階段通過(guò) 2006 年暑假兩個(gè)月的強(qiáng)化學(xué)習(xí),已經(jīng)完成?,F(xiàn)在 正在進(jìn)行第二階段的學(xué)習(xí)。這個(gè)階段關(guān)注嵌入式 Linux 軟件開(kāi)發(fā)的根本技術(shù),包括: JTAG 的工作原理及其實(shí)現(xiàn) 以JFIash為主、bootloader的原理及實(shí)現(xiàn)以U-boot為主、kernel 移植與開(kāi)發(fā)嘗試、 2.6.X 、FS 制作嘗試 ramdisk 、cromfs 等、應(yīng)用程序的移植根本 掌握開(kāi)發(fā)、調(diào)試和診斷技術(shù)。在這個(gè)階段,同時(shí)打好硬件根底掌握

27、S3C2410 和軟件基 礎(chǔ) bash 、C 和根本的開(kāi)發(fā)工具 。第三個(gè)階段在讀研期間,以研究 OS 原理和 Linux 內(nèi)核 源代碼為主,與第二階段交叉進(jìn)行。其實(shí),每天進(jìn)步一點(diǎn)點(diǎn),把這一點(diǎn)點(diǎn)所學(xué)加到已經(jīng)建立的知識(shí)體系框架中,日積月累, 思想認(rèn)識(shí)必定會(huì)有所提升。 雖然都認(rèn)可寧可斷其一指, 不可傷其十指, 但是應(yīng)該成認(rèn)人的認(rèn) 識(shí)是有局限性的。比方學(xué)習(xí) A 時(shí),因缺乏實(shí)踐等各方面原因,可能認(rèn)識(shí)不深入,也許在學(xué) 習(xí) B 時(shí)突然認(rèn)識(shí)到了。所以一定要舉一反三,而且要反復(fù)學(xué)習(xí)。記住根底的技術(shù),努力學(xué) 習(xí)先進(jìn)技術(shù),不停止前進(jìn)的腳步。五【序】學(xué)習(xí) Linux 開(kāi)發(fā)近一年,由于我是實(shí)驗(yàn)室第一個(gè)從事這方面開(kāi)發(fā)的,

28、學(xué)習(xí) 過(guò)程中遇到了很多問(wèn)題, 可是總是求師無(wú)門(mén), 只能一個(gè)人自己摸索, 同時(shí)也充分 利用了網(wǎng)絡(luò),參考了廣闊 CSDN 博友及相關(guān)論壇的帖子,在此表示感謝!嵌入式Linux的學(xué)習(xí)涵蓋的范圍比擬廣,下從 bootloader,到內(nèi)核移植、文件系 統(tǒng),中間的驅(qū)動(dòng)開(kāi)發(fā),到上層的應(yīng)用程序調(diào)試、開(kāi)發(fā)環(huán)境等,變化莫測(cè),經(jīng)常是 別人的能用自己的就有問(wèn)題。由于缺乏他人適當(dāng)指點(diǎn), 自己在學(xué)習(xí)過(guò)程中也走了很多彎路, 整個(gè)開(kāi)發(fā)環(huán)境的搭 建整了 N久,更搞笑的是經(jīng)常聽(tīng)說(shuō)模塊加載insmod,可連這個(gè)命令在主機(jī)還是 ARM 上用都沒(méi)搞明白,那叫一個(gè)汗??!大家勿笑,嵌入式 Linux 的初學(xué)者確實(shí) 對(duì)交叉環(huán)境比擬不懂,我是其一啊?,F(xiàn)在適逢好友小布丁要學(xué)習(xí)嵌入式 Linux,就將近一年來(lái)的學(xué)習(xí)體會(huì)總結(jié)下,整 理了一個(gè)總體的學(xué)習(xí)方案, 希望給那些曾經(jīng)像我一樣彷徨的人一些幫助。 后續(xù)將 完善此文檔,上傳到個(gè)人空間上,先貼出目錄。本人水平有限,不當(dāng)之處,還請(qǐng) 大家指正!小布丁同學(xué)曾在我處于困境時(shí)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論