硬件學(xué)習(xí)該從何下手
時(shí)間:2018-03-08作者:華清遠(yuǎn)見(jiàn)
嵌入式的硬件學(xué)習(xí)是開始嵌入式的基礎(chǔ),從第一個(gè)最簡(jiǎn)單的流水燈開始,都是從開始讀懂硬件原理圖開始的,所有首先要有基本的電路知識(shí),然后就是可以先學(xué)一下51單片機(jī)開發(fā)板,學(xué)習(xí)一下51的單片機(jī)基本外圍設(shè)備有哪些。再做做基于單片機(jī)的電子系統(tǒng)自設(shè)計(jì),如電子時(shí)鐘之類的,然后再慢慢的開始MO,STM32,ARM9,11,ARM A9 等系列的開發(fā)板的硬件,基礎(chǔ)硬件的配置,bootloader的移植,最后再做一個(gè)基于操作系統(tǒng)的電子設(shè)計(jì),就差不多對(duì)嵌入式的硬件有個(gè)通透的了解了。 1、基本電路知識(shí) 嵌入式硬件也是需要許多電路搭建起來(lái)的,學(xué)習(xí)嵌入式之前必須對(duì)電路基本知識(shí)有一定基礎(chǔ)。了解常用的基本器件,基本儀器使用,具有一定的電路分析能力。這樣你才能看得懂嵌入式系統(tǒng)的硬件電路圖,才能為后續(xù)開發(fā)奠定基礎(chǔ)。 2、基本語(yǔ)言知識(shí) 嵌入式驅(qū)動(dòng)程序編寫需要用到C語(yǔ)言,因此在學(xué)習(xí)嵌入式之前還必須熟練C語(yǔ)言基本語(yǔ)法,并能編寫些普通程序代碼。這里需要提醒,在學(xué)習(xí)C語(yǔ)言時(shí)養(yǎng)成規(guī)范的編程習(xí)慣,如添加備注、注意排版等,這將對(duì)以后的程序準(zhǔn)確性有很大影響。 3、單片機(jī)(51單片機(jī)) 初學(xué)者首次接觸嵌入式處理器一般都是51單片機(jī),51單片機(jī)入門相對(duì)簡(jiǎn)單,并且通用度比較高,可以購(gòu)買開發(fā)板動(dòng)手學(xué)習(xí)。如學(xué)習(xí)編寫流水燈、按鍵掃描、數(shù)碼管、液晶顯示、AD/DA采樣等簡(jiǎn)單程序。 4、基于單片機(jī)的電子系統(tǒng)自設(shè)計(jì) 有了前面的學(xué)習(xí)經(jīng)歷,可自己脫離開發(fā)板,自己設(shè)計(jì)并繪制電路圖,自己焊接或者生產(chǎn)PCB板,設(shè)計(jì)小型的電子系統(tǒng)。如設(shè)計(jì)一個(gè)尋線小車,溫度采集、時(shí)鐘顯示等嵌入式系統(tǒng)。 5、430、STM32、Cortex-M3(可選) 430單片機(jī)、STM32以及Cortex-M3處理器作為學(xué)習(xí)嵌入式操作系統(tǒng)前的過(guò)渡階段,各位朋友可以自行選擇學(xué)習(xí)。為什么需要用他們來(lái)過(guò)渡呢? 因?yàn)?1單片機(jī)內(nèi)部寄存器很少,編寫程序時(shí)不需要對(duì)GPIO口進(jìn)行配置,默認(rèn)就已經(jīng)是輸入或者輸出。而當(dāng)處理器功能強(qiáng)大之后,往往一個(gè)GPIO可實(shí)現(xiàn)多種功能,如USB功能、IIC功能、UART功能。在使用這種GPIO時(shí)就必須先進(jìn)行配置,才能滿足需求。因此在學(xué)習(xí)后面操作系統(tǒng)之前,有時(shí)間的同學(xué)可以從這些單片機(jī)過(guò)渡,這樣不至于后續(xù)學(xué)習(xí)摸不到頭腦。 6、ARM9/ARM11裸機(jī)學(xué)習(xí) 裸機(jī)程序編寫,即不帶操作系統(tǒng)的程序編寫,其作用和上面430單片機(jī)的作用相似,目地就是為了熟悉ARM架構(gòu),對(duì)ARM寄存器有深入的了解,這將對(duì)以后的驅(qū)動(dòng)程序編寫帶來(lái)很大的方便。同樣,裸機(jī)程序?qū)W習(xí)可像51單片機(jī)一樣,購(gòu)買開發(fā)板,在開發(fā)板上進(jìn)行一些中斷、GPIO、UART的操作。 7、Linux系統(tǒng)移植&BOOTLOADER 嵌入式系統(tǒng)學(xué)習(xí)特別注意又特別難的地方就是Linux系統(tǒng)移植,對(duì)于系統(tǒng)的移植、系統(tǒng)的裁剪是學(xué)習(xí)的難點(diǎn)。搭建嵌入式操作系統(tǒng)的開發(fā)環(huán)境,即交叉編譯環(huán)境也比較麻煩,因此在學(xué)習(xí)過(guò)程中一定要一步一步動(dòng)手實(shí)踐操作。 BOOTLOADER是操作系統(tǒng)啟動(dòng)前,進(jìn)行硬件初始化以及搭建操作系統(tǒng)運(yùn)行環(huán)境的一段代碼,有點(diǎn)類似于PC機(jī)的BIOS程序。BOOTLOADER主要與硬件關(guān)系很大,需對(duì)處理器寄存器相當(dāng)?shù)氖煜,因此在初期學(xué)習(xí)的時(shí)候可以參考U-boot等學(xué)習(xí)。 8、基于Linux的底層驅(qū)動(dòng)編寫 上面學(xué)習(xí)了Linux系統(tǒng)移植,就可以編寫底層驅(qū)動(dòng)程序了,通過(guò)交叉編譯環(huán)境將驅(qū)動(dòng)程序編譯并下載到目標(biāo)板上,并且編寫一段小測(cè)試程序驗(yàn)證驅(qū)動(dòng)的正確性。如在Linux下實(shí)現(xiàn)流水燈,實(shí)現(xiàn)按鍵功能。 9、基于操作系統(tǒng)的電子設(shè)計(jì) 學(xué)習(xí)到這一步,就可以稱得上嵌入式硬件高手了,因?yàn)槟阋呀?jīng)具備獨(dú)自設(shè)計(jì)嵌入式系統(tǒng)的能力了,現(xiàn)在就來(lái)小試牛刀。可以設(shè)計(jì)一些基于操作系統(tǒng)的攝像頭驅(qū)動(dòng)、按鍵驅(qū)動(dòng)、紅外驅(qū)動(dòng)等。 總結(jié): 其實(shí)嵌入式硬件的學(xué)習(xí)和軟件學(xué)習(xí)是分不開的。在學(xué)習(xí)硬件的過(guò)程當(dāng)中,也要不斷的測(cè)試,從8位的單片機(jī)到32位的,從沒(méi)有操作系統(tǒng)到有嵌入式操作系統(tǒng),從簡(jiǎn)單的流水燈到復(fù)制的bootloader移植。都是軟件硬件分不開的。 相關(guān)資訊
發(fā)表評(píng)論
|
全國(guó)咨詢電話:400-611-6270,雙休日及節(jié)假日請(qǐng)致電值班手機(jī):15010390966
在線咨詢: 曹老師QQ(3337544669), 徐老師QQ(1462495461), 劉老師 QQ(3108687497)
企業(yè)培訓(xùn)洽談專線:010-82600901,院校合作洽談專線:010-82600350,在線咨詢:QQ(248856300)
Copyright 2004-2018 華清遠(yuǎn)見(jiàn)教育科技集團(tuán) 版權(quán)所有 ,京ICP備16055225號(hào),京公海網(wǎng)安備11010802025203號(hào)