嵌入式Linux學(xué)習(xí)思路及參考資料(ARM+LINUX路線)
嵌入式人才需求 (1)嵌入式應(yīng)用工程師:主要面向計(jì)算機(jī),軟件工程相關(guān)專業(yè)。其基于某個(gè)平臺(tái),例如嵌入式Linux 、Vxworks、Symbian、WinCE的上層應(yīng)用軟件開發(fā),開發(fā)語言主要采用嵌入式C/C++,主要領(lǐng)域網(wǎng)絡(luò)、圖形、數(shù)據(jù)庫、音頻、視頻處理等。 (2)嵌入式系統(tǒng)工程師:主要面向電子信息相關(guān)專業(yè),基于某個(gè)處理器內(nèi)核,例如ARM、MIPS、PPC等,主要開發(fā)語言為匯編語言及嵌入式C語言編程,主要從事BootLoader,操作系統(tǒng)及中間件移植等工作。 (3)嵌入式驅(qū)動(dòng)工程師:主要面向電子信息、計(jì)算機(jī)相關(guān)專業(yè)。基于某個(gè)處理器,例如2410、2440、6410等平臺(tái),開發(fā)語言主要為嵌入式C語言,主要從事接口驅(qū)動(dòng),例如 嵌入式相關(guān)課程的學(xué)生都具備以下基本能力: (1)至少一種嵌入式處理器(ARM)。 (2)至少一種嵌入式操作系統(tǒng)(Linux)。 (3)一套嵌入式開發(fā)工具(ADS, GCC、嵌入式交叉編譯調(diào)試環(huán)境)。 (4)一類開發(fā)語言(ARM匯編、C、C++)。 另外,必須熟悉嵌入式軟件開發(fā)流程并至少做一個(gè)嵌入式軟件項(xiàng)目。 從事嵌入式軟件開發(fā)的好處是: (1)目前國(guó)內(nèi)外這方面的人都很稀缺。 (2)與企業(yè)計(jì)算等應(yīng)用軟件不同,嵌入式領(lǐng)域人才的工作強(qiáng)度通常低一些(但收入不低)。 (3)嵌入式不像應(yīng)用軟件那樣容易被盜版。 從事嵌入式軟件開發(fā)的缺點(diǎn)是: (1)入門起點(diǎn)較高,所用到的技術(shù)往往都有一定難度,若軟硬件基礎(chǔ)不好,特別是操作系統(tǒng)級(jí)軟件功底不深,則可能不適于此行。 (2)這方面的企業(yè)數(shù)量要遠(yuǎn)少于企業(yè)計(jì)算類企業(yè)。 (3)有少數(shù)公司經(jīng)常要碩士以上的人搞嵌入式,主要是基于嵌入式的難度。但大多數(shù)公司也并無此要求,只要有經(jīng)驗(yàn)即可。 (4)平臺(tái)依托強(qiáng),換平臺(tái)比較辛苦。 方法步驟: 1、基礎(chǔ)知識(shí):數(shù)字電路、計(jì)算機(jī)組成原理、C/C++、數(shù)據(jù)結(jié)構(gòu)和算法、操作系統(tǒng)、網(wǎng)絡(luò)、數(shù)據(jù)庫。 特別是嵌入式C。 C參考 1. the c++ programming language 2. Pointers on C 《C和指針》 3. C traps and pitfalls 《C陷阱與缺陷》 4. Expert C Lanuage 《專家C編程》 2. Linux學(xué)習(xí):使用linux—〉linxu應(yīng)用編程開發(fā)—〉驅(qū)動(dòng)開發(fā)和分析linux內(nèi)核,先別急著研究?jī)?nèi)核源代碼,那東西沒有幾個(gè)人弄得完全懂。 Linux基礎(chǔ) 1、《Linux與Unix Shell 編程指南》 2、《Red Hat Linux 9系統(tǒng)管理與服務(wù)器配置》人民郵電出社 linxu應(yīng)用編程開發(fā) 1、《UNIX Network Programming(第3版本)》機(jī)械工業(yè)出版社(UNP) 網(wǎng)絡(luò)編程用 2、《UNIX環(huán)境高級(jí)編程(第2版本)》 清華大學(xué)出版社 系統(tǒng)調(diào)用及編程工具書 3、《Linux高級(jí)程序設(shè)計(jì)(第2版本)》 人民郵電 楊宗德著 系統(tǒng)調(diào)用及編程 有很多示例,初學(xué)者很不錯(cuò) 驅(qū)動(dòng)開發(fā)和分析linux內(nèi)核 1、《Linux內(nèi)核設(shè)計(jì)與實(shí)現(xiàn)》 陳莉君 機(jī)械工業(yè)出版社 2、《Linux設(shè)備驅(qū)動(dòng)開發(fā)》(LDD)中國(guó)電力出版社 3.ARM+linux嵌入式系統(tǒng)開發(fā) ARM基礎(chǔ)學(xué)習(xí) 1、《嵌入式ARM系統(tǒng)原理與實(shí)例開發(fā)(第2版本)》 北京大學(xué)出社 2、《ARM體系結(jié)構(gòu)與編程》杜春雷 3、S3C2410 Datasheet 嵌入Linux開發(fā) 買塊板子,調(diào)試程序。 其實(shí)很多人有誤區(qū),覺得學(xué)嵌入式要有板子,在后期確實(shí)如此,但如果基礎(chǔ)達(dá)不到,也就把例子拿來跑跑,只有以上基礎(chǔ),基本功達(dá)到才能夠真正開發(fā)。 深入學(xué)習(xí)(到這個(gè)時(shí)候,不用上網(wǎng)看帖子,你也知道你應(yīng)該學(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ù)字證書CA等。 D、DSP技術(shù):Digital Signal Process,DSP處理器通過硬件實(shí)現(xiàn)數(shù)字信號(hào)處理算法。 |
|