国产成人精品三级麻豆,色综合天天综合高清网,亚洲精品夜夜夜,国产成人综合在线女婷五月99播放,色婷婷色综合激情国产日韩

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 行業(yè)百科 > 嵌入式學習深入理解 名人許雪松專訪

嵌入式學習深入理解 名人許雪松專訪 時間:2015-12-17      來源:未知

15歲開始接觸計算機編程,18歲學習C/C++編程,迄今已十多年有余,并參與大大小小幾十個項目的開發(fā)及維護。涉及工業(yè)自動化、嵌入式計算機以及逆變器等領(lǐng)域。尤其擅長RTOS,如uC/OS-II、RTEMS,翻譯RTEMS官方文檔近千頁,擅長測量電路和開關(guān)電源的設計,現(xiàn)在擔任公司團隊設計電池測試產(chǎn)品和大功率逆變器產(chǎn)品,看看這位資深人士的分享內(nèi)容。

在嵌入式學習過程中,對于非常熟悉Windows這樣的操作系統(tǒng),但卻不一定熟悉嵌入式系統(tǒng)中常用的RTOS,嵌入式和事實系統(tǒng)是一種什么樣的?

嵌入式系統(tǒng)是為了特定應用高度定制的軟件硬件計算機系統(tǒng)。從廣義的去理解,只要被定制,都可以算作嵌入式系統(tǒng)。如今,在家用的x86系統(tǒng)上,跑一個類似VxWorks、RTEMS等操作系統(tǒng),當成一個家庭網(wǎng)關(guān)都可算是嵌入式系統(tǒng)。有時候,同行認為真正的嵌入式系統(tǒng)硬件也必須按照應用去定制。操作系統(tǒng)就是個資源的管理器。管理計算機上的全部資源,如CPU的計算時間、內(nèi)存、IO等。實時操作系統(tǒng)簡單的說,計算結(jié)果不僅依賴于計算結(jié)果的正確性,還依賴于結(jié)果計算完成的時間。

嵌入式學習過程中,對于嵌入式系統(tǒng)實時性要求高,對于所有滿足一定的速度是否都可稱為實時系統(tǒng)?

很多廠家并不需要RTOS,前后臺也能滿足其需要,但他們還是用了RTOS。實時操作系統(tǒng)的高效是為嵌入式系統(tǒng)廣為接受的一個很重要的原因。高效有兩層意思,一是用任務可以封裝開發(fā)的邏輯,使應用層代碼邏輯更加完整,減小開發(fā)難度,代碼的復用程度會變高;二是,RTOS代碼都比較簡潔,算法的空間雜度和時間雜度都很小,能將MCU的絕大部分資源都留給應用層。反過來,大量的應用促使RTOS更加的可靠、更加的精煉,實時性也會更好。當然,如醫(yī)療電子、航天電子和工業(yè)控制本身,有許多計算是依賴于時間的,對實時性要求非常苛刻。

嵌入式編程相比PC編程,具有哪些復雜性?在嵌入式學習中應當如何開始和深入?

嵌入式開發(fā)大的挑戰(zhàn)是軟件硬件同時成熟,出了問題容易踢皮球,影響開發(fā)時間。然而,對于軟件開發(fā)者來說,大的問題莫過于軟件代碼的撰寫。PC平臺的封裝非常完善,應用也非常廣泛,沒有明顯的錯誤,極其穩(wěn)定。嵌入式平臺幾乎沒這樣的資源和封裝級別,且和一些寄存器相關(guān)。這些寄存器配置的順序,值都有嚴格的規(guī)定,嚴格按照datasheet的要求做。嵌入式代碼全新開發(fā)得太多,自身也有個成熟的過程,也存在著很多方面的問題。例如:代碼的應用層和底層耦合、應用層的使用不當和造成底層順序錯誤等等。嵌入式調(diào)試成本很高,調(diào)試手段相比PC也比較單一,對從業(yè)人員的要求更高,這都增加了嵌入式的復雜性。

對于嵌入式學習來講,在嵌入式開發(fā)中,對于硬件開發(fā)平臺來講,F(xiàn)PGA,ARM,DSP等等,哪個更好,對于初學者來講,想要學習ARM開發(fā)板,該如何去選購?

FPGA和MCU是嵌入式開發(fā)的兩個不同領(lǐng)域:前者硬件多、后者軟件多,應用的行業(yè)領(lǐng)域和背景知識差別很大。兩者相互不能完全替代。一般來說,F(xiàn)PGA相對于MCU的市場,較為小眾。至于DSP,它是以計算見長的一類MCU,并不適合跑調(diào)轉(zhuǎn)指令太多的事務代碼,會打斷流水線,優(yōu)勢體現(xiàn)不出來。所以,DSP的應用和一般的MCU用法略有不同,比較側(cè)重計算、優(yōu)化。

在嵌入式學習中,嵌入式開發(fā)的開發(fā)板是否一定要買?是否有比較好的硬件模擬器?

可以直接在x86上做。我買過開發(fā)板,但是買了之后,就放在屋子里睡覺,因為可以直接使用x86平臺做目標平臺。虛擬平臺差異很大。目前,x86是虛擬做得好的平臺,可以在x86上實現(xiàn)所有的驅(qū)動。ARM的平臺虛擬水平也要看具體型號。我曾今參加一個開源項目,將RTEMS移植到QEMU mini2440上,可惜QEMU mini2440 的虛擬器或多或少仍有點問題,但也可以解決大部分的問題?蓪τ趯W習操作系統(tǒng)的朋友,去解決虛擬平臺的問題,有些不靠譜。所以,真心想學習的,就把x86當作嵌入式平臺去寫代碼。畢竟,能比x86這種嵌入式還要復雜的系統(tǒng),也是屈指可數(shù)的,其含金量毋庸置疑。

在嵌入式學習過程中,在這些常用的嵌入式系統(tǒng)中,如何來更好地選擇適合自己的系統(tǒng)?

uC/OS,F(xiàn)reeRTOS、rt-thread、VxWorks、ThreadX、RTEMS、ECOS。不下上百種。在這些系統(tǒng)中選擇自己的系統(tǒng)可不是件容易的事情。學習的朋友,我推薦uC/OS,有相關(guān)書籍,網(wǎng)上的資源也比較多。uC/OS僅僅是一個處理器時間的分配器,簡單、易學。學好了,觸類旁通,其他的也復雜不了多少。由于商業(yè)應用比較復雜,涉及工具鏈、商業(yè)授權(quán)、維護、可靠性、易用性等問題。商業(yè)應用的朋友我建議開源免費的就選擇發(fā)展時間比較長的系統(tǒng),如RTEMS、ECOS這種系統(tǒng),或者直接選擇有商業(yè)服務的系統(tǒng)。

嵌入式學習中,在眾多實際操作系統(tǒng)中,你為什么選擇RTEMS?現(xiàn)在還有開發(fā)用到RTEMS嗎?如果初學者想精通一門RTOS , 應該從RTEMS開始,這種辦法可行么?

RTEMS的內(nèi)部數(shù)據(jù)結(jié)構(gòu)設計非常精巧,是一個知識的寶庫。舉個例子,在數(shù)據(jù)結(jié)構(gòu)里,雙向空鏈表插入第一個元素時與插入第二個元素操作很不一樣。在RTEMS里,用特殊的技巧使得不需要做這種判斷,直接插入就好。又如堆的管理、重復釋放申請的指針,不會產(chǎn)生任何問題。而在uC/OS里,這是致命的。雖然RTEMS是上個世紀80年代末開發(fā)的系統(tǒng),數(shù)據(jù)結(jié)構(gòu)和內(nèi)部的組織從今天的角度來看,仍然是非常先進的,是個含金量非常高的系統(tǒng)。

RTEMS的代碼量比Linux小,又比uC/OS這種系統(tǒng)大幾個數(shù)量級。其開發(fā)難度和應用難度相對較高。初學者若是有堅實的基礎,可以從RTEMS開始學習;基礎較差朋友,若有RTEMS的熟手帶,也是可以的。否則不建議這樣做,會挫傷學習的積極性,形成惡性循環(huán)。

上一篇:嵌入式學習入門指南 名人唐攀專訪

下一篇:嵌入式學習經(jīng)驗 老外Bruce Douglass專訪

熱點文章推薦
華清學員就業(yè)榜單
高薪學員經(jīng)驗分享
熱點新聞推薦
前臺專線:010-82525158 企業(yè)培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權(quán)所有 ,京ICP備16055225號-5京公海網(wǎng)安備11010802025203號

回到頂部