嵌入式系統(tǒng)軟件開發(fā)需要什么知識 嵌入式開發(fā)是什么?
嵌入式開發(fā)是什么?嵌入式開發(fā)是指依靠分置元件或集成器件并且電路設(shè)計、結(jié)構(gòu)設(shè)計,再進行軟件編程(大多是高級語言),實驗,在多輪修改設(shè)計、怎么制作,到最后成功整個系統(tǒng)的開發(fā)。這種嵌入式開發(fā),可以參照于未來
嵌入式開發(fā)是什么?
嵌入式開發(fā)是指依靠分置元件或集成器件并且電路設(shè)計、結(jié)構(gòu)設(shè)計,再進行軟件編程(大多是高級語言),實驗,在多輪修改設(shè)計、怎么制作,到最后成功整個系統(tǒng)的開發(fā)。
這種嵌入式開發(fā),可以參照于未來產(chǎn)品比較比較元素單一,產(chǎn)量比較大,產(chǎn)品開發(fā)周期都很長,成本控制比較比較嚴格一點的系統(tǒng)。
嵌入式學(xué)習(xí)需要基礎(chǔ)嗎?
嵌入式學(xué)習(xí)需要基礎(chǔ)嗎?這個問題其實很簡單。如果不是你想急速的入門學(xué)習(xí),你還有或則的基礎(chǔ)當(dāng)然了是會更合適的,比如會C語言。
如果你是0基礎(chǔ),這樣的話你從0結(jié)束也是可以學(xué)習(xí)的,沒有人天生就會的。而你要去學(xué)習(xí)嵌入式,那就不管有基礎(chǔ)的或沒有基礎(chǔ)都也不是做出決定你終于有學(xué)完的原因,比較多是看你個人的學(xué)習(xí)能力和毅力。這個答案適合任何的學(xué)習(xí)!?。。。?/p>
嵌入式是目前各種電子產(chǎn)品的技術(shù)核心,很多高校的計算機類和電子信息類專業(yè)都開辦了嵌入式系統(tǒng)的課程,而嵌入式系統(tǒng)是個軟硬件結(jié)合的系統(tǒng),差別技術(shù)方向要的基礎(chǔ)是差別的。
嵌入式技術(shù)主要分為軟件和硬件兩大方面:
硬件工程師比較多為嵌入式產(chǎn)品設(shè)計硬件電路原理圖,PCB板,你選擇元器件,調(diào)試硬件電路,絕對的保證電路板的可靠性、穩(wěn)定性和抗干擾能力。只不過現(xiàn)在行業(yè)發(fā)展迅速,大部分廠商都會能提供參考電路,所以才硬件電路原理圖是在成熟設(shè)計上后設(shè)計,重點工作是只要電路的可靠性、穩(wěn)定性和電磁兼容設(shè)計。嵌入式硬件工程師要學(xué)的基礎(chǔ)課程要注意有模擬電路設(shè)計、數(shù)字電路設(shè)計、電磁波理論等。并比較熟悉常用的放大電路、濾波電路、電源電路設(shè)計和分析。
軟件工程師樹要為嵌入式產(chǎn)品的功能需求設(shè)計好軟件,讓硬件跑起來。依據(jù)什么硬件平臺相同,軟件開發(fā)語言工具就差別了。目前最應(yīng)用范圍的教學(xué)平臺是實現(xiàn)ARM嵌入式Linux嵌入式系統(tǒng),在這個大型網(wǎng)游方向的嵌入式軟件工程師比較多學(xué)的基礎(chǔ)課程有Linux系統(tǒng)的基本上應(yīng)用,Linux的常用命令、C語言編程語言、數(shù)據(jù)結(jié)構(gòu)。
學(xué)本身應(yīng)該是三個盡海到有的過程,以上的基礎(chǔ)的掌握也能更飛快的掌握嵌入式系統(tǒng),不過以對于沒有任何基礎(chǔ)的人來說,學(xué)習(xí)嵌入式也并非是難事,可通過自學(xué)或則是他人輔導(dǎo)的來參與知識的補充。
都說嵌入式,簡單易學(xué),對于編程零基礎(chǔ)的人,感覺真的好難?
我是學(xué)物聯(lián)網(wǎng)工程專業(yè)的,嵌入式作為核心技術(shù),門檻只不過較高,但也跟其他事物一樣,并也不是堅不可摧。首先能介紹一下嵌入式,再大致談下學(xué)習(xí)方法與心得~
嵌入式系統(tǒng)是一種膠的計算機系統(tǒng),另外裝置或設(shè)備的一部分。正常情況嵌入式Web技術(shù)嵌入式系統(tǒng)是一個完全控制程序儲存在ROM中的嵌入式處理器控制板。國內(nèi)比較高能夠認同的嵌入式系統(tǒng)定義為:以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),軟硬件可布料裁剪,漸漸適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗等嚴格一點具體的要求的使用說明計算機系統(tǒng)。嵌入式計算機系統(tǒng)是整個嵌入式系統(tǒng)的核心,由硬件層、中間層、系統(tǒng)軟件層和應(yīng)用軟件層分成。去學(xué)習(xí)嵌入式之前,必須自學(xué)其他課程,有所謂0基礎(chǔ)是不可能的!
1、C語言《C程序設(shè)計語言》第二版,徐寶文譯,機械工業(yè)出版社。你能怎么區(qū)分開指針數(shù)組和數(shù)組指針嗎?你清楚指針類型嗎?你能區(qū)分開定義一個變量時系統(tǒng)給它分配的空間與用malloc()函數(shù)給一個變量分配的空間有什么不一樣嗎?
2、數(shù)據(jù)結(jié)構(gòu)《數(shù)據(jù)結(jié)構(gòu)》C語言版,黃國愉、葉乃青編,清華大學(xué)出版社。你能合上書本,用C語言實現(xiàn)方法書中的單鏈表、雙鏈表數(shù)據(jù)結(jié)構(gòu)嗎?
3、C《實用C 程序設(shè)計》第二版,電力出版社,Steve_Oualline著。此階段比較多是學(xué)其面向?qū)ο蟮木幊趟枷?,更深對C語言和數(shù)據(jù)結(jié)構(gòu)的理解。
4、單片機《51單片機》你能用51單片機做出決定一樣實際的東西嗎?況且它再很簡單!要盡量越深對自動的理解。
5、ARM單片機仔細讀《ARM微控制器基礎(chǔ)與實戰(zhàn)》周立工編譯程序,除非你不需要書中的開發(fā)板);
通讀具體芯片的原版英文文檔。如:arm920TE.pdf S3C2410_1.2.pdf。
6、uCOS!!操作系統(tǒng)仔細讀《嵌入式實時操作系統(tǒng)uC/OS-!!》第二版,召貝貝譯,你能把uCOS!!移植到自己的平臺上嗎?
能c語言設(shè)計在uCOS!!操作系統(tǒng)環(huán)境下運行程序的根據(jù)詳細硬件的驅(qū)動程序。
7、Linux認識Linux環(huán)境,去學(xué)習(xí)Linux環(huán)境編程,學(xué)習(xí)十字交叉編程:
細讀《linux命令大全.pdf》;
仔細讀《GNU Make 使用手冊(中譯版).pdf》;學(xué)習(xí)創(chuàng)建角色連在一起編程環(huán)境。8、Linux操作系統(tǒng)《UNIX環(huán)境高級編程》;
細讀“joyfire筆記”,可在“”網(wǎng)站的好書去下載欄目某些;
仔細讀《linux內(nèi)核完全注釋》;
通讀《understanding the linux kernel 2》;
用來源代碼閱讀理解利器工具"SourceInsight"接受唯一的linux內(nèi)核原碼刨析;
結(jié)果參與內(nèi)核移植,并能c語言設(shè)計在linux操作系統(tǒng)環(huán)境下正常運行的是對詳細硬件的驅(qū)動程序。
9、Linux設(shè)備驅(qū)動c語言程序可參考《Linux設(shè)備驅(qū)動程序》
10、復(fù)習(xí)啊C學(xué)用QT并且圖形界面編程:
研讀《QT編程寶典》;
能學(xué)會實際一欄QT電子文檔進行QTGUI去過編程;
去學(xué)習(xí)十字交叉編程(其實是把下命令qmake tmake)。
11、肯定,你也可去學(xué)習(xí)幫一下忙PCB的制作和設(shè)計一個自己的CPU(即軟殼)
嵌入式是軟硬件結(jié)合的技術(shù),搞嵌入式軟件的人躲避ARM處理器工作原理和接術(shù)有充分清楚,包括ARM的匯編指令系統(tǒng)。若不打聽一下處理器原理,咋能控制硬件工作,怎末能寫出省掉內(nèi)存又不運行高速的更優(yōu)代碼(嵌入式軟件設(shè)計特別講陰陽時空效率),怎摸能描寫驅(qū)動程序(驅(qū)動程序大都與硬件拉好關(guān)系的)?