學(xué)習(xí)嵌入式怎么入門 學(xué)好嵌入式必須要學(xué)的課程有什么?比如c?
學(xué)好嵌入式必須要學(xué)的課程有什么?比如c?感謝邀請。這個問題也許是困惱所有嵌入式初學(xué)者的難題,下面課內(nèi)容是嵌入式學(xué)習(xí)必學(xué)的:C語言C操作系統(tǒng)計算機(jī)組成原理linux編程51單片機(jī)arm硬件編程語言(FP
學(xué)好嵌入式必須要學(xué)的課程有什么?比如c?
感謝邀請。
這個問題也許是困惱所有嵌入式初學(xué)者的難題,下面課內(nèi)容是嵌入式學(xué)習(xí)必學(xué)的:C語言C操作系統(tǒng)計算機(jī)組成原理linux編程51單片機(jī)arm硬件編程語言(FPGA)模擬電路amp數(shù)字電路。
1、cc語言,這是計算機(jī)行業(yè)的必修課,可以找扎得嚴(yán)把英語學(xué)好,也可以按裝turboc編譯器為開發(fā)環(huán)境,交流C語言編程安裝好vc6.0自學(xué)C編程。
2、操作系統(tǒng),先在電腦上安裝好一個vmwareworkstation,然后再在vmwareworkstation里按裝一個linux(redhat企業(yè)版)虛擬機(jī)。怎么學(xué)習(xí)幫一下忙操作系統(tǒng)的基本原理,熟得不能再熟linux環(huán)境下的開發(fā)環(huán)境,然后你就這個可以跟著《自己動手寫操作系統(tǒng)》寫個操作系統(tǒng)試下。
3、計算機(jī)組成原理,認(rèn)識計算機(jī)的基本原理,看看吧一個計算機(jī)的都差不多組成及軟件在里面是如何能跑的。
4、《unix/linux編程實踐教程》可以算是linux編程的必修課,很還好的一本書,初學(xué)嵌入式的朋友可以看一下。
5、單片機(jī),不過應(yīng)該是一臺電腦,像現(xiàn)在的汽車完全控制、led控制、屏幕亮光程度控制,它都這個可以實現(xiàn)方法,自己買塊開發(fā)板弄再看看,你能只學(xué)很多的別人學(xué)過了的。
6、arm,現(xiàn)在流行的微機(jī),說白了是32位的單片機(jī),還也可以跑操作系統(tǒng)哦,自己想辦法移植一個操作系統(tǒng)上去吧
7、硬件編程語言(FPGA),芯片不知道是怎摸制作成的,去學(xué)習(xí)這門課,你就很清楚了
8、模擬電路amp數(shù)字電路,硬件的基礎(chǔ),要是也可以的話,去學(xué)習(xí)下protel99,自己做個硬件pcb板試一下。
計算機(jī)這行是更適合于實踐的課程,所以才要不太注重動手能力,學(xué)習(xí)嵌入式這基本是課程的時候,你也可以遵循這樣的順序來學(xué)習(xí):
1:C語言、計算機(jī)組成原理、模擬電路amp數(shù)字電路
2:匯編語言、單片機(jī)、操作系統(tǒng)、C
3:硬件編程語言、arm
嵌入式開發(fā)無它分四個方向,硬件、驅(qū)動、內(nèi)核、應(yīng)用,如果是只希望向嵌入式軟件方向發(fā)展中的話,目前最常見的是
嵌入式LinuxARM方向,關(guān)于這個方向,差不多分3個階段:
1、嵌入式linux上層應(yīng)用,以及QT的GUI開發(fā)
2、嵌入式linux系統(tǒng)開發(fā)
3、嵌入式linux驅(qū)動開發(fā)嵌入式目前通常面向的幾個操作系統(tǒng)是,LINUX,WINCE、VxWorks等等Linux是開源能免費的,但其源代碼是開放的,更加合適我們學(xué)嵌入式。
在家自學(xué)的話你可以不接觸以上路線:
(1)C語言是所有編程語言中的強者,單片機(jī)、DSP、類似于ARM的諸般芯片的編程都是可以用C語言一切搞定),但需要太熟練的掌握。推薦書籍:清華出版社的很還好,《The C Programming Language》這書最經(jīng)典的教材是老外寫的,也有中譯版本。
(2)操作系統(tǒng)原理,是必須的,如果你是計算機(jī)專業(yè)本科畢業(yè)那也就無所謂了,如果是非計算機(jī)專業(yè)的就要找一本比較淺顯的計算機(jī)原理書籍去看一看,把啥叫“進(jìn)程”“線程”“系統(tǒng)調(diào)度”等等基本上問題搞清楚。
(3)Linux操作系統(tǒng)就是用C語言c語言程序的,所以我你也估計先自學(xué)下Linux方面的編程,唯有你會應(yīng)用形式了,才能近三步去了解其內(nèi)核的精髓。幫我推薦書籍:《UNIX環(huán)境高級編程》(第2版)
(4)了解ARM的架構(gòu),原理,這些其匯編指令,我們在嵌入式開發(fā)中,一般很少去寫匯編,但最少的要求是能夠看的懂a(chǎn)rm匯編。
(5)系統(tǒng)移植技術(shù)的時候,就不需要你從下層的bootloader就開始,然后內(nèi)核移植,文件系統(tǒng)移植等。而移植這部分對硬件的依賴是更加大的,其電腦配置步驟也相對于復(fù)雜,也還沒有太大詳細(xì)資料。
(6)驅(qū)動開發(fā)完畢linux驅(qū)動程序設(shè)計你乃個極富有挑戰(zhàn)性的領(lǐng)域,又是一個淵源流傳的內(nèi)容。linux驅(qū)動程序設(shè)計本質(zhì)是一類linux內(nèi)核編程范疇的,致使是對linux內(nèi)核和內(nèi)核編程是有要求的。在學(xué)習(xí)前你要想了解linux內(nèi)核的組成,只不過每一部分要詳細(xì)研究的話加上也可以擴(kuò)展成一本厚書。
給大家把一個嵌入式開發(fā)怎么學(xué)習(xí)大方面的學(xué)習(xí)框架搭不出來了
。
最后呢祝大家都能夠在去學(xué)習(xí)的路上鵬程萬里。
大一非計算機(jī)專業(yè)學(xué)生,懂得一些C語言,只會敲代碼,想要系統(tǒng)的學(xué)好嵌入式開發(fā),該怎么做?
相當(dāng)感激邀請我回答問題。
主要是看你以后不打算從事行業(yè)也就是你以后想做什么?是做嵌入式平臺上面的軟件開發(fā),意思就是平臺早就有了,你只不過借助于平臺開發(fā)適合當(dāng)前平臺的軟件。舉個例子,你在上面開發(fā)小游戲。
還是還想從事行業(yè)嵌入式平臺本身開發(fā)。如果是應(yīng)用軟件開發(fā),現(xiàn)在主流的肯定是c的或c家家語言,這幾年不斷通吃技術(shù)的興起也有好多軟件,游戲是用java開發(fā)的。假如要從事的是平臺變更土地性質(zhì)的話,這樣的話建議您你不需要好好學(xué)習(xí)匯編語言和操作系統(tǒng)。但是操作系統(tǒng)要全方面能夠掌握。主流的windows,liunx等。畢竟要寫平臺驅(qū)程和一些大型的操作系統(tǒng)。匯編語言前提是要專精,精通滿,專精重要的事情說三遍。
其他的內(nèi)容比如,數(shù)據(jù)結(jié)構(gòu)和算法,單片機(jī)原理,操作系統(tǒng),匯編,高數(shù),離散數(shù)學(xué),線數(shù)。是對驅(qū)程開發(fā),效率很有用,也就是說,學(xué)好各種數(shù)學(xué)很不重要。
而而學(xué)習(xí)難度大,畜牧獸醫(yī)相關(guān)專業(yè)這個行業(yè)的人來說低些少,要知道入門起點較高,必須精通軟硬家,而企業(yè)數(shù)量也較低,學(xué)歷需求也較高。反過來,錢也高,穩(wěn)定啊,開發(fā)不出來的產(chǎn)品容易被別人盜版。
其實,一句話依據(jù)自己的興趣走,任何事情都不是難事。喜歡就去做,只有做了,才明白酸甜苦辣。相信自已。