日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > > 華清遠見武漢中心
[導讀]內(nèi)容整理自網(wǎng)絡 ????????對嵌入式系統(tǒng)工程師及嵌入式硬件工程師而言,2020年將是振奮人心的一年。隨著物聯(lián)網(wǎng)應用的普及,MCU市場將再次繁榮。因此,市場上對嵌入式系統(tǒng)工程師人才的需求也將出現(xiàn)新高。這些都是底層編程領域中即將出現(xiàn)的趨勢。 ?01? 先搞清楚什


內(nèi)容整理自網(wǎng)絡



        對嵌入式系統(tǒng)工程師及嵌入式硬件工程師而言,2020年將是振奮人心的一年。隨著物聯(lián)網(wǎng)應用的普及,MCU市場將再次繁榮。因此,市場上對嵌入式系統(tǒng)工程師人才的需求也將出現(xiàn)新高。這些都是底層編程領域中即將出現(xiàn)的趨勢。




 01 
先搞清楚什么是嵌入式!


         我們已經(jīng)習慣了使用強大的計算能力來處理機器學習,那么嵌入式是這樣的嗎?我們先和機器學習比一比。 AlexNet 需要727MFlops的運算能力(Flops=浮點運算)以及235Mb的內(nèi)存才能處理小小的一張227 x 227像素的圖像。例如,Google Nexus S上的 ARM Cortex-A8的處理能力為每秒 66MFlops。因此,你必須等待大約 11 秒才能進行推斷。這也太慢了!


        大學里我上了幾門與機器學習相關(guān)的課程。我們做了很多有趣的作業(yè)。但是當時即便是4GB GTX1050也不足以訓練所有模型。一般的機器學習工程師很少考慮計算資源。而且他們也很少關(guān)心內(nèi)存的使用情況。為什么?因為這些硬件都很便宜,甚至是你的手機都擁有相當不錯的CPU和大量內(nèi)存。你已經(jīng)很久沒有過聚會拍照時發(fā)現(xiàn)自己手機上的存儲不夠的情況了吧?想象一下,你使用的是只有256KB閃存的TrueTouch感應控制器。沒錯,只有 256KB。而且由于固件占用了一部分, 因此你不能完全使用這點存儲。算下來,你能使用的也就是大約100KB?;仡^再看看你的上一個模型的大小。可能比這個大多了。有意思吧?我們來繼續(xù)看。


當聽到“嵌入式設備”時你會想起什么?

記住腦海中出現(xiàn)的第一印象。


 1. 嵌入式設備可以是任何電動機械,甚至是微波爐和洗衣機 

        沒錯,你答對了!如今,幾乎所有的電氣設備都是嵌入式的。這些設備內(nèi)部可能擁有一個或多個控制器來負責每個功能:觸摸感應、發(fā)動機狀態(tài)監(jiān)控等。


 2. Arduino 和樹莓派 

        恭喜你,再次答對了!二者是 DIY 項目中最受歡迎和使用最廣泛的工具包之一。它們也是嵌入式設備。


 3. Jetson Nano 及類似的產(chǎn)品 

        再次回答正確。這是一種特殊的開發(fā)套件,簡稱迷你計算機,專門為運行機器學習模型而開發(fā)。它非常強大,而且非常酷。但似乎有些不對。我有很多朋友都在做一些很棒的硬件業(yè)余項目。通常他們會使用Arduino或 STM32。我認識幾個AI工程師對Jetson Nano和類似設備超有興趣。他們認為這些設備是嵌入式AI的未來。

        那么,接下來請考慮這樣一個問題:“這些設備有多少用在了生產(chǎn)級別的產(chǎn)品中?”

        答案:微乎其微。想一想你家中有多少電氣設備,然后再想想汽車中包含的大量控制器,以及工作上用到的安保系統(tǒng),等等。每個設備都有一個控制器。通常,這些控制器都是微型,且超級便宜。它們根本無法企及 Jetson 或樹莓派的資源和功能。假設你有一個微控制器。它的主要任務是處理手指觸摸屏幕。它擁有ARM Cortex-M0處理器,256KB內(nèi)存(其中只有80–120KG可用)。這是一個實時系統(tǒng),因此你只需很少的時間來推斷模型,例如100微秒。你的目標是改善算法或替換算法。



祝你好運,歡迎來到“嵌入式AI”的世界。

 真正的嵌入式世界,由資源極其有限的 1-2 美元芯片組成。

 而生產(chǎn)級別的產(chǎn)品使用的就是這種芯片。




 02 
2020年軟硬件有什么值得學習的新技術(shù)?


 1.編程語言 

        當我們談及編寫圍繞硬件層運行的代碼時,最常提起的就是C語言。25年前,當我們從匯編語言過渡到C語言時,整個過程非常緩慢,且需求很高。如果你想進入嵌入式編程領域,那么2020年C以及C++仍然是你應該重點學習的編程語言。

如果你想嘗試嵌入式編程,那么可以從下面幾個方面著手:

https://www.learn-c.org/

        Learn-c.org 是 Ron Reiter 的私人項目。雖然這個項目與嵌入式或硬件的關(guān)系不大,但作為C語言入門還是很不錯的。

買個微處理器

        就我個人而言,實際操作才是最佳的學習途徑。所以,你也可以買一個微處理器,實際接觸硬件,親眼看到實際結(jié)果才是你最應該做的事情。你可以購買 Arduino 等流行的處理器,然后從一個小項目開始,真正了解硬件的工作原理。

閱讀書籍和文檔

        閱讀書籍和文檔是最關(guān)鍵的學習方式。你可以根據(jù)自己選擇的方向(嵌入式系統(tǒng)、固件開發(fā)、驅(qū)動程序開發(fā)等),選擇相應的書籍。除了C/C++之外,該領域沒有真正占據(jù)實際市場份額的編程語言,但是下面的新起之秀值得關(guān)注。


Rust

        今年我一定要把學習 Rust 提上日程。有傳言說 Rust 是從C發(fā)展而來的,Rust 將在很多應用領域廣泛取代C。Rust 在嵌入式領域的發(fā)展非常迅速。如果我們比較 StackOverflow 網(wǎng)站上有關(guān)C、Rust 和 Assembly 的提問,就可以看到2019年有關(guān) Rust 的問題數(shù)超過了 Assembly,而C在過去幾年中略有下降。

        相對于C,Rust 有幾大優(yōu)勢,最大的優(yōu)勢之一就在于內(nèi)存的安全性。Medium 網(wǎng)站上有很多關(guān)于 Rust 的文章,你可以通過閱讀了解 Rust 的所有優(yōu)勢。此外,Rust 可以在許多微控制器上運行,這個 GitHub 代碼庫中匯總了大量信息(https://github.com/rust-embedded/awesome-embedded-rust)。

        如果你想學習 Rust,那么我強烈建議你訪問 Rust 主頁(https://www.rust-lang.org/)。這個網(wǎng)站提供了大量的入門文檔和教程。還有這本書《The Rust Programming Language》也是很好的起點。Rust 網(wǎng)站專門提供了有關(guān)嵌入式的說明(https://www.rust-lang.org/what/embedded),可以幫助你了解嵌入式設備上的 Rust 編程。


Golang

    Golang?Golang!Golang 這種編程語言的潛力也超過了你的想象。目前,它主要運行在用戶空間,可以替代 Ruby 等后端語言,或用作用戶空間的應用程序,因為它擁有良好的多處理器支持。不過,我相信 Golang 會慢慢進入底層的編程。目前,它已應用在固件開發(fā)中,用于開發(fā)引導程序。隨著嵌入式設備上的 RAM、ROM 和 Flash 的容量不斷增大,將來也有可能在嵌入式設備上運行 Golang。 對于每位嵌入式系統(tǒng)程序員來說,Golang 絕對值得一試,而希望參與固件開發(fā)的人則必須學習 Golang。


 2.硬件 

         除了編程語言之外,硬件設計方面也有一些有趣的趨勢。我想提及的第一件事情是:RISC-V。


RISC-V

        RISC-V 是一種開源硬件指令集體系結(jié)構(gòu)。它基于精簡指令集計算機原理,即所謂的 RISC。與 Arm 相比,制造商不需要支付許可費用即可使用 RISC-V。面向服務器和消費者的硬件大多采用了x86硬件。我認為 RISC-V 不會很快在這部分市場中贏得份額,但是它有可能應用于其他幾個市場。路由器和交換機等嵌入式設備以及智能手機制造商或物聯(lián)網(wǎng)設備都可能切換到 RISC-V 架構(gòu)。

        現(xiàn)在市場已有 RISC-V 的電路板,雖然價格仍然偏高,但值得關(guān)注。


big.LITTLE

        最后我想談談 big.LITTLE 架構(gòu)。最初它是由 ARM 發(fā)明的。原理是將低功耗的處理器(LITTLE)與功能強大、高功耗的(big)處理器相結(jié)合。同一時間內(nèi), LITTLE 或 big 只有一側(cè)處于活動狀態(tài)。這種架構(gòu)應該能夠更好地適應當今的動態(tài)計算需求。 這并不是一個新想法,ARM 于2011年就提出了此項建議。但是似乎其他制造商也對 big.LITTLE 躍躍欲試。英特爾于2019年預覽的英特爾 Lakefield 異構(gòu)處理器就采用了 big.LITTLE 架構(gòu)。




 03 

除了這些還要學什么?


 1、打好嵌入式編程的基礎  

        這一階段重點打好嵌入式軟件編程的基礎,包括學習Linux系統(tǒng)的基本應用,Linux的常用命令、C語言編程基礎、常用的數(shù)據(jù)結(jié)構(gòu)。特別是C語言中對指針的理解和應用。這一階段的主要目的是學習編程語言、開發(fā)環(huán)境、和培養(yǎng)自己的編程思維,為進一步學習嵌入式開發(fā)打下良好的基礎。

        這一階段推薦的嵌入式學習書籍如下:《C程序設計語言》,《C語言核心技術(shù)》,《數(shù)據(jù)結(jié)構(gòu)與算法分析--C語言描述》,《C和指針》,《C陷阱與缺陷》,《C++ Primer》 。當然,現(xiàn)在講求的是軟硬結(jié)合的時代,除了C語言最好還會這些東西:


  • 看懂電路圖

  • 看懂芯片手冊

  • 有編寫,移植驅(qū)動的能力

  • 懂內(nèi)核的實現(xiàn)機制

  • 懂C語言,C++, JAVA等


 2、學習ARM體系結(jié)構(gòu)編程  

        這一階段才是真正的嵌入式編程,首先我們要選擇一款嵌入式CPU和一款嵌入式開發(fā)平臺,目前ARM 嵌入式CPU應用最廣泛,這一階段重點是學習嵌入式CPU的裸機編程,熟悉中斷、定時器、串口、NAND FLASH、網(wǎng)絡控制器、LCD屏、觸摸屏等常用嵌入式外圍設備的硬件工作原理,以及如何使用C語言來編程、控制這些硬件。這一階段除了要學習對硬件編程之外,還需要學習嵌入式硬件的知識,但是對于嵌入式軟件工程師來講,重點是學習硬件的工作原理,在掌握硬件工作原理的基礎上,對硬件進行編程控制。這和硬件工程師學習的側(cè)重點有所不同。這一階段對應的學校的課程主要包括模擬電路、數(shù)字電路、微機原理和單片機。這一階段重點是要看CPU的芯片手冊,大部分的參考書也是對芯片手冊的翻譯。

推薦的參考書籍如下:


  • 《微機原理》,可以理解一個計算機的組成原理

  • 《數(shù)字電路》,掌握一些邏輯運算,理解各種門電路的原理

  • 《ARM體系結(jié)構(gòu)與編程》,對ARM的運行原理解釋的很到位


 3、學習嵌入式系統(tǒng)的構(gòu)建  

        這一階段主要學習帶有操作系統(tǒng)的嵌入式系統(tǒng)的構(gòu)建,包括系統(tǒng)的啟動流程、Bootloader的工作流程、UBOOT的編譯、裁剪與移植、嵌入式Linux內(nèi)核的裁剪、移植與編譯,嵌入式根文件系統(tǒng)的定制、BootLoader、內(nèi)核和根文件系統(tǒng)的燒寫。這一階段的主要目的是掌握帶有操作系統(tǒng)的嵌入式系統(tǒng)的構(gòu)建和燒寫過程,以及對嵌入式系統(tǒng)軟件的總體構(gòu)成有個整體認識,為我們接下來學習嵌入式應用和驅(qū)動開發(fā)打下堅實的基礎。

這一階段推薦的書籍如下:《構(gòu)建嵌入式Linux核心軟件系統(tǒng)實戰(zhàn)》 

本課程會涉及到以下知識點:

  • Linux總線,設備,驅(qū)動模型的探究

  • Linux設備樹的深入理解

  • Linux的啟動流程

  • Linux設備和驅(qū)動的相遇

  • 動手定制一個開發(fā)板


 4、學習嵌入式Linux應用程序開發(fā)  

        這一階段主要學習上層的嵌入式Linux應用程序開發(fā),包括基于Linux多進程、多線程、網(wǎng)絡、文件與目錄和QT編程。掌握嵌入式Linux環(huán)境下應用程序開發(fā)技術(shù)。

        這一階段推薦的書籍有: 《UNIX環(huán)境高級編程》, 《Unix網(wǎng)絡編程》,《Qt Creator快速入門》, 《精通Qt4編程》 


 5、學習嵌入式Linux驅(qū)動程序開發(fā)  

        這一階段主要學習底層嵌入式Linux設備驅(qū)動程序開發(fā)設計,包括常用的字符設備驅(qū)動、塊設備驅(qū)動、LCD設備驅(qū)動、觸摸屏設備驅(qū)動以及驅(qū)動程序開發(fā)中的核心技術(shù)。

這一階段推薦的參考書籍有:《Linux設備驅(qū)動程序》,《Linux設備驅(qū)動開發(fā)詳解》 

關(guān)于驅(qū)動的內(nèi)容暫定如下:


  • LCD驅(qū)動程序

  • 觸摸屏驅(qū)動程序

  • USB驅(qū)動程序

  • NAND FLASH驅(qū)動程序

  • NOR FLASH驅(qū)動程序

  • 網(wǎng)卡驅(qū)動程序

  • 聲卡驅(qū)動程序


 6、根文件系統(tǒng) 

        在開發(fā)應用程序時,也需要搭建文件系統(tǒng),把各種庫、配置文件放進去;在發(fā)布產(chǎn)品時,你還需要修改配置文件,使得產(chǎn)品可以自動運行程序;甚至你想實現(xiàn)插上U盤后自動啟動某個程序,這也要要修改配置文件;這一切,都需要你理解根文件系統(tǒng)的構(gòu)成,理解內(nèi)核啟動后是根據(jù)什么配置文件來啟動哪些應用程序。根文件系統(tǒng)相對比較簡單,可以根據(jù)以下路線學習:


  • Linux根文件系統(tǒng)目錄結(jié)構(gòu)

  • 移植Busybox

  • init進程介紹及用戶程序啟動過程

  • 使用glibc庫

  • 制作/使用文件系統(tǒng)映象文件


 7、完成一個綜合項目  

        嵌入式技術(shù)關(guān)鍵在于理論和實踐的結(jié)合,要能夠?qū)W以致用,完成了以上的所有階段的知識點學習后,到底有沒有學會,會不會用,能不能應用所學知識來解決實際開發(fā)中的問題,我們需要來完成一個綜合的嵌入式實訓項目,例如:基于嵌入式Linux平臺實現(xiàn)的飛行器、 基于嵌入式Linux平臺實現(xiàn)的智能機器人等,這些項目都綜合應用了嵌入式開發(fā)當中的應用,驅(qū)動和QT開發(fā)技術(shù)。


【參考文獻】

1、Christian Walter . Two must-knows for embedded engineers in 2020

2、Andrew Zhuravchak . Machine Learning Fails When It Comes to Embedded System. Here’s Why

3、Peter . The roadmap of embedded learning

免責聲明:整理文章為傳播相關(guān)技術(shù),版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系刪除




  專業(yè)始于專注  

  卓識始于遠見  




# 往期干貨 #

點擊下方文字即刻前往

智能家居實訓系統(tǒng)

——

嵌入式學科-TCPIP

——

單鏈表

——

嵌入式從入門到精通需要學什么





   瞅一瞅看一看 ↘ 

免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉