嵌入式軟件開發(fā)學(xué)習(xí)路線(嵌入式軟件開發(fā)教程)
本篇文章給大家談?wù)勄度胧杰浖_發(fā)學(xué)習(xí)路線,以及嵌入式軟件開發(fā)教程對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。
本文目錄一覽:
- 1、嵌入式軟件開發(fā)到底需要學(xué)習(xí)哪些知識(shí)??
- 2、學(xué)習(xí)嵌入式開發(fā)的步驟?先看什么書,后看什么書?
- 3、嵌入式軟件工程師需要學(xué)什么專業(yè)
嵌入式軟件開發(fā)到底需要學(xué)習(xí)哪些知識(shí)??
模電不需要,那是做芯片的人學(xué),嵌入式數(shù)電就夠了,學(xué)好c,c++就夠了那是不可能的,錢不會(huì)這么好賺吧,會(huì)c,c
++的滿大街都是,大學(xué)誰(shuí)沒(méi)考過(guò)計(jì)算機(jī)2級(jí)啊,如果你一個(gè)月兩三千就夠了,那就c,c++吧,如果想賺多的,兩三萬(wàn)一月,都得精通,別人不行的,你得行,精通c哪要那么久,而且實(shí)力和時(shí)間沒(méi)很大關(guān)系,有些人很水,又笨,教也教不會(huì)就沒(méi)辦法了,有些人無(wú)師自通,人與人的差別還是挺大的,而且這個(gè)東西主要靠自己鉆研的
純手打啊。。。
學(xué)習(xí)嵌入式開發(fā)的步驟?先看什么書,后看什么書?
推薦到華清遠(yuǎn)見的網(wǎng)站上了解嵌入式學(xué)習(xí)的課程設(shè)置和相關(guān)書籍。
如果是希望向嵌入式軟件方向發(fā)展的話,目前最常見的是嵌入式Linux方向,關(guān)于這個(gè)方向,我認(rèn)為大概分3個(gè)階段:
1、嵌入式linux上層應(yīng)用,包括QT的GUI開發(fā)
2、嵌入式linux系統(tǒng)開發(fā)
3、嵌入式linux驅(qū)動(dòng)開發(fā)
嵌入式目前主要面向的幾個(gè)操作系統(tǒng)是,LINUX,WINCE、VxWorks等等
Linux是開源免費(fèi)的,而且其源代碼是開放的,更加適合我們學(xué)習(xí)嵌入式。
所以你可以嘗試以下路線:
(1) C語(yǔ)言是所有編程語(yǔ)言中的強(qiáng)者,單片機(jī)、DSP、類似ARM的種種芯片的編程都可以用C語(yǔ)言搞定),因此必須非常熟練的掌握。
推薦書籍:《The C Programming Language》 這本經(jīng)典的教材是老外寫的,也有中譯版本。
(2) 操作系統(tǒng)原理,是必需的,如果你是計(jì)算機(jī)專業(yè)畢業(yè)那也就無(wú)所謂了,如果是非計(jì)算機(jī)專業(yè)的就必須找一本比較淺顯的計(jì)算機(jī)原理書籍看一看,把啥叫“進(jìn)程”“線程”“系統(tǒng)調(diào)度”等等基本問(wèn)題搞清楚。
(3) Linux操作系統(tǒng)就是用C語(yǔ)言編寫的,所以你也應(yīng)該先學(xué)習(xí)下Linux方面的編程,只有你會(huì)應(yīng)用了,才能近一步去了解其內(nèi)核的精髓。
推薦書籍:《UNIX環(huán)境高級(jí)編程》(第2版)
(4) 了解ARM的架構(gòu),原理,以及其匯編指令,我們?cè)谇度胧介_發(fā)中,一般很少去寫匯編,但是最起碼的要求是能夠看懂a(chǎn)rm匯編。
(5) 系統(tǒng)移植的時(shí)候,就需要你從最下層的bootloader開始,然后內(nèi)核移植,文件系統(tǒng)移植等。而移植這部分對(duì)硬件的依賴是非常大的,其配置步驟也相對(duì)復(fù)雜,也沒(méi)有太多詳細(xì)資料。
(6) 驅(qū)動(dòng)開發(fā)
linux驅(qū)動(dòng)程序設(shè)計(jì)既是個(gè)極富有挑戰(zhàn)性的領(lǐng)域,又是一個(gè)博大精深的內(nèi)容。
linux驅(qū)動(dòng)程序設(shè)計(jì)本質(zhì)是屬于linux內(nèi)核編程范疇的,因而是對(duì)linux內(nèi)核和內(nèi)核編程是有要求的。在學(xué)習(xí)前你要想了解linux內(nèi)核的組成,因?yàn)槊恳徊糠忠敿?xì)研究的話足夠可以擴(kuò)展成一本厚書。
以上只不過(guò)是大概的框架,在實(shí)際的開發(fā)中還會(huì)涉及很多東西,比如:交叉編譯、makefile、shell腳本等等,所以說(shuō)學(xué)習(xí)嵌入式的周期較長(zhǎng),門檻較高,自學(xué)的話更是需要較強(qiáng)的學(xué)習(xí)能力和專業(yè)功底。只要能堅(jiān)持下來(lái)一定會(huì)取得成功!
你可以到華清遠(yuǎn)見網(wǎng)站上了解更多嵌入式的相關(guān)資料。各大書店及圖書館也有華清遠(yuǎn)見出版的暢銷嵌入式專業(yè)圖書,了解一下相信對(duì)你有幫助!
嵌入式軟件工程師需要學(xué)什么專業(yè)
嵌入式軟件工程師需要學(xué)什么?
對(duì)嵌入式LINUX操作系統(tǒng)及其上應(yīng)用軟件開發(fā)目標(biāo):
1、 掌握主流嵌入式微處理器的結(jié)構(gòu)與原理(ARM9相對(duì)比較容易)。
2、 必須掌握一個(gè)嵌入式操作系統(tǒng),如LINUX系統(tǒng),這是一個(gè)開源的系統(tǒng)。
3、 必須熟悉嵌入式軟件開發(fā)流程并做一些嵌入式軟件項(xiàng)目。
學(xué)習(xí)路線:
1、硬件知識(shí)
對(duì)于硬件部分要求并不高,只要能看懂原理圖,看懂通信協(xié)議,看懂芯片手冊(cè)就可以。不求能設(shè)計(jì)原理圖,更不求能設(shè)計(jì)電路板。如果能有一些《數(shù)字電路》的基礎(chǔ)就更好,沒(méi)有也沒(méi)關(guān)系。我們主要掌握硬件工作原理。要掌握常見硬件,如ADC,PWM,UART、I2C、SPI等。
2、編程語(yǔ)言學(xué)習(xí)
學(xué)習(xí)C語(yǔ)言,推薦C語(yǔ)言的設(shè)計(jì)者Dennis M. Ritchie和著名計(jì)算機(jī)科學(xué)家Brian W. Kernighan編寫的一部介紹標(biāo)準(zhǔn)C語(yǔ)言及其程序設(shè)計(jì)方法的著作,《C程序設(shè)計(jì)語(yǔ)言》。
3、學(xué)習(xí)LINUX系統(tǒng)編程
首先學(xué)會(huì)使用了解LINUX,學(xué)習(xí)LINUX命令,軟件安裝,工具使用。
學(xué)習(xí)文件IO,多進(jìn)程多線程,進(jìn)程間通信,套接字等。推薦《UNIX環(huán)境高級(jí)編程》,《TCP/IP詳解 卷一》
4、學(xué)習(xí)LINUX設(shè)備驅(qū)動(dòng)
首先需要學(xué)習(xí)LINUX內(nèi)核基礎(chǔ)部分,包括內(nèi)核配置編譯,內(nèi)核模塊,并發(fā)控制,字符設(shè)備,設(shè)備模型,平臺(tái)設(shè)備等。
在學(xué)習(xí)常用驅(qū)動(dòng)框架,如INPUT系統(tǒng),幀緩沖驅(qū)動(dòng),網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng),塊設(shè)備驅(qū)動(dòng),音頻設(shè)備驅(qū)動(dòng)等,掌握這些驅(qū)動(dòng)框架,了解原理,總結(jié)哪些部分需要我們實(shí)現(xiàn)?;A(chǔ)部分可以參考《Linux設(shè)備驅(qū)動(dòng) 第三版》,該書雖然老,但是原理講的比較透徹,還可以參考。驅(qū)動(dòng)框架可以到網(wǎng)上搜素資料,網(wǎng)上有很多關(guān)于驅(qū)動(dòng)框架的介紹,這里就不推薦具體的文章,大家可以自己找一下。
關(guān)于嵌入式軟件開發(fā)學(xué)習(xí)路線和嵌入式軟件開發(fā)教程的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。