如何看懂uboot源碼 如何學習嵌入式?
如何學習嵌入式?我來發(fā)表文章下我的觀點。說下我的方法,更適合在校大學生,大家有什么見解希望能糾正討論。為什么不說比較適合在校大學生呢,只不過在校大學生時間充裕。而參加過工作的人,時間就是金錢,還不如最
如何學習嵌入式?
我來發(fā)表文章下我的觀點。說下我的方法,更適合在校大學生,大家有什么見解希望能糾正討論。
為什么不說比較適合在校大學生呢,只不過在校大學生時間充裕。而參加過工作的人,時間就是金錢,還不如最少太長時間如何自學,還不妨報個培訓班速成,但培訓班的缺點很有可能那就是基礎不牢(這個是個人見解,如有有所不同意見也也可以去看看我寫的自學經(jīng)歷,依據(jù)什么自己的基礎進不了相應的步驟即可)。
我以為學習任何東西也是是需要分模塊的。各個模塊熟悉了之后串站了起來(個人經(jīng)驗)
叮囑??!
提醒??!
叮囑??!
玩嵌入式是有點兒費錢的。不過得之吾幸,這個看你們自己把握了。
下面我說下我的方法
一、嵌入式兩類幾個模塊(給自己學的勇氣)
二、手動檔學什么(打基礎)
三、五階學什么(給自己堅持下去的動力)
一、嵌入式分幾個模塊
嵌入式兩類軟件、硬件(簡單吧)。軟件,其實可以分的更詳細點,不過我們不必須分這么大具體點,后面自學的過程中你就明白了。
二、平路學什么
必須,你好是是計算機、電子、電氣、微電子、電子信息、通信、自動化、信息工程等查找專業(yè)。
肯定什么人會問我想知道為什么可以這些專業(yè)。而且這些專業(yè)或則編程能力強,要嘛硬件基礎很認識,學習嵌入式是純天然的優(yōu)勢。比如說自動化專業(yè),他們自學過電路,模電,數(shù)電,電力電子這些課能讓你們有牢實的硬件基礎;另外C,51單片機,微機讓你們有當然的軟件基礎。特別是51單片機,那樣一來能學會了,后面學習嵌入式會更很難。
接下來細細的看講講要如何起步后(基礎不勞,地動山搖)
最先,你要明白硬件的基本知識,這些硬件知識能幫你更好的理解51單片機的內(nèi)部原理,硬件的管腳配置,引腳功能,更重要的是的是幫你理解放大電路,濾波電路等。(第七步我推薦一本我其實比價好的麻煩問下51的書,里面有51的內(nèi)部原理)這些懂了,在用51C語言寫程序的時候可能會才發(fā)現(xiàn)so easy。當然了為啥先學51呢,只不過大學大部分那就開辦51的課,再者51容易理解,教學視頻十分豐富。
第二步,你要懂C/C,c語言是學習嵌入式的靈魂。而且大學都開設有C課程,所以才大家從C又開始能學會低些方便和節(jié)約時間。
第十步,有了去相關(guān)基礎后結(jié)束看51單片機系列的書(見下圖),網(wǎng)上各種各樣的視頻多的很,對著網(wǎng)絡上的視頻學習,效果會更好。但沒法只學不練,買個開發(fā)板(當初我們是自己焊的),自己對著視頻練習。理論和實際中生克制化效果最好就是。
肯定需要都用到你所選的燒錄軟件,和編程軟件。我在這里統(tǒng)一說下。
燒錄軟件就用STC-ISP(好用),編程的用KEILc51(keil3也能用),后面玩32了再用KEIL5。
三、進階學什么
不過在此之前、51單片機玩差不多半個學期就行啦,半個學期夠你掌握了,太長浪費時間。我們早就玩過51了,已經(jīng)是大孩子了,哈!哈!哈!。但是我們沒有玩過32位的,再上arm是不行啊的。
所以我我們要就開始學32,其實32比51簡單的多,只不過他們有相當豐富的庫,各種庫。市面上的教學資源太非常的相當豐富,產(chǎn)品也都很成熟,某寶上面各種開發(fā)板(價格300以內(nèi)),自己選一個買就行了。
其實你也是可以到后面51學32,雖說51太老了,太略顯陳舊了,但我覺著你學習51會幫你牢固知識,幫你連成寫程序的習慣等。
學32的周期,根據(jù)自己情況安排好了,就像一個到一個半學期。
第二步、現(xiàn)在咱們對32比較好所了解了,輪到自學嵌入式系統(tǒng)了,對,嗯就是系統(tǒng),會不會很激動。。
想自學嵌入式系統(tǒng)Linux/WIN等,簡單你不需要買個arm學版,在淘寶上面買的話,不太貴S3C2440,500元。資料非常多,我建議你買arm9,是因為ram11的資料太少,不尤其適合沒基礎?;騽t你們預算太能量供應,可以判斷Cortex-A8/A9的開發(fā)板。
我完全相信你們能學這里早就有了自己的想法和見解了。到這個過程的時候,知乎上的大佬回答我的很具體點和網(wǎng)上的資源也相當相當豐富,多看看大家寫的約定學習。
后來,做下系統(tǒng)的總結(jié)
看的懂電路圖、沒看明白芯片手冊(更牛皮的要求是會自己繪制PCB板,會器件選型,會自己調(diào)試自己怎么設計板子,轉(zhuǎn)眼是可以可以量產(chǎn))
有匯編語言,移植驅(qū)動的能力
懂內(nèi)核的實現(xiàn)機制
懂C語言,C等
下面列有詳細的要求,你們自己十足把握下。
等待想找工作的時候,有嵌入式硬件,嵌入式軟件,嵌入式等,甚至也可以融匯貫通,要看你們的學習水平了,哈!哈!哈!。
嵌入式硬件要求:
1、熟練在用Allegro Cadence等EDA工具參與硬件原理圖及PCB的設計,精通滿PCB布線流程、擁有多層板布線經(jīng)驗規(guī)范及信號完整性結(jié)論,熟得不能再熟至多一種高速公路通信接口,如PCIE、SRIO、10GBE等。
2、精通滿嵌入式處理器設計,具高大型手機CPU或則DSP的板級硬件設計調(diào)試經(jīng)驗,的或P系列或則T系列PowerPC,C6678、C6655等DSP,包括FPGA設計經(jīng)驗者等。
3、共同負責硬件產(chǎn)品的需求調(diào)研、方案設計,非常熟練可以使用門類豐富電子儀器儀表并且測試。
。。。。。。
嵌入式軟件要求:
1、熟得不能再熟Linux操作系統(tǒng)內(nèi)核,有Linux內(nèi)核和驅(qū)動開發(fā)經(jīng)驗。
2、全精通C/C開發(fā)語言,shell腳本。
3、精通滿C語言,能的的c語言程序、調(diào)試硬件驅(qū)動程序和功能程序。
4、熟得不能再熟多線程的開發(fā),精通于ucosII嵌入式系統(tǒng)移植、驅(qū)動和應用開發(fā)。
。。。。。。
嵌入式硬件的工作:
嵌入式軟件的工作:
嵌入式的工作:
那你可以不以“低端單片機-高端單片機-算中端ARM-比較高端ARM”來學。我現(xiàn)在那就是工作中用STM32,晚上回來了在家自學ARM9。
我想學習嵌入式系統(tǒng),都需要些什么基礎?
現(xiàn)在互聯(lián)網(wǎng)IT發(fā)展的很快,嵌入式系統(tǒng)無疑是當前最熱門最有發(fā)展前途的IT應用領(lǐng)域之一。所以才很多人都想學習嵌入式開發(fā),為大家講解學嵌入式開發(fā)需打聽一下的一些基礎知識。
1.所了解C語言基礎知識。C語言是一門基礎語言,即便對嵌入式軟件肯定硬件開發(fā)編程,都是很重要的是的作用。
2.清楚操作系統(tǒng)。對操作系統(tǒng)有所所了解也很不重要,比如進程、線程,系統(tǒng)是怎莫先分配資源的,怎么管理方面硬件的等等,這些都能解決你對硬件和軟件有個很好的理解。
3.所了解Linux的或wince下的編程。
4.本身單機片也可以ARM或者MIPS等查找基礎。
5.其他知識的擴充。我們還也可以通過閱讀一些優(yōu)秀的代碼,清楚UBOOT的源代碼,也可以是怎么學習下linux的源代碼等等。反正嵌入式也可以不零基礎怎么學習的,因為只要你只要用心怎么學習是可以掌握嵌入式開發(fā)這門技術(shù)的。