国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

嵌入式的學習方法

發布時間:2015-5-3 16:03    發布者:嵌入式之家

近些年來,嵌入式體系的開展在國內可謂如火如荼,許多公司都急需嵌入式體系方面的開發人員。可是,在高校中,嵌入式體系的教育卻較為滯后,許多高年級的本科生和剛入學的研討生都苦于不知從何學起。在這篇文章中,筆者將依據自個的嵌入式體系開發和教育經歷,簡要介紹嵌入式體系的學習辦法,力求能協助初學者找到一條入門之路。

啥是嵌入式體系?                     
         學習嵌入式體系,首要大概清晰啥是嵌入式體系,不然吃力去學,卻不知所學為何物,豈不惘然?嵌入式體系的界說許多,這也是困擾嵌入式體系學習的一個要素。筆者依據自個開發和教育進程中的曉得,以及對各種嵌入式體系的運用進行總結,提出了嵌入式體系的簡略界說:嵌入式體系是嵌入式核算機體系的簡稱,這個界說杰出嵌入式核算機體系和一般核算機體系的共性。下表列出了嵌入式體系的一些典型的運用:
                  智能機器人(S D R 4,火星登入車)
                  文娛和花費電子(Gameboy Advance,SonyPSP)
                  網絡通信商品(Smartphone)
                  軍用設備(軍用PDA )
                  轎車(車載導航,自動駕駛,文娛體系)
                  智能儀器(虛擬儀器
                  安全防護(防火,防盜)
                  環境保護(探空氣球)
                  銀行和商業花費(ATM)
         以火星登入車為例來剖析一下嵌入式體系的界說。火星登入車盡管聽起來感受在技能上有些高不可測,可是實質即是嵌入式核算機體系的運用,其間心即是一個核算機體系,而這個核算機體系的構成同傳統的核算機體系在實質上沒有啥不一樣。兩者的明顯不一樣之處就在于,用于火星登入車的核算機體系被裝置到了火星登入車上。當然,一個核算機體系能夠被裝置在火星登入車上,是需求進行許多格外規劃的。可是從實質上講,嵌入式體系的中心概念還在核算機體系。嵌入式體系學習的要點也在核算機體系上。一方面,學習者需求牢固把握核算機體系自身的概念,更重要的是學習嵌入體系的開發進程同傳統核算機體系開發進程的不一樣。這兒需求指出的是,許多學習者本來就沒有從事過完好核算機體系的開發,高校的教育是以程序規劃為中間的,核算機體系的構成,操作體系的原理,編程言語等課程都是為了能夠讓學生非常好的運用核算機體系進行程序規劃,在現有的核算渠道上來規劃完結各種運用,學生一般沒有時機學習一個完好的核算機體系是怎樣構建,并親身參加到構建的每一個進程。而關于嵌入式體系而言,從事渠道開發的人即是要親身去開宣布一個完好的核算機體系,這個進程包括

           1. 需求剖析
                  2 硬件規劃
                  3 驅動程序
                  4 Bootloader & BSP (板級支撐包)
                  5 操作體系的移植
                  6 運用程序的開發
                  7 功用查看
         嵌入式體系教育的意圖即是教會學生怎樣依據需求去樹立滿意某種格外職業需求的嵌入式核算機體系。讓學生學會怎樣構件硬件渠道,進行硬件規劃,挑選能夠滿意運用需求的最佳的嵌入式操作體系,并完結Bootloader,BSP和驅動程序的編寫,移植,調試等進程。為了滿意職業需求,終究要在所樹立的體系上編寫調試相應的運用程序,并進行功用的測驗和查看。

你是誰,你需求學習哪些東西?
          假如你的作業僅僅需求在PC 機上編寫一個圖像閱覽程序,那么你就沒有必要去曉得當體系收到一個ARP懇求包后大概怎樣回答。一樣的道理,嵌入式體系的學習也是有許多方面的。就嵌入式體系的規劃和完結而言,根本上需求四種不一樣的作業:體系規劃作業,硬件規劃作業,驅動程序和操作體系移植作業和運用程序規劃開發作業。
         1.體系規劃作業                     
         在體系的規劃階段,體系剖析師將依據需求斷定體系的硬件的根本構成,依據體系的需求挑選運用那種處置器,運用哪種操作體系,運用那些軟件開發東西。體系剖析師一般是較為完好的參加過嵌入式體系規劃的全進程,關于體系運用的職業較為曉得,關于嵌入式體系自身的開發流程非常理解的人。

2.硬件規劃作業      

體系硬件規劃人員需求依據體系剖析師的規劃成果,進行硬件原理圖的規劃。一般需求硬件規劃人員曉得嵌入式體系的硬件構成。硬件規劃人員需求曉得常用的嵌入式體系處置器,存儲器(Flash,SDRAM),以太網MAC芯片,音頻/視頻編解碼芯片,電源辦理芯片,總線接口電路 (USB,PCI),液晶顯示模塊,可編程邏輯器材(FPGA/CPLD),無線網絡通信模塊(Bluetooth,WLAN,GPRS)等硬件電路構成元素的根本作業原理,銜接運用辦法,運用注意事項,根本調試辦法等內容。在網絡上能找到許多公司的評價板的原理圖,關于這些原理圖要細心研討,摸清處置器同存儲器,網卡,液晶模塊等器材的銜接辦法和緣由。經過對這些電路的研討,能夠較快地曉得悉數嵌入式體系的構成,這些電路同實習商品中的電路雖有必定不一樣的,格外是關于手持設備,但這些不一樣不影響初學者學習嵌入式體系的硬件規劃根本構成。

以上這些常識,一般需求較長時刻的學習和堆集,需求親身參加實習的時機。關于剛剛觸摸嵌入式體系硬件開發的學生來講,一般不能夠悉數曉得這些常識,但也不會是統統一無所知。筆者聯絡自個開發和教育的經歷以為:首要大概選定一款干流且較為簡略的嵌入式體系處置器,比方依據ARM7TDMI 內核的AT91M40800,S3C44B0 等嵌入式體系處置器,學習32 位RISC處置器的編程模型,指令集。高校教育中,單片核算機課程一般以8051系列單片為中心解說,由于現代32位處置器的構造和開發辦法同8位單片機有著較大的不一樣,學習者仍是需求花一點力氣來研討以下32位處置器的。以ARM處置器為例,學習者就需求曉得處置器的多種作業形式,備份寄存器,RISC 指令集的特色,MMU 和虛擬地址,中止處置進程等內容。在學習指令集的進程中,最佳能夠每學習幾條指令,就運用這幾條指令在模仿器上實驗以下,調查處置器履行的成果。這個進程一方面是學習者關于指令自身的學習能夠獲得一個對比好的作用,別的也是對開發東西自身的一種學習。接著,就能夠開端學習片上資源的運用和裝備辦法。這時就需求一個便利運用的開發板,學習者能夠經過JTAG仿真器將開發板同調試PC機相連,進行程序的下載,調試。格外是要細心研討體系的初始化進程和中止處置的進程。在開發進程中假如遇到疑問,應自個剖析疑問產生的緣由,經過剖析減小疑問能夠產生的規劃,終究找到疑問的地點。最重要的即是要堅持一種解決疑問的信心,面臨艱難怎樣處置,一般能夠決議終究體系是不是能夠調試成功。然后,學習者能夠開端細心學習處置器同存儲器的銜接,存儲空間的裝備,各種外擴器材,如網卡,AC97聲卡的作業原理和運用辦法。嵌入式體系硬件規劃中一般需求運用可編程器材,學習者還需求必定的時刻來學習運用常用的可編程器材(CP L D / F P G A),常用的有XilinxAltera公司的商品。進行體系硬件原理圖規劃,就需求運用原理圖規劃的EDA東西,常用的EDA 原理圖規劃東西首要包括Cadence公司的Capture,Protel公司的Protel99SE等。接下來就能夠參照評價板的電路圖,依據體系的規劃需求,開端進行原理圖的制作了。在原理圖制作進程中,必定要搞清評價板電路銜接的緣由,關于一時沒有搞理解的疑問切不可蒙混過關。例如,有些處置器的地址線是以字節位單位的,而另一些處置器的地址線則是以兩個字節為單位的,當銜接16位的存儲器的時分,切不可想當然的把處置器的A 0 直接銜接到存儲器的A 0 上面。別的,學生還應具有必定的PCB板圖制作才能,由于在現階段,許多公司還不能徹底把原理圖的規劃作業和PCB 的制作作業分開,一般需求硬件規劃人員既能進行原理圖規劃又能進行板圖規劃。即使是PCB規劃和原理圖規劃分開的公司,也需求原理圖規劃者能為PCB 的規劃者關于不一樣的信號提出布板需求。

3.驅動程序和操作體系移植作業
        現代嵌入式體系的開發同傳統8位單片機體系的開發對比,一個明顯的區別即是嵌入式操作體系的廣泛運用。在拿到焊接完畢的電路板,并進行根本的測驗后,就要進行驅動程序和操作體系的移植作業了。首要要進行的Bootloader的編寫和移植作業。Bootloader相當于PC體系的BIOS。關于有些嵌入式操作體系,如uc/OSII沒有bootloader一樣能夠開發調試。可是關于WindowsCE和嵌入式linux體系而言Bootloader即是有必要的了。這篇文章以Windows CE 為例,做一個簡要的闡明。
        Windows CE 體系的移植作業首要即是BSP(板級支撐包)的開發進程。BSP將詳細的硬件區別同操作體系的中心阻隔開來,首要由Bootloaer ,OAL(OEMAbstraction Layer)和設備驅動程序三有些構成。WindowsCE體系中Bootloader叫做Eboot。Eboot被寫入體系的引導Flash。體系啟動時運轉Eboot,完結經過網卡將調試PC 機中WindowsCE 操作體系映像下載到方針體系的SDRAM中并開端履行的功用。關于一個體系移植人員,首要需求閱覽文檔,曉得WindowsCE體系Bootloader和BSP的根本概念和開發進程。(呵,還要做這作業啊,我還沒想到(初學^_^))Windows CE的開發體系Platform Builder供給了詳細的文檔和例程,開發人員需求細心的閱覽文檔和例程。搞理解各個函數之間的調用聯絡。在開發進程中的一個重要的進程即是打通串口,使得方針板能夠經過PC機串口向調試PC 機發送數據。由于ARM體系的仿真器對比昂貴,并且操作體系的調試一般不運用JTAG調試器進行單步調試。所以能從串口調查程序的履行進程和成果關于調試就顯得非常重要了。串口打通以后一個對比扎手的疑問即是網卡芯片的調試。剛剛觸摸嵌入式體系開發的人一般沒有直接在寄存器級上運用網卡芯片的經歷,而網卡芯片的闡明一般都較為簡略,這就需求開發者學習一些以太網的根底常識,對以太網的MAC 層有一個根本的曉得。別的,各種網絡調試(抓包)東西的運用也能大大下降體系調試的難度。體系的OAL需求依據詳細硬件的不一樣做出相應的修改,這個有些可參照文檔進行,在調試進程中依據串口的信息剖析犯錯的當地。要充沛發揮跨文件字符串查找東西的功用,在汗牛充棟的源文件中找到犯錯的位置。當然,跟著開發者對體系文件目錄構造的曉得和曉得,過錯定位的速度會不斷加速。WindowsCE 的驅動程序相對而言是對比好寫的。想體系學習嵌入式的兄弟可聯絡郭教師QQ754634522
4.運用程序的開發
        嵌入式體系的運用程序開發同在PC 機上開發運用程序的區別不是很大。關于Windows CE體系而言,Microsoft現已供給了較為完善的開發東西。格外是.NET Compact work的運用,使得依據Windows CE.NETCompactwork的運用程序有了跨渠道性。開發人員能夠運用Windows 的C# 言語直接在PC 上進行CE.NET運用程序的開發和模仿調試,也可將方針體系同PC 機相連,進行聯機調試。如今有許多體系支撐J2ME(JAVA的嵌入式體系版別) ,這使得JAVA 在嵌入式體系運用開發中占有較大的優勢。別的,作為專業的嵌入式體系軟件開發人員,還需求充沛曉得面向對象技能和規劃形式等方面的常識,當然作為初學者能夠先不深入研討這方面的內容。內容太多,下次共享常用嵌入式體系處置器和操作體系。期望對初學者有協助


        常用嵌入式體系處置器和操作體系
         處置器
         常用嵌入式體系處置器首要包括ARM 處置器,Power PC 處置器,依據MIPS 內核的嵌入式處置器,軟核處置器(如Altera 的Nios和Xilinx的MicroBlaze等)和DSP(數字信號處置器)等。
         ARM 處置器的首要特色是具有較高的功用功耗比。ARM處置器被廣泛的運用在手機,PDA等范疇,其間較為聞名的有Intel 公司出產的依據ARM 內核的XScale系列處置器。由于一切公司出產的依據ARM內核的處置器具有一樣的編程模型,在手持和電池供電的體系中,依據ARM的嵌入式體系處置器一般被首要選用。PowerPC(簡稱PPC)處置器具有較強的運算功用和數據吞吐才能,在網絡和數據通信范疇依據PPC的嵌入式體系處置器有著廣泛的運用。其間Motorola公司出產的MPC860/MPC8260被大量地運用在嵌入式網絡商品中。MIPS 處置器的特色表如今非常強壯的處置才能上。作為高功用處置器,MIPS處置器適用于網絡、企業及高檔花費類電子運用,格外是在機頂盒體系中,MIPS處置器具有較高的市場占有率。跟著可編程器材的規劃不斷擴大,使得人們能夠依據需求定制處置器,并便利的將關于某種格外運用定制的處置器便利的在可編程器材內部完結。除了處置器外,核算機體系還需求許多其他構成有些,比方在多通道媒體數據處置體系中,常常需求運用可編程器材來完結高速的數據處置功用,運用軟核DSP來完結雜亂的數字信號處置算法,一起還需求處置器進行事務處置,軟核處置器將可編程器材,DSP同處置器聯絡在一起,為體系級規劃供給了極大的靈活性。DSP(數字信號處置器)有別于通用處置器,會集表如今其強壯的數字信號處置才能上。在DSP 內部供給了硬件乘累加器,處置器在規劃上關于格外的尋址辦法做了優化,一些DSP 還支撐零耗循環(Zero OverheadLoop)。為了便利嵌入式體系規劃,干流DSP 一般也都供給了豐厚的外設。格外值得一提的是ADI 公司的Blackfin 系列DSP和TI 公司的DM64X系列DSP,兩種處置器都供給了豐厚的片上外設,非常適用嵌入式體系運用。      


操作體系
        WindowCE.NET/5.0
        作為Microsoft的商品,WindowCE.NE/5.0供給了功用齊備的渠道開發東西Platform  Builder和運用開發東西Embedded Visual C++/Visual Studio 2003。WindowsCE由于具有廣闊運用者所曉得的windows界面,體系供給了許多驅動程序,并且有齊備的文檔支撐。關于運用開發而言,曉得Windows體系開發的程序員很簡單轉到WindowsCE 運用程序的開發。Windows CE將會是一個非常有出路的嵌入式操作體系。
        VxWorks
        VxWorks是由Windriver(風河)公司出品的嵌入式實時操作體系,大名鼎鼎的火星登入車即是運用了VxWorks。Windriver為VxWorks供給了集成開發環境tornado。
        υC/OSII
        υC/OS是由Jean Labrosse規劃編寫的開放源代碼的嵌入式實時操作體系,筆者最早觸摸的嵌入式操作體系即是它。閱覽并深入曉得υC/OS的源代碼關于曉得實時體系是大有裨益的。
        ARM Linux
        ARM linux是由Russell King和其他開發者開發移植的用于ARM 處置器的linux操作體系。ARM Linux體系在GNU GPL下發布。

    υCLinux
        υClinux 是適用于沒有MMU 的嵌入式處置的LinuxOS 版別。υ Clinux 一樣在GNU GPL發布。

     嵌入式體系開發進程中的常見疑問和解決辦法
          Bootloader怎樣寫入Flash ?
          初學者一般都會遇到怎樣將程序寫入處置器的疑問。關于不一樣的處置器,能夠選用不一樣的辦法。例如Intel的Xscale處置器能夠用Intel公司供給的JFlash東西燒寫。關于具有JTAG調試東西軟件的處置器,能夠運用如下思路:編寫一段程序,這段程序能將坐落SDRAM/SRAM 固定地址中的數據寫入Flash中。燒寫時,首要,將這段軟件下載到SDRAM 中,然后經過調試軟件即將寫入Flash的數據下載到SDRAM/SRAM的某個固定地址開端的緩沖區,然后經過調試器開端履行程序,將數據寫入Flash。除此以外,網絡上還供給了許多專用的寫Flash的東西,開發者能夠依據自個的需求選用。(如今理解了我在學的那個BF533為啥先下個flashProgramer.dxe先了)
        啥是arm-elf-gcc?
        arm-elf-gcc是一個穿插C言語編譯器。咱們在PC渠道下編譯程序,編譯器運轉的處置器同生成的代碼即將運轉的處置器一樣。可是,在PC
機上編譯ARM程序時,編譯器運轉的處置器同生成的代碼運轉的處置器不一樣,這種編譯器叫做穿插編譯器中的elf是指編譯器生成的方針文件格局。(其實咱們平常用的單片機編譯器如GCC—AVR等已是穿插編譯器了,我到如今才弄理解啥是穿插編譯器)
       走了哪條編譯途徑?
       體系程序和驅動程序一般包括許多的編譯選項,許多選項都是在編譯時經過命令行界說的,假如想曉得編譯的是那一段程序能夠運用如下的辦法:
                  #ifdef PLAT_AAA
                  #error Code for Platform AAA

                 #else
                  #error Code NOT for Platform AAA

                 #endif

這樣在編譯的時分就曉得,編譯的是哪一條路經了。關于支撐#pragma message( “I am here”)的編譯器也可運用#pragma message預編譯指令。
        我怎樣曉得那段代碼在那個文件中?
        體系編程中常常需求運用在多個文件中查找字符串,在windows渠道下能夠運用渠道供給的多文件字符串查找東西。在linux渠道下,能夠運用grep來查找字符串。Grep的查找功用非常強壯,支撐正則表達式查找,嫻熟運用grep關于閱覽體系和驅動程序代碼是很有協助的。
        體系是從那個文件開端運轉的?
         關于Windows CE體系,一般從WINCE420\PLATFORM\YourPlatform\KERNEL\HAL目錄的某個匯編文件中。關于Linux體系版別不一樣會存在必定區別,以arm處置器為例,一般會在linux2.4.x\arch\arm\kernel的head-armv.S中。
        程序履行到了那里?
        能夠在程序中刺進如下代碼來完結
                  printf( “I am here %s, %d\n”,__FILE__,__LINE__);

代碼將打出printf句子地點的文件名和行號。

      推薦書目
        Jean J.Labrosse MicroC/OS-II The Real-TimeKernel,Second Edition這本書是筆者觸摸嵌入式實時體系的入門書,在國內能夠買到中文版。這本書較為理解地敘述了實時體系的概念,各個構成有些的作業原理,格外是公開了實時體系內核的源代碼,細心研討定會收獲頗豐。有個小的提示,關于初學者,這本書能夠先不看第一章,直接從第二章看起。

     Abraham Silberschatz, Peter Baer Galvin,GregGagne Operating System Concepts筆者在教育進程中發現,無論是核算機仍是電子工程專業都有許多學生關于操作體系的根本概念都沒有搞清,很少有學生有完好的體系編程經歷。Operating System Concepts這本書對操作體系的概念敘述只能用經典來形容。關于嵌入式體系有愛好深入研討的同學,首要要把根底打好,這本書就成了必讀之物了。
       Andrew S. Tanenbaum Computer Networks 提起Andrew S. Tanenbaum 學習核算機的同學必定都曉得OPERATINGSYSTEMsesignand
Implementation這本書,筆者關于Tanenbaum這樣的教授由衷佩服。網絡協議棧是嵌入式體系中的支柱性構成有些。情愿致力于網絡深層技能研討的同學,這本書將為你們樹立一個堅實的網絡根底。
       Karim Yaghmour Building Embedded Linux Systems本書翔實的介紹了嵌入式linux體系的構成,根本概念和怎樣去樹立各個有些。全書篇幅較小,可謂短小精悍。即能夠作為嵌入式linux體系的入門讀物,又是開發進程各個有些的攻略。
       Advanced RISC Machines Ltd (ARM) ARM7 TDMI DataSheet     Advanced RISC Machines Ltd (ARM) ARM920TTechnical Reference Manual學習嵌入式體系不曉得當時運用最廣泛的嵌入式處置器怎樣行?ARM7 TDMI 的 data  sheet是學習ARM編程模型,指令集的好東西。在嵌入式體系中,MMU(內存辦理單元)是很重要的有些,又是較難曉得和把握的有些。ARM920TTechnical Reference Manual 正巧能夠幫你解說這方面的內容。
       Perter Van Der LinDen Expert C Programming嵌入式體系級編程最常用的言語仍是C 。許多同學都自以為自個的C言語學的極好,那好,就看看這本書吧,找找自個和Experts差距。

    嵌入式開發與桌面開發既有不一樣,又有非常大的聯絡,并且非常重視實習操作才能。搞桌面開發的人在一開端觸摸嵌入式的時分,一般變換不過來,這首要體如今定位上。如文中所說,你是誰,你要做啥?我對硬件的曉得僅限于編程范疇,PCB規劃一無所知,但并不能說你不明白硬件就不能從事嵌入式開發。一個體系的開發規劃方方面面,在自個感愛好和曉得的范疇做出自個的奉獻才是最首要的。想體系學習嵌入式的兄弟可聯絡李教師QQ982288214
             1。硬件規劃: 需求有硬件規劃的經歷,對各種嵌入式器材有極好的曉得。
               2。體系移植:需求匯編經歷,操作體系原理以及底層驅動的曉得
               3。運用程序:需求桌面編程經歷           

更多C語言 C++、JAVA、數電模電、51單片機PIC stm32 ARM Linux驅動 嵌入式、安卓系統 FPGA、DSP Cortex-M3學習

請咨詢李工:騰訊QQ3052791816 中國移動全球通13500505486 深圳南山、民治、龍崗、西鄉、長沙、鄭州、南寧同步學習中! 

理論與實踐相結合 一線工程師項目經理教學 結合真實的產品案列 讓你感受前所未有的電子產品的開發流程

2015給自己一個決心,只為自己!高薪就業不是夢,有想法你就來 IT達人等著你!!!


本文地址:http://m.qingdxww.cn/thread-148802-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 手机成人| 久久热r在线视频精品| 日韩精品免费一区二区| 网红主播 国产精品 开放90后| 中文字幕午夜乱理片| 视频福利网站| 日本欧美一区二区三区视频| 中文字幕亚洲色图| 中文字幕日韩欧美一区二区三区| 国产在线精品视频免费观看| 桃花在线观看播放| 四虎社区| 日本vs欧美一区二区三区| 亚洲wwww| 亚州视频一区| 69夫妻交友网| 漂亮的av女演员| 亚洲一区欧美日韩| 天堂一码二码专区| 亚洲视频男人的天堂| 国产最新精品亚洲2021不卡| 小sao货ji巴cao死你视频| 色伊人网| 亚洲天堂男人网| 亚洲综合在线网| 久久天堂视频| 天天操天天玩| 四虎影城| 香蕉精品视频| yellow片高清视频免费看| 思思99热久久精品在线6| 欧美成人天天综合在线视色| 青青青草视频在线| 太深了 太粗h1v1| 最新精品在线视频| 麻美ゆま夫の目の前で犯| 中文字幕A片视频一区二区| 欧洲a级片| 天天草人人草| gogogo在线观看| 人妻激情综合久久久久蜜桃|