查看: 3347|回復: 0
打印 上一主題 下一主題

老司機談?wù)勅绾螌W(xué)習STM32嵌入式系統

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2018-5-2 15:44:46 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)鍵詞: stm32
一、嵌入式系統的概念
    著(zhù)重理解“嵌入”的概念 ,主要從三個(gè)方面上來(lái)理解。
    首先,從硬件上,“嵌入”是基于CPU的處圍器件的,整合到CPU芯片內部,就好比早期基于X86體系結構下的計算機,CPU有的是運算器和累加器的功能,一切芯片要通過(guò)外部橋路來(lái)擴展實(shí)現,象串口之類(lèi)的都是憑借著(zhù)外部的16C550/2的串口控制器芯片實(shí)現,而目前的這種串口控制器芯片早已集成到CPU內部,而且PC機有獨立的顯卡,而多數嵌入式處理器都帶有LCD控制器,就其意義來(lái)說(shuō)就相當于顯卡。
    從軟件上來(lái)說(shuō),嵌入就是在定制操作系統內核里將應用一并選入,編譯后將內核下載到ROM中。而在定制操作系統內核時(shí)所選擇的應用程序組件就是軟件的“嵌入”。因為嵌入式系統是計算機科學(xué)與電子技術(shù)交叉的一門(mén)綜合性學(xué)科,在嵌入式這個(gè)領(lǐng)域范圍內,誰(shuí)都不敢說(shuō)自己的定義是十分確切的,包括那些專(zhuān)家學(xué)者們。
二、嵌入式系統的分層與專(zhuān)業(yè)的分類(lèi)
    嵌入式系統分為硬件層、驅動(dòng)層、操作系統層和應用層。
    硬件層,是整個(gè)嵌入式系統的根本,如果現在單片機及接口這塊很熟悉,并且能用C和匯編語(yǔ)言來(lái)編程的話(huà),從嵌入式系統的硬件層走起來(lái)相對容易。同時(shí),硬件層也是驅動(dòng)層的基礎,有模擬電路與數字電路基礎,還要對操作系統內核及其調度性相當的熟悉的。就目前來(lái)看,有硬件基礎的情況下會(huì )軟件開(kāi)發(fā)會(huì )使你增值。硬件層比較適合于,電子通信、機電自動(dòng)化類(lèi)專(zhuān)業(yè)的人來(lái)學(xué)習,需要掌握的專(zhuān)業(yè)基礎知識有,單片機原理及接口技術(shù)、微機原理及接口技術(shù)、C語(yǔ)言。
     驅動(dòng)層,這部分比較難,驅動(dòng)工程師不僅要能看懂電路圖還要能對操作系統內核十分的精通,以便其所寫(xiě)的驅動(dòng)程序在系統調用時(shí),不會(huì )獨占操作系統時(shí)間片,而導至其它任務(wù)不能執行,要懂得系統內核架構和實(shí)時(shí)調度性,有良好的驅動(dòng)編寫(xiě)風(fēng)格。按大多數書(shū)上所說(shuō)添加的驅動(dòng)的方式,很多人都能做到,但可能連個(gè)初級驅動(dòng)工程師的水平都達不到,這樣所寫(xiě)出來(lái)的驅動(dòng)在應用調用時(shí)現在打開(kāi)的程序中斷以前程序的情況,或者要等上一會(huì )才能運行后來(lái)打開(kāi)的程序。想做個(gè)好的驅動(dòng)人員沒(méi)有三、四年功底,操作系統內核不研究上幾編,不是太容易成功的,所以工資也是相對最高的。除硬件層所具備的基礎學(xué)科外,還要對數據結構與算法、操作系統原理、編譯原理都要十分精通了解。
    操作系統層,對于操作系統層目前可能只能說(shuō)是簡(jiǎn)單的移植,而很少有人來(lái)自已寫(xiě)操作系統,或者寫(xiě)出缺胳膊少腿的操作系統來(lái),這部分工作大都由驅動(dòng)工程師來(lái)完成。操作系統是負責系統任務(wù)的調試、磁盤(pán)和文件的管理,而嵌入式系統的實(shí)時(shí)性十分重要。
    應用層,相對來(lái)講較為容易的,如果會(huì )在windows下如何進(jìn)行編程接口函數調用,到其他操作系統下只是編譯和開(kāi)發(fā)環(huán)境有相應的變化而已。但如果涉及嵌入式系統下嵌入式數據庫、基于嵌入式系統的網(wǎng)絡(luò )編程和基于此應用層面的協(xié)議應用開(kāi)發(fā)又較為復雜, 并且有難度了。
三、目標與定位
    學(xué)STM32嵌入式,從硬件上講,一方面就是學(xué)習接口電路設計,另一方面就是學(xué)習匯編和C語(yǔ)言的板級編程。如果從軟件上講,就是要學(xué)習基于ARM處理器的操作系統層面的驅動(dòng)、移植了。硬件的寄存器類(lèi)的東西還是要能看懂的,掌握基于板級的匯編和C編程。
四、開(kāi)發(fā)系統選擇
    對于初學(xué)者在此方面以此入門(mén)還應該理智,開(kāi)發(fā)系統的選擇最終要看自己往嵌入式系統的那個(gè)方向上走,是做驅動(dòng)開(kāi)發(fā)還是應用,還是做嵌入式系統硬件層設計 與板級測試。如果想從操作系統層面或應用層面上走,不管是驅動(dòng)還是應用,那當然處理器性能越高越好了,但嵌入式系統這個(gè)東西自學(xué),有十分大的困難,不是幾個(gè)月或半年或是一年二年能搞定的事。
    選擇平臺還要考察一個(gè)處理器的外部資源,你接觸外部資源越多,越熟悉他們那你以后就業(yè)成功的機率就越高,這就是招聘時(shí) 所說(shuō)的有無(wú)“相關(guān)技能”,因為一個(gè)人不可能在短短幾年內把所有的處理器都接觸一遍,而招聘單位所用的處理器就可能是我們完全沒(méi)有見(jiàn)過(guò)的。因此開(kāi)發(fā)系統的選擇,要看自己的未來(lái)從來(lái)目標方向、要看開(kāi)發(fā)板接口資源、還要看業(yè)界的通用性。
五、高級嵌入式系統硬件工程師要具備的技能
    對于硬件來(lái)講有幾個(gè)方向,就單純信號來(lái)分為數字和模擬,模擬比較難搞,需要積累多年的經(jīng)驗,但是達到一定技術(shù)水平后工資十分可觀(guān)。
    數字部分在大方向上又可分為51/ARM的單片機類(lèi),DSP類(lèi),FPGA類(lèi)。ARM單片機(STM32屬于A(yíng)RM系列)類(lèi)的內容就較多,業(yè)界產(chǎn)品占用量大,應用人群廣,因此就業(yè)前景不錯。而硬件設計最體現水平和水準的就是接口設計這塊,這是各個(gè)高級硬件工程師判定水平高低的依據。
    想成為一個(gè)優(yōu)秀的工程師,需要對系統整體性的把握和對已有電路的理解,從硬件設計工程師中還可以分出ECAD工程師,就是專(zhuān)業(yè)的畫(huà)PCB板的工程師,和EMC設計工程師,幫助解決EMC的問(wèn)題。要能用到工具畫(huà)圖畫(huà)板做邏輯設計、接口設計審圖、調試。
    硬件是要靠經(jīng)驗,十年磨一劍!但是相對通常的軟件開(kāi)發(fā)者來(lái)說(shuō),可以有更長(cháng)的職業(yè)壽命。更多嵌入式學(xué)習,歡迎咨詢(xún)余工Q 二八五九七八零二零三

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页