在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

2020年軟硬件有什么值得學習的新技術

GReq_mcu168 ? 來源:玩轉單片機 ? 2020-06-23 15:30 ? 次閱讀

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

01

先搞清楚什么是嵌入式


我們已經習慣了使用強大的計算能力來處理機器學習,那么嵌入式是這樣的嗎?我們先和機器學習比一比。
AlexNet 需要727MFlops的運算能力(Flops=浮點運算)以及235Mb的內存才能處理小小的一張227 x 227像素的圖像。例如,Google Nexus S上的 ARM Cortex-A8的處理能力為每秒 66MFlops。因此,你必須等待大約 11 秒才能進行推斷。這也太慢了!
大學里我上了幾門與機器學習相關的課程。我們做了很多有趣的作業。但是當時即便是4GB GTX1050也不足以訓練所有模型。
一般的機器學習工程師很少考慮計算資源。而且他們也很少關心內存的使用情況。為什么?因為這些硬件都很便宜,甚至是你的手機都擁有相當不錯的CPU和大量內存。
你已經很久沒有過聚會拍照時發現自己手機上的存儲不夠的情況了吧?想象一下,你使用的是只有256KB閃存的TrueTouch感應控制器。沒錯,只有 256KB。而且由于固件占用了一部分, 因此你不能完全使用這點存儲。算下來,你能使用的也就是大約100KB。回頭再看看你的上一個模型的大小。可能比這個大多了。
有意思吧?我們來繼續看。
當聽到“嵌入式設備”時你會想起什么?記住腦海中出現的第一印象。
1. 嵌入式設備可以是任何電動機械,甚至是微波爐和洗衣機
沒錯,你答對了!
如今,幾乎所有的電氣設備都是嵌入式的。這些設備內部可能擁有一個或多個控制器來負責每個功能:觸摸感應、發動機狀態監控等。
2. Arduino樹莓派
恭喜你,再次答對了!
二者是 DIY 項目中最受歡迎和使用最廣泛的工具包之一。它們也是嵌入式設備。
3. Jetson Nano 及類似的產品
再次回答正確。
這是一種特殊的開發套件,簡稱迷你計算機,專門為運行機器學習模型而開發。它非常強大,而且非常酷。
但似乎有些不對。
我有很多朋友都在做一些很棒的硬件業余項目。通常他們會使用Arduino或 STM32
我認識幾個AI工程師對Jetson Nano和類似設備超有興趣。他們認為這些設備是嵌入式AI的未來。
那么,接下來請考慮這樣一個問題:“這些設備有多少用在了生產級別的產品中?”
答案:微乎其微
想一想你家中有多少電氣設備,然后再想想汽車中包含的大量控制器,以及工作上用到的安保系統,等等。
每個設備都有一個控制器。通常,這些控制器都是微型,且超級便宜。它們根本無法企及 Jetson 或樹莓派的資源和功能。
假設你有一個微控制器。它的主要任務是處理手指觸摸屏幕。它擁有ARM Cortex-M0處理器,256KB內存(其中只有80–120KG可用)。這是一個實時系統,因此你只需很少的時間來推斷模型,例如100微秒。你的目標是改善算法或替換算法。
祝你好運,歡迎來到“嵌入式AI”的世界。
重點:真正的嵌入式世界,由資源極其有限的 1-2 美元芯片組成。而生產級別的產品使用的就是這種芯片。

02

2020年軟硬件有什么值得學習的新技術

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

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


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

買個微處理器


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

閱讀書籍和文檔


閱讀書籍和文檔是最關鍵的學習方式。你可以根據自己選擇的方向(嵌入式系統、固件開發、驅動程序開發等),選擇相應的書籍。
除了C/C++之外,該領域沒有真正占據實際市場份額的編程語言,但是下面的新起之秀值得關注。
Rust
今年我一定要把學習 Rust 提上日程。有傳言說 Rust 是從C發展而來的,Rust 將在很多應用領域廣泛取代C。Rust 在嵌入式領域的發展非常迅速。如果我們比較 StackOverflow 網站上有關C、Rust 和 Assembly 的提問,就可以看到2019年有關 Rust 的問題數超過了 Assembly,而C在過去幾年中略有下降。
相對于C,Rust 有幾大優勢,最大的優勢之一就在于內存的安全性。Medium 網站上有很多關于 Rust 的文章,你可以通過閱讀了解 Rust 的所有優勢。此外,Rust 可以在許多微控制器上運行,這個 GitHub 代碼庫中匯總了大量信息(https://github.com/rust-embedded/awesome-embedded-rust)。
如果你想學習 Rust,那么我強烈建議你訪問 Rust 主頁(https://www.rust-lang.org/)。這個網站提供了大量的入門文檔和教程。還有這本書《The Rust Programming Language》也是很好的起點。Rust 網站專門提供了有關嵌入式的說明(https://www.rust-lang.org/what/embedded),可以幫助你了解嵌入式設備上的 Rust 編程。
Golang
Golang?Golang!Golang 這種編程語言的潛力也超過了你的想象。目前,它主要運行在用戶空間,可以替代 Ruby 等后端語言,或用作用戶空間的應用程序,因為它擁有良好的多處理器支持。 不過,我相信 Golang 會慢慢進入底層的編程。目前,它已應用在固件開發中,用于開發引導程序。隨著嵌入式設備上的 RAM、ROM 和 Flash 的容量不斷增大,將來也有可能在嵌入式設備上運行 Golang。對于每位嵌入式系統程序員來說,Golang 絕對值得一試,而希望參與固件開發的人則必須學習 Golang。 硬件 除了編程語言之外,硬件設計方面也有一些有趣的趨勢。我想提及的第一件事情是:RISC-V
RISC-V
RISC-V 是一種開源硬件指令集體系結構。它基于精簡指令集計算機原理,即所謂的 RISC。與 Arm 相比,制造商不需要支付許可費用即可使用 RISC-V。
面向服務器和消費者的硬件大多采用了x86硬件。我認為 RISC-V 不會很快在這部分市場中贏得份額,但是它有可能應用于其他幾個市場。路由器和交換機等嵌入式設備以及智能手機制造商或物聯網設備都可能切換到 RISC-V 架構。
現在市場已有 RISC-V 的電路板,雖然價格仍然偏高,但值得關注。例如,眼前我的辦公桌上的這塊就是 SiFive HiFive Board。
big.LITTLE
最后我想談談 big.LITTLE 架構。最初它是由 ARM 發明的。原理是將低功耗的處理器(LITTLE)與功能強大、高功耗的(big)處理器相結合。同一時間內, LITTLE 或 big 只有一側處于活動狀態。這種架構應該能夠更好地適應當今的動態計算需求。
這并不是一個新想法,ARM 于2011年就提出了此項建議。但是似乎其他制造商也對 big.LITTLE 躍躍欲試。英特爾于2019年預覽的英特爾 Lakefield 異構處理器就采用了 big.LITTLE 架構。

03

除了這些還要學什么?

1、打好嵌入式編程的基礎 這一階段重點打好嵌入式軟件編程的基礎,包括學習Linux系統的基本應用,Linux的常用命令、C語言編程基礎、常用的數據結構。 特別是C語言中對指針的理解和應用。這一階段的主要目的是學習編程語言、開發環境、和培養自己的編程思維,為進一步學習嵌入式開發打下良好的基礎。 這一階段推薦的嵌入式學習書籍如下:《C程序設計語言》,《C語言核心技術》,《數據結構與算法分析--C語言描述》,《C和指針》,《C陷阱與缺陷》,《C++ Primer》 當然,現在講求的是軟硬結合的時代,除了C語言最好還會這些東西:

看懂電路圖

看懂芯片手冊

有編寫,移植驅動的能力

懂內核的實現機制

懂C語言,C++, JAVA

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

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

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

《ARM體系結構與編程》,對ARM的運行原理解釋的很到位

3、學習嵌入式系統的構建 這一階段主要學習帶有操作系統的嵌入式系統的構建,包括系統的啟動流程、Bootloader的工作流程、UBOOT的編譯、裁剪與移植、嵌入式Linux內核的裁剪、移植與編譯,嵌入式根文件系統的定制、BootLoader、內核和根文件系統的燒寫。這一階段的主要目的是掌握帶有操作系統的嵌入式系統的構建和燒寫過程,以及對嵌入式系統軟件的總體構成有個整體認識,為我們接下來學習嵌入式應用和驅動開發打下堅實的基礎。 這一階段推薦的書籍如下:《構建嵌入式Linux核心軟件系統實戰》 本課程會涉及到以下知識點:

Linux總線,設備,驅動模型的探究

Linux設備樹的深入理解

Linux的啟動流程

Linux設備和驅動的相遇

動手定制一個開發板


4、學習嵌入式Linux應用程序開發 這一階段主要學習上層的嵌入式Linux應用程序開發,包括基于Linux多進程、多線程、網絡、文件與目錄和QT編程。掌握嵌入式Linux環境下應用程序開發技術。 這一階段推薦的書籍有:《UNIX環境高級編程》, 《Unix網絡編程》,《Qt Creator快速入門》, 《精通Qt4編程》 5、學習嵌入式Linux驅動程序開發 這一階段主要學習底層嵌入式Linux設備驅動程序開發設計,包括常用的字符設備驅動、塊設備驅動、LCD設備驅動、觸摸屏設備驅動以及驅動程序開發中的核心技術。 這一階段推薦的參考書籍有:《Linux設備驅動程序》,《Linux設備驅動開發詳解》 關于驅動的內容暫定如下:

LCD驅動程序

觸摸屏驅動程序

USB驅動程序

NAND FLASH驅動程序

NOR FLASH驅動程序

網卡驅動程序

聲卡驅動程序

6、根文件系統

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

Linux根文件系統目錄結構

移植Busybox

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

使用glibc庫

制作/使用文件系統映象文件

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5143

    文章

    19567

    瀏覽量

    315586
  • 編程語言
    +關注

    關注

    10

    文章

    1955

    瀏覽量

    36238
  • 機器學習
    +關注

    關注

    66

    文章

    8495

    瀏覽量

    134198

原文標題:嵌入式有什么值得學習的軟硬件技術?

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    技術故障率降低20%!關鍵在于這套IoT軟硬件一體化方案

    HAZEMAG攜手宏集EXOR部署軟硬件IoT融合方案,圍繞耐用性、兼容性與可視化效率三個關鍵目標展開,控制系統標準化統一、增強設備通信能力、優化可視化軟件,實現高效穩定運行。
    的頭像 發表于 05-27 14:21 ?138次閱讀
    <b class='flag-5'>技術</b>故障率降低20%!關鍵在于這套IoT<b class='flag-5'>軟硬件</b>一體化方案

    國芯思辰|同步采樣24位模數轉換器軟硬件替換ADS1174應用于關口表

    國芯思辰|同步采樣24位模數轉換器軟硬件替換ADS1174應用于關口表
    的頭像 發表于 05-14 10:02 ?176次閱讀
    國芯思辰|同步采樣24位模數轉換器<b class='flag-5'>軟硬件</b>替換ADS1174應用于關口表

    國產低噪聲4/6/8通道24位模數轉換器軟硬件替換AD1299應用于腦電波

    國產低噪聲4/6/8通道24位模數轉換器軟硬件替換AD1299應用于腦電波
    的頭像 發表于 05-07 09:47 ?152次閱讀
    國產低噪聲4/6/8通道24位模數轉換器<b class='flag-5'>軟硬件</b>替換AD1299應用于腦電波

    國產8通道24位ADC軟硬件兼容ADS131E08電能計量方案

    國產8通道24位ADC軟硬件兼容ADS131E08電能計量方案
    的頭像 發表于 04-29 10:09 ?251次閱讀
    國產8通道24位ADC<b class='flag-5'>軟硬件</b>兼容ADS131E08電能計量方案

    24位同步采樣ADC軟硬件替換ADS1274動態應變器應用方案

    24位同步采樣ADC軟硬件替換ADS1274動態應變器應用方案
    的頭像 發表于 04-28 09:52 ?200次閱讀
    24位同步采樣ADC<b class='flag-5'>軟硬件</b>替換ADS1274動態應變器應用方案

    16位6通道AFE軟硬件兼容ADS1120多參數監護儀應用方案

    16位6通道AFE軟硬件兼容ADS1120多參數監護儀應用方案
    的頭像 發表于 04-25 09:42 ?209次閱讀
    16位6通道AFE<b class='flag-5'>軟硬件</b>兼容ADS1120多參數監護儀應用方案

    【嵌入式學習利器】STM32全流程虛擬仿真系統,零基礎小白到軟硬件全棧工程師的修煉之路

    在嵌入式開發領域,硬件原理的抽象性和項目全流程的復雜性一直是初學者面臨的挑戰,尤其是像STM32單片機開發這種軟硬件結合的方向,初學者很容易被復雜的硬件知識、寄存器配置、PCB設計這些東西勸退
    的頭像 發表于 03-11 16:20 ?141次閱讀
    【嵌入式<b class='flag-5'>學習</b>利器】STM32全流程虛擬仿真系統,零基礎小白到<b class='flag-5'>軟硬件</b>全棧工程師的修煉之路

    請問DLP3010AFQK在軟硬件上是否對DLP3010FQK完全兼容?

    你好,請問DLP3010AFQK在軟硬件上是否對DLP3010FQK完全兼容?我們用DLP3010AFQK代替原來光機上的DLP3010FQK,DLP EVM GUI不能識別模塊,固件已經是最新版本。請幫忙解答一下,感謝。
    發表于 02-21 11:18

    兆芯CPU近期軟硬件適配動態

    近期,兆芯攜手多家軟硬件合作伙伴,基于開先KX-7000、開勝KH-40000等自主CPU和信創操作系統環境,持續推進應用生態建設工作,順利完成醫療自主終端、商用收款機、服務器操作系統、數據庫管理
    的頭像 發表于 01-15 15:33 ?502次閱讀

    恩智浦電機控制軟硬件解決方案

    。因此,設計一套結合軟硬件的高效電機控制解決方案,不僅能降低能耗,還能實現精準控制,滿足多樣化應用需求。本文將介紹電機控制技術的發展趨勢,以及NXP(恩智浦)與艾睿電子在電機控制技術上的優勢與解決方案。
    的頭像 發表于 01-15 10:12 ?1873次閱讀
    恩智浦電機控制<b class='flag-5'>軟硬件</b>解決方案

    星融元與焱融科技AI分布式存儲軟硬件完成兼容性互認證

    星融元與焱融科技AI分布式存儲軟硬件完成兼容性互認證
    的頭像 發表于 11-20 16:36 ?509次閱讀
    星融元與焱融科技AI分布式存儲<b class='flag-5'>軟硬件</b>完成兼容性互認證

    研華產品通過統信及兆芯通用軟硬件適配互認測試

    近日,研華自主研發的iEMS智慧能源、iMachine設備云智聯以及InsightAPM軟件通過了統信及兆芯通用軟硬件適配互認測試,順利取得了“通用軟硬件適配認證中心”聯合認證證書。這不僅對研華產品性能與兼容性給與認可,更是對其在國產化道路上給與了重要肯定。
    的頭像 發表于 09-14 17:58 ?1557次閱讀

    國產精密信號鏈產品完整解決方案,軟硬件兼容TI和ADI

    國產精密信號鏈產品完整解決方案,軟硬件兼容TI和ADI
    的頭像 發表于 08-19 09:58 ?953次閱讀
    國產精密信號鏈產品完整解決方案,<b class='flag-5'>軟硬件</b>兼容TI和ADI

    英特爾軟硬件構建模塊如何幫助優化RAG應用

    軟硬件構建模塊如何幫助優化RAG應用,在簡化部署和支持擴展的同時,增強其上下文感知能力和實時響應性能。 1 為您的應用量身定制GenAI ChatGPT的面世改變了AI的發展格局。企業爭相利用這項新技術
    的頭像 發表于 07-24 15:12 ?822次閱讀
    英特爾<b class='flag-5'>軟硬件</b>構建模塊如何幫助優化RAG應用

    用于多路信號采集的國產模數轉換器,軟硬件兼容ADS1220

    用于多路信號采集的國產模數轉換器,軟硬件兼容ADS1220
    的頭像 發表于 06-24 09:58 ?857次閱讀
    用于多路信號采集的國產模數轉換器,<b class='flag-5'>軟硬件</b>兼容ADS1220
    主站蜘蛛池模板: 一级特黄aaa免费 | 欧美成人 一区二区三区 | 午夜宅男视频 | 黄网站色成年片大免费软件 | 亚洲一区二区三区免费看 | 美女视频黄.免费网址 | 57pao成人永久免费视频 | 377p亚洲欧洲日本大胆色噜噜 | 欧美八区 | 韩国电影天堂 | 日本精品一在线观看视频 | 看视频免费| 人与牲动交xx | 色吧在线视频在线观看 | 国产在线观看黄色 | 欧美一级特黄乱妇高清视频 | 欧美一级看片a免费观看 | 亚洲成人在线免费 | 午夜在线播放视频 | 免费网站你懂得 | 亚洲综合狠狠 | 国产成人精品日本亚洲网站 | 日产乱码免费一卡二卡在线 | 1515hh四虎免费观38com | 四虎影免看黄 | 搜索黄色毛片 | 国产一级特黄aaaa大片野外 | 色综合久久综合 | 在线看欧美成人中文字幕视频 | 四虎成人免费观看在线网址 | 欧美一级特黄aaaaaa在线看片 | 正在播放国产乱子伦视频 | 久久是精品 | 久久青草国产手机看片福利盒子 | 99成人 | 68日本xxxxxxxxx| 免费人成在线观看网站品爱网 | 欧美高清一区二区三 | 一级做a爰片久久免费 | 午夜小影院 | 永久免费在线播放 |