電子工程網(wǎng)
標(biāo)題: 嵌入式有什么值得學(xué)習(xí)的軟硬件技術(shù) [打印本頁]
作者: XYD李 時(shí)間: 2021-6-26 10:28
標(biāo)題: 嵌入式有什么值得學(xué)習(xí)的軟硬件技術(shù)
對(duì)嵌入式系統(tǒng)工程師及嵌入式硬件工程師而言,2020年將是振奮人心的一年。隨著物聯(lián)網(wǎng)應(yīng)用的普及,MCU市場(chǎng)將再次繁榮。因此,市場(chǎng)上對(duì)嵌入式系統(tǒng)工程師人才的需求也將出現(xiàn)新高。這些都是底層編程領(lǐng)域中即將出現(xiàn)的趨勢(shì)。
先搞清楚什么是嵌入式
我們已經(jīng)習(xí)慣了使用強(qiáng)大的計(jì)算能力來處理機(jī)器學(xué)習(xí),那么嵌入式是這樣的嗎?
一般的機(jī)器學(xué)習(xí)工程師很少考慮計(jì)算資源。而且他們也很少關(guān)心內(nèi)存的使用情況。為什么?因?yàn)檫@些硬件都很便宜,甚至是你的手機(jī)都擁有相當(dāng)不錯(cuò)的CPU和大量內(nèi)存。
你已經(jīng)很久沒有過聚會(huì)拍照時(shí)發(fā)現(xiàn)自己手機(jī)上的存儲(chǔ)不夠的情況了吧?想象一下,你使用的是只有256KB閃存的TrueTouch感應(yīng)控制器。沒錯(cuò),只有 256KB。而且由于固件占用了一部分, 因此你不能完全使用這點(diǎn)存儲(chǔ)。算下來,你能使用的也就是大約100KB。回頭再看看你的上一個(gè)模型的大小。可能比這個(gè)大多了。
有意思吧?我們來繼續(xù)看。
當(dāng)聽到“嵌入式設(shè)備”時(shí)你會(huì)想起什么?記住腦海中出現(xiàn)的第一印象。
嵌入式設(shè)備可以是任何電動(dòng)機(jī)械,甚至是微波爐和洗衣機(jī)
沒錯(cuò),你答對(duì)了!
如今,幾乎所有的電氣設(shè)備都是嵌入式的。這些設(shè)備內(nèi)部可能擁有一個(gè)或多個(gè)控制器來負(fù)責(zé)每個(gè)功能:觸摸感應(yīng)、發(fā)動(dòng)機(jī)狀態(tài)監(jiān)控等。
這是一種特殊的開發(fā)套件,簡稱迷你計(jì)算機(jī),專門為運(yùn)行機(jī)器學(xué)習(xí)模型而開發(fā)。它非常強(qiáng)大,而且非常酷。
但似乎有些不對(duì)。
信盈達(dá)小編有很多朋友都在做一些很棒的硬件業(yè)余項(xiàng)目。通常他們會(huì)使用Arduino或 STM32。
那么,接下來請(qǐng)考慮這樣一個(gè)問題:“這些設(shè)備有多少用在了生產(chǎn)級(jí)別的產(chǎn)品中?”
答案:微乎其微
想一想家中有多少電氣設(shè)備,然后再想想汽車中包含的大量控制器,以及工作上用到的安保系統(tǒng),等等。
每個(gè)設(shè)備都有一個(gè)控制器。通常,這些控制器都是微型,且超級(jí)便宜。
祝你好運(yùn),歡迎來到“嵌入式AI”的世界。
重點(diǎn):真正的嵌入式世界,由資源極其有限的 1-2 美元芯片組成。而生產(chǎn)級(jí)別的產(chǎn)品使用的就是這種芯片。
2020年軟硬件有什么值得學(xué)習(xí)的新技術(shù)
編程語言
當(dāng)我們談及編寫圍繞硬件層運(yùn)行的代碼時(shí),最常提起的就是C語言。25年前,當(dāng)我們從匯編語言過渡到C語言時(shí),整個(gè)過程非常緩慢,且需求很高。如果你想進(jìn)入嵌入式編程領(lǐng)域,那么2020年C以及C++仍然是你應(yīng)該重點(diǎn)學(xué)習(xí)的編程語言。
如果你想嘗試嵌入式編程,那么可以從下面幾個(gè)方面著手:
https://www.learn-c.org/
Learn-c.org 是 Ron Reiter 的私人項(xiàng)目。雖然這個(gè)項(xiàng)目與嵌入式或硬件的關(guān)系不大,但作為C語言入門還是很不錯(cuò)的。
買個(gè)微處理器
就小編個(gè)人而言,實(shí)際操作才是最佳的學(xué)習(xí)途徑。所以,你也可以買一個(gè)微處理器,實(shí)際接觸硬件,親眼看到實(shí)際結(jié)果才是你最應(yīng)該做的事情。
閱讀書籍和文檔
閱讀書籍和文檔是最關(guān)鍵的學(xué)習(xí)方式。你可以根據(jù)自己選擇的方向(嵌入式系統(tǒng)、固件開發(fā)、驅(qū)動(dòng)程序開發(fā)等),選擇相應(yīng)的書籍。
除了C/C++之外,該領(lǐng)域沒有真正占據(jù)實(shí)際市場(chǎng)份額的編程語言,但是下面的新起之秀值得關(guān)注。
硬件
除了編程語言之外,硬件設(shè)計(jì)方面也有一些有趣的趨勢(shì)。小編想提及的第一件事情是:RISC-V。
RISC-V 是一種開源硬件指令集體系結(jié)構(gòu)。它基于精簡指令集計(jì)算機(jī)原理,即所謂的 RISC。與 Arm 相比,制造商不需要支付許可費(fèi)用即可使用 RISC-V。
面向服務(wù)器和消費(fèi)者的硬件大多采用了x86硬件。我認(rèn)為 RISC-V 不會(huì)很快在這部分市場(chǎng)中贏得份額,但是它有可能應(yīng)用于其他幾個(gè)市場(chǎng)。路由器和交換機(jī)等嵌入式設(shè)備以及智能手機(jī)制造商或物聯(lián)網(wǎng)設(shè)備都可能切換到 RISC-V 架構(gòu)。
現(xiàn)在市場(chǎng)已有 RISC-V 的電路板,雖然價(jià)格仍然偏高,但值得關(guān)注。
除了這些還要學(xué)什么?
1、打好嵌入式編程的基礎(chǔ)
這一階段重點(diǎn)打好嵌入式軟件編程的基礎(chǔ),包括學(xué)習(xí)Linux系統(tǒng)的基本應(yīng)用,Linux的常用命令、C語言編程基礎(chǔ)、常用的數(shù)據(jù)結(jié)構(gòu)。
特別是C語言中對(duì)指針的理解和應(yīng)用。這一階段的主要目的是學(xué)習(xí)編程語言、開發(fā)環(huán)境、和培養(yǎng)自己的編程思維,為進(jìn)一步學(xué)習(xí)嵌入式開發(fā)打下良好的基礎(chǔ)。
當(dāng)然,現(xiàn)在講求的是軟硬結(jié)合的時(shí)代,除了C語言最好還會(huì)這些東西:
看懂電路圖
看懂芯片手冊(cè)
有編寫,移植驅(qū)動(dòng)的能力
懂內(nèi)核的實(shí)現(xiàn)機(jī)制
懂C語言,C++, JAVA等
2、學(xué)習(xí)ARM體系結(jié)構(gòu)編程
這一階段才是真正的嵌入式編程,首先我們要選擇一款嵌入式CPU和一款嵌入式開發(fā)平臺(tái),目前ARM 嵌入式CPU應(yīng)用最廣泛,這一階段重點(diǎn)是學(xué)習(xí)嵌入式CPU的裸機(jī)編程,熟悉中斷、定時(shí)器、串口、NAND FLASH、網(wǎng)絡(luò)控制器、LCD屏、觸摸屏等常用嵌入式外圍設(shè)備的硬件工作原理,以及如何使用C語言來編程、控制這些硬件。這一階段除了要學(xué)習(xí)對(duì)硬件編程之外,還需要學(xué)習(xí)嵌入式硬件的知識(shí),但是對(duì)于嵌入式軟件工程師來講,重點(diǎn)是學(xué)習(xí)硬件的工作原理,在掌握硬件工作原理的基礎(chǔ)上,對(duì)硬件進(jìn)行編程控制。這和硬件工程師學(xué)習(xí)的側(cè)重點(diǎn)有所不同。這一階段對(duì)應(yīng)的學(xué)校的課程主要包括模擬電路、數(shù)字電路、微機(jī)原理和單片機(jī)。這一階段重點(diǎn)是要看CPU的芯片手冊(cè),大部分的參考書也是對(duì)芯片手冊(cè)的翻譯。
3、學(xué)習(xí)嵌入式系統(tǒng)的構(gòu)建
這一階段主要學(xué)習(xí)帶有操作系統(tǒng)的嵌入式系統(tǒng)的構(gòu)建,包括系統(tǒng)的啟動(dòng)流程、Bootloader的工作流程、UBOOT的編譯、裁剪與移植、嵌入式Linux內(nèi)核的裁剪、移植與編譯,嵌入式根文件系統(tǒng)的定制、BootLoader、內(nèi)核和根文件系統(tǒng)的燒寫。這一階段的主要目的是掌握帶有操作系統(tǒng)的嵌入式系統(tǒng)的構(gòu)建和燒寫過程,以及對(duì)嵌入式系統(tǒng)軟件的總體構(gòu)成有個(gè)整體認(rèn)識(shí),為我們接下來學(xué)習(xí)嵌入式應(yīng)用和驅(qū)動(dòng)開發(fā)打下堅(jiān)實(shí)的基礎(chǔ)。
4、學(xué)習(xí)嵌入式Linux應(yīng)用程序開發(fā)
這一階段主要學(xué)習(xí)上層的嵌入式Linux應(yīng)用程序開發(fā),包括基于Linux多進(jìn)程、多線程、網(wǎng)絡(luò)、文件與目錄和QT編程。掌握嵌入式Linux環(huán)境下應(yīng)用程序開發(fā)技術(shù)。
5、學(xué)習(xí)嵌入式Linux驅(qū)動(dòng)程序開發(fā)
這一階段主要學(xué)習(xí)底層嵌入式Linux設(shè)備驅(qū)動(dòng)程序開發(fā)設(shè)計(jì),包括常用的字符設(shè)備驅(qū)動(dòng)、塊設(shè)備驅(qū)動(dòng)、LCD設(shè)備驅(qū)動(dòng)、觸摸屏設(shè)備驅(qū)動(dòng)以及驅(qū)動(dòng)程序開發(fā)中的核心技術(shù)。
6、根文件系統(tǒng)
在開發(fā)應(yīng)用程序時(shí),也需要搭建文件系統(tǒng),把各種庫、配置文件放進(jìn)去;在發(fā)布產(chǎn)品時(shí),你還需要修改配置文件,使得產(chǎn)品可以自動(dòng)運(yùn)行程序;甚至你想實(shí)現(xiàn)插上U盤后自動(dòng)啟動(dòng)某個(gè)程序,這也要要修改配置文件;這一切,都需要你理解根文件系統(tǒng)的構(gòu)成,理解內(nèi)核啟動(dòng)后是根據(jù)什么配置文件來啟動(dòng)哪些應(yīng)用程序。根文件系統(tǒng)相對(duì)比較簡單,可以根據(jù)以下路線學(xué)習(xí):
Linux根文件系統(tǒng)目錄結(jié)構(gòu)
移植Busybox
init進(jìn)程介紹及用戶程序啟動(dòng)過程
使用glibc庫
制作/使用文件系統(tǒng)映象文件
7、完成一個(gè)綜合項(xiàng)目
嵌入式技術(shù)關(guān)鍵在于理論和實(shí)踐的結(jié)合,要能夠?qū)W以致用,完成了以上的所有階段的知識(shí)點(diǎn)學(xué)習(xí)后,到底有沒有學(xué)會(huì),會(huì)不會(huì)用,能不能應(yīng)用所學(xué)知識(shí)來解決實(shí)際開發(fā)中的問題,我們需要來完成一個(gè)綜合的嵌入式實(shí)訓(xùn)項(xiàng)目,例如:基于嵌入式Linux平臺(tái)實(shí)現(xiàn)的飛行器、 基于嵌入式Linux平臺(tái)實(shí)現(xiàn)的智能機(jī)器人等,這些項(xiàng)目都綜合應(yīng)用了嵌入式開發(fā)當(dāng)中的應(yīng)用,驅(qū)動(dòng)和QT開發(fā)技術(shù)。
1X9~W71NF)BJGT1C8X8NIIV.png
如果你是小白,想快速進(jìn)階,可以來信盈達(dá)Python學(xué)習(xí)!大咖老師手把手系統(tǒng)帶你升級(jí)打怪,拿下高薪一點(diǎn)也不難。
東莞校區(qū)地址:東莞松山湖大道與石大路交匯松湖智谷A5棟10樓
課程咨詢:C語言,單片機(jī),Linux電路設(shè)計(jì),PCB軟件測(cè)試,python,JAVA,C++,QT等課程培訓(xùn)提升,面授線上學(xué)習(xí),需要加18025267692(微信)
歡迎光臨 電子工程網(wǎng) (http://m.qingdxww.cn/) |
Powered by Discuz! X3.4 |
主站蜘蛛池模板:
在线a免费观看最新网站|
亚洲图色视频|
青草草产国视频|
欧美福利二区|
天天插天天透|
视频在线观看大片|
玉女性经|
蜜桃最新网址|
伊人青青草|
四虎国产精品免费视|
色wwwwww|
四虎永久免费地址在线观看|
一区二区三区在线视频播放|
久久国内精品|
日本在线亚州精品视频在线|
欧美亚洲福利|
自拍成人|
CHINESE老阿姨免费视频|
美女扒开腿让男生桶免费看动态图|
亚洲美女视频网|
青青青青青操|
亚洲国产一区二区在线|
一区二区在线视频|
久久爽狠狠添AV激情五月|
特级毛片免费视频|
日韩免费一区二区三区在线|
中文字幕不卡免费视频|
愉拍自拍视频在线播放|
快播理伦片|
最新2017年韩国伦理片在线|
热久久伊人|
污漫日本网|
www.色小姐|
日本大尺码喷液过程视频|
色青青草原桃花久久综合|
日韩毛片免费视频一级特黄|
午夜久久久久久网站|
国产美女影院|
亚洲第一成年网站视频|
天天综合在线观看|
亚洲码和乱人伦中文一区|