中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
如何學(xué)STM32嵌入式系統(tǒng)開發(fā)詳細(xì)指導(dǎo)

1

如何學(xué)習(xí)嵌入式系統(tǒng)

 —— 從三方面上來理解“嵌入”的概念

硬件角度

從硬件上,“嵌入”將基于CPU的處圍器件,整合到CPU芯片內(nèi)部,比如早期基于X86體系結(jié)構(gòu)下的計算機(jī),CPU只是有運(yùn)算器和累加器的功能,一切芯片要造外部橋路來擴(kuò)展實現(xiàn),象串口之類的都是靠外部的16C550/2的串口控制器芯片實現(xiàn),而目前的這種串口控制器芯片早已集成到CPU內(nèi)部,還有PC機(jī)有顯卡,而多數(shù)嵌入式處理器都帶有LCD控制器,但其種意義上就相當(dāng)于顯卡。


比較高端的ARM類Intel Xscale架構(gòu)下的IXP網(wǎng)絡(luò)處理器CPU內(nèi)部集成PCI控制器(可配成支持4個PCI從設(shè)備或配成自身為CPI從設(shè)備),還集成3個NPE網(wǎng)絡(luò)處理器引擎,其中兩個對應(yīng)于兩個MAC地址, 可用于網(wǎng)關(guān)交換用,而另外一個NPE網(wǎng)絡(luò)處理器引擎支持DSL,只要外面再加個PHY芯片即可以實現(xiàn)DSL上網(wǎng)功能。


IXP系列最高主頻可以達(dá)到 1.8G,支持2G內(nèi)存,1G×10或10G×1的以太網(wǎng)口或Febre channel的光通道。IXP系列應(yīng)該是目標(biāo)基于ARM體系統(tǒng)結(jié)構(gòu)下由 intel進(jìn)行整合后成Xscale內(nèi)核的最高的處理器了。


軟件角度

從軟件上前,嵌入就是在定制操作系統(tǒng)內(nèi)核里將應(yīng)用一并選入,編譯后將內(nèi)核下載到ROM中。


而在定制操作系統(tǒng)內(nèi)核時所選擇的應(yīng)用程序組件就是完成了軟件的“嵌入”,比如WinCE在內(nèi)核定制時,會有相應(yīng)選擇,其中就是wordpad/PDF/MediaPlay等等選擇,如果我們選擇 了,在CE啟動后就可以在界面中找到這些東西,如果是以前PC上將的windows操作系統(tǒng),多半的東西都需要新再裝。


實現(xiàn)角度

把軟件內(nèi)核或應(yīng)用文件系統(tǒng)等東西燒到嵌入式系統(tǒng)硬件平臺中的ROM中就實現(xiàn)了一個真正的“嵌入”。


2

如何學(xué)習(xí)嵌入式系統(tǒng)

 —— 嵌入式系統(tǒng)的分層

嵌入式系統(tǒng)分為4層,硬件層、驅(qū)動層、操作系統(tǒng)層和應(yīng)用層

硬件層

硬件層,是整個嵌入式系統(tǒng)的根本,如果現(xiàn)在單片機(jī)及接口這塊很熟悉,并且能用C和匯編語言來編程的話,從嵌入式系統(tǒng)的硬件層走起來相對容易,硬件層也是驅(qū)動層的基礎(chǔ),一個優(yōu)秀的驅(qū)動工程師是要能夠看懂硬件的電路圖和自行完成CPLD的邏輯設(shè)計的,同時還要對操作系統(tǒng)內(nèi)核及其調(diào)度性相當(dāng)?shù)氖煜さ模布脚_是基礎(chǔ),增值還要靠軟件。


硬件層比較適合于,電子、通信、自動化、機(jī)電一體、信息工程類專業(yè)的人來搞,需要掌握的專業(yè)基礎(chǔ)知識有,單片機(jī)原理及接口_技術(shù)、微機(jī)原理及接口_技術(shù)、C語言。


驅(qū)動層

驅(qū)動層,這部分比較難,驅(qū)動工程師不僅要能看懂電路圖還要能對操作系統(tǒng)內(nèi)核十分的精通,以便其所寫的驅(qū)動程序在系統(tǒng)調(diào)用時,不會獨(dú)占操作系統(tǒng)時間片,而導(dǎo)致其它任務(wù)不能執(zhí)行,不懂操作系統(tǒng)內(nèi)核架構(gòu)和實時調(diào)度性,沒有良好的驅(qū)動編寫風(fēng)格,按大多數(shù)書上所說添加的驅(qū)動的方式,很多人都能做到,但可能連個初級的驅(qū)動工程師的水平都達(dá)不到,這樣所寫的驅(qū)動在應(yīng)用調(diào)用時就如同windows下我們打開一個程序運(yùn)行后,再打開一個程序時,要不就是中斷以前的程序,要不就是等上一會才能運(yùn)行后來打開的程序。


想做個好的驅(qū)動人員沒有三、四年功底,操作系統(tǒng)內(nèi)核不研究上幾編,不是太容易成功的,但其工資在嵌入式系統(tǒng)四層中可是最高的。


嵌入式的驅(qū)動層比較適合于電子、通信、自動化、機(jī)電一體、信息工程類專業(yè)尤其是計算機(jī)偏體系結(jié)構(gòu)類專業(yè)的人來搞,除硬件層所具備的基礎(chǔ)學(xué)科外,還要對數(shù)據(jù)結(jié)構(gòu)與算法、操作系統(tǒng)原理、編譯原理都要十分精通了解。


操作系統(tǒng)層

操作系統(tǒng)層,對于操作系統(tǒng)層目前可能只能說是簡單的移植,而很少有人來自已寫操作系統(tǒng),或者寫出缺胳膊少腿的操作系統(tǒng)來,這部分工作大都由驅(qū)動工程師來完成。


操作系統(tǒng)是負(fù)責(zé)系統(tǒng)任務(wù)的調(diào)試、磁盤和文件的管理,而嵌入式系統(tǒng)的實時性十分重要。據(jù)說,XP操作系統(tǒng)是微軟投入300人用兩年時間才搞定的,總時工時是600人年,中科院軟件所自己的女媧Hopen操作系統(tǒng)估計也得花遇幾百人年才能搞定。因此這部分工作相對來講沒有太大意義。


應(yīng)用層

應(yīng)用層,相對來講較為容易的,如果會在windows下如何進(jìn)行編程接口函數(shù)調(diào)用,到操作系統(tǒng)下只是編譯和開發(fā)環(huán) 境有相應(yīng)的變化而已。如果涉及Jave方面的編程也是如此的。嵌入式系統(tǒng)中涉及算法的由專業(yè)算法的人來處理的,不必歸結(jié)到嵌入式系統(tǒng)范疇內(nèi)。


但如果涉及嵌 入式系統(tǒng)下面嵌入式數(shù)據(jù)庫、基于嵌入式系統(tǒng)的網(wǎng)絡(luò)編程和基于某此應(yīng)用層面的協(xié)議應(yīng)用開發(fā)(比如基于SIP、H.323、Astrisk)方面又較為復(fù)雜, 并且有難度了。


3

如何學(xué)習(xí)嵌入式系統(tǒng)

 —— 目標(biāo)與定位

先有目標(biāo),再去定位。學(xué)ARM,從硬件上講,一方面就是學(xué)習(xí)接口電路設(shè)計,另一方面就是學(xué)習(xí)匯編和C語言的板級編程。如果從軟件上講,就是要學(xué)習(xí)基于ARM處理器的操作系統(tǒng)層面的驅(qū)動、移植了。


基礎(chǔ)內(nèi)容

這些對于初學(xué)都來說必須明確,要么從硬件著手開始學(xué),要么從操作系統(tǒng)的熟悉到應(yīng)用開始學(xué),但不管學(xué)什么,只要不是純的操作系統(tǒng)級以上基于API的應(yīng)用層的編程,硬件的寄存器類的東西還是要能看懂的,基于板級的匯編和C編程還是要會的。因此針對于嵌入式系統(tǒng)的硬件層和驅(qū)動程的人,ARM的接口電路設(shè)計、ARM的C語言和匯編語言編程及調(diào)試開發(fā)環(huán)境還是需要掌握的。


具體方向

因此對于初學(xué)者必然要把握住方向,自己學(xué)習(xí)嵌入式系統(tǒng)的目標(biāo)是什么,然后再著手學(xué)習(xí)較好,與ARM相關(guān)的嵌入式系統(tǒng)的較為實際的兩個層面硬件層和驅(qū)動層,不管學(xué)好了哪一層都很有前途。


如果想從嵌入式系統(tǒng)的應(yīng)用層面的走的話,可能與ARM及其它體系相去較遠(yuǎn),要著重研究基嵌入式操作系統(tǒng)的環(huán)境應(yīng)用與相應(yīng)開發(fā)工具鏈,比如WinCe操作系統(tǒng)下的EVC應(yīng)用開發(fā)(與windows下的VC相類似),如果想再有突破就往某些音視頻類的協(xié)議上靠,比如VOIP領(lǐng)域的基于SIP或H.323協(xié)議的應(yīng)用層開發(fā),或是基于嵌入式網(wǎng)絡(luò)數(shù)據(jù)庫的開發(fā)等等。


4

如何學(xué)習(xí)嵌入式系統(tǒng)

 —— 開發(fā)系統(tǒng)選擇

ARM9與ARM7

很多ARM初學(xué)者都希望有一套自己能用的系統(tǒng),但他們住住會產(chǎn)生一種錯誤認(rèn)識就是認(rèn)為處理器版本越高、性能越高越好,就象很多人認(rèn)為ARM9與ARM7好,初學(xué)者在此方面以此入門還應(yīng)該理智,開發(fā)系統(tǒng)的選擇最終要看自己的選擇方向,是做驅(qū)動開發(fā)還是應(yīng)用,還是做嵌入式系統(tǒng)硬件層設(shè)計與板級測試。


在某種意義上講,ARM7與9的差別就是在某些功能指令集上豐富了一些、主頻提高一些,就比如286和386。對于用戶來講可能覺查不到什么,只能是感覺速度有些快而已。


ARM7比較適合于那些想從硬件層面上走的人,因為ARM7系列處理器內(nèi)部帶MMU的很少,而且比較好控制,就比如S3C44B0來講,可以很容易將Cache關(guān)了,而且內(nèi)部接口寄存器很容易看明白,各種接口對于用硬件程序控制或AXD單步命令行指令都可以控制起來,基于51單片機(jī)的思想很容易能搞懂,就當(dāng)成個32位的單片機(jī)。


接口部分

而嵌入式系統(tǒng)不管硬件設(shè)計還是軟件驅(qū)動方面都是十分注重接口這部分的,選擇平臺還要考察一個處理器的外部資源,就拿臺灣數(shù)十家小公司(市價幾千萬)的公司生產(chǎn)的ARM類處理器,也很好用但通用性太差,用這些處理器的公司就只能招有相關(guān)工作經(jīng)驗的人了,相關(guān)工作經(jīng)驗在硬件上指的是外圍接口設(shè)計,在軟件上講是操作系統(tǒng)方面相關(guān)接口驅(qū)動及應(yīng)用開發(fā)經(jīng)驗。


三星的S3C44b0對初學(xué)者來說比較合適,因為接口資源比較豐富,技術(shù)成熟,資料較多,應(yīng)該十分適合于初學(xué)者,就如同51類的單片機(jī),誠然業(yè)界認(rèn)為這款A(yù)RM都做用得爛了,但對于初學(xué)者卻是件好事。因此開發(fā)系統(tǒng)的選擇,要看自己的未來從來目標(biāo)方向、要看開發(fā)板接口資源、還要看業(yè)界的通用性。


5

如何學(xué)習(xí)嵌入式系統(tǒng)

 —— 嵌入式系統(tǒng)硬件工程師所需技能

數(shù)字和模擬

對于硬件來講有幾個方向,就單純信號來分為數(shù)字和模擬,模擬比較難,一般需要很長的經(jīng)驗積累,單單一個阻值或容值的精度不夠就可能使信號偏差很大。隨著技術(shù)的發(fā)展,出現(xiàn)了模擬電路數(shù)字化,比如手機(jī)的Modem射頻模塊,都采用成熟的套片。


另一類就是數(shù)字部分了,在大方向上又可分為51/ARM的單片機(jī)類/DSP類/FPGA類, 國內(nèi)FPGA的工程師大多是在IC設(shè)計公司從事IP核的前端驗證,DSP硬件接口比較定型,而ARM單片機(jī)類的內(nèi)容就較多,業(yè)界產(chǎn)品占用量大,應(yīng)用人群廣,而硬件設(shè)計最體現(xiàn)水平和水準(zhǔn)的就是接口設(shè)計,這是各個高級硬件工程師相互PK,判定水平高低的依據(jù)。


接口設(shè)計

而接口設(shè)計這塊最關(guān)鍵的是看時序,而不是簡單的連接,比如PXA255處理器I2C要求速度在100Kbps,如果把一個I2C外圍器件,最高還達(dá)不到100kbps的與它相接,必然要導(dǎo)致設(shè)計的失敗。這樣的情況有很多,比如51單片機(jī)可以在總線接 LCD,但為什么這種LCD就不能掛在ARM的總線上,還有ARM7總線上可以外接個Winband的SD卡控制器,但為什么這種控制器接不到ARM9或是Xscale處理器上,這些都是問題。


因此接口并不是一種簡單的連接,要看時序,要看參數(shù)。 一個優(yōu)秀的硬件工程師應(yīng)該能夠在沒有參考方案的前提下設(shè)計出一個在成本和性能上更加優(yōu)秀的產(chǎn)品,靠現(xiàn)有的方案,也要進(jìn)行適當(dāng)?shù)目尚行圆眉簟?/p>


工程師分類

其次是電路的調(diào)試能力和審圖能力,但最基本的能力還是原理圖設(shè)計PCB繪制和邏輯設(shè)計。這是指的硬件設(shè)計工程師,從中還可以分出ECAD工程師(就是專業(yè)的畫PCB板的工程師)和EMC設(shè)計工程師(幫人家解決EMC的問題)。


硬件工程師再往上就是板級測試工程師,就是C語功底很好的硬件工程師,在電路板調(diào)試過程中能通過自已編寫的測試程序?qū)τ布δ苓M(jìn)行驗證,然后再交給基于操作系統(tǒng)級的驅(qū)動開發(fā)人員。


那么高級硬件件工程師技術(shù)技能都要具備那些東西哪,首先要掌握EDA設(shè)計的輔助工具類如Protel/ORCAD/PowperPCB/Maplux2/ISE/VDHL語言,要能用到這些工具畫圖畫板做邏輯設(shè)計,再有就是接口設(shè)計審圖能力,再者就是調(diào)試能力,如果能走到總體方案設(shè)計這塊,那就基本上快成為資深工程師了。


本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
十年經(jīng)驗教你如何學(xué)習(xí)嵌入式系統(tǒng)(基于AR
嵌入式硬件工程師是什么?新手學(xué)習(xí)需要了解什么?
做嵌入式,如果愛就全心投入,否則就放棄!
如何學(xué)習(xí)基于ARM平臺的嵌入式系統(tǒng)
嵌入式系統(tǒng)學(xué)習(xí)心得
走近嵌入式
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服