發(fā)布時間:2022-03-18 15:26:33來源:轉(zhuǎn)載
嵌入式開發(fā)如何入門?嵌入式說白了就是嵌入式系統(tǒng)。從應(yīng)用對象上加以定義來說,它是一個軟件和硬件的綜合體,還可以涵蓋機械等附屬裝置。一個嵌入式系統(tǒng)裝置一般都由嵌入式計算機系統(tǒng)和執(zhí)行裝置組成,嵌入式計算機系統(tǒng)是整個嵌入式系統(tǒng)的核心。
嵌入式開發(fā)如何入門?
嵌入式系統(tǒng)專業(yè)是綜合了計算機硬件技術(shù),計算機軟件技術(shù)以及電子電路技術(shù)的一門綜合學(xué)科,所涉及的內(nèi)涵和知識非常廣泛。
1.C語言基礎(chǔ)
在開始學(xué)習(xí)嵌入式之前,首先要打好基礎(chǔ),其中較重要的是C語言基礎(chǔ),要至少達到能單獨編寫調(diào)試一個500行的小項目(大概是一個本地員工管理系統(tǒng)的代碼量),能夠了解C語言的基本語法規(guī)則,基本語句的使用,理解指針概念并能靈活使用各種指針。
在學(xué)習(xí)C語言的過程中,指針的概念比較難理解,但是如果對計算機組成原理有了解的話,地址和 指針,源碼和可執(zhí)行程序,軟件通過寄存器控制硬件這些概念都會變得很清晰。
那學(xué)習(xí)C語言使用什么環(huán)境?
選方案,Windows安裝虛擬機,虛擬機運行Linux操作系統(tǒng),編輯器選擇vim,命令行運行g(shù)cc編譯器編譯環(huán)境。
為什么要用Linux操作系統(tǒng)呢?
從上文中的各大企業(yè)對研發(fā)工程師的要求可以看出,Linux操作系統(tǒng)在嵌入式行業(yè)中的地位是任何操作系統(tǒng)不可比擬的。許多公司為了保護自己的代碼產(chǎn)權(quán),開發(fā)用的主機直接運行Linux操作系統(tǒng),并在命令行終端來控制主機。
大約一周的時間即可熟悉Linux系統(tǒng),你會體會到Linux和Windows系統(tǒng)的不同,擺脫對圖形化界面的依賴。
當(dāng)學(xué)會了C語言編程后,你需要掌握操作系統(tǒng)相關(guān)的知識,多線程多進程編程、網(wǎng)絡(luò)編程。通過實踐學(xué)習(xí)一些接口函數(shù)完成一些小項目比如銀行家算法、網(wǎng)絡(luò)聊天室等。對操作系統(tǒng)的知識有一個初步的感性認(rèn)識。
2.MCU和CPU
難道嵌入式開發(fā)就是如此嗎,說好的軟硬件可裁剪呢?別急,緊接著我們就需要加入MCU和CPU的學(xué)習(xí),要學(xué)習(xí)ARM是什么,不同系列的MCU開發(fā)方式不同,ARM Cortex™-A 系列應(yīng)用型處理器,可向托管豐富OS平臺和用戶應(yīng)用程序的設(shè)備提供全方位的解決方案,從超低成本手機、智能手機、移動計算平臺、數(shù)字電視和機頂盒到企業(yè)網(wǎng)絡(luò)、打印機和服務(wù)器解決方案,是作為學(xué)習(xí)嵌入式的合適的素材。
現(xiàn)在嵌入式的學(xué)習(xí)資源豐富,選擇合適的Cortex™-A 系列的開發(fā)板后,根據(jù)裸板開發(fā)、系統(tǒng)移植、驅(qū)動開發(fā)這樣的順序?qū)W習(xí)。
3.驅(qū)動開發(fā)
前面裸板開發(fā)和驅(qū)動移植的學(xué)習(xí)目的是面對接下來的驅(qū)動大魔頭,學(xué)習(xí)驅(qū)動開發(fā)我們需要有一個空杯心態(tài),需要有主動理解Linux內(nèi)核設(shè)計理念的意識(但是不要鉆牛角尖),時刻把握Linux下一切皆文件的宗旨和分層的思想。
當(dāng)我們在這一階段點亮開發(fā)板上的一盞明燈,恭喜你,一只腳踏進嵌入式開發(fā)的大門了。
4.C++和Qt
體會了較基本的驅(qū)動開發(fā)后,嵌入式學(xué)習(xí)還未結(jié)束,但是之后的學(xué)習(xí)我們有了一些選擇的主動權(quán),當(dāng)我們看到一些有意思的嵌入式小項目,我們可以理解它的實現(xiàn)思路。
而較好的學(xué)習(xí)方法是自己實踐完成一些小項目,你也許不滿足之前所學(xué),為什么不能把黑乎乎的命令行終端優(yōu)化成精美的液晶屏顯示,C++和Qt的學(xué)習(xí)就在所難免了。
5.Python人工智能
那么,如果你已經(jīng)可以實現(xiàn)一個小型的嵌入式項目了,但是如果大火的人工智能技術(shù)可以加入到這個小項目中,想必一定非??犰牛覀兛梢园汛舭宓挠脩艚缑孑斎敫某蓤D像識別或者人臉識別。
現(xiàn)在編寫人工智能代碼較廣泛的語言是Python3,在github上有許多的開源項目和代碼。為了看懂開源代碼,暫且不管復(fù)雜的數(shù)學(xué)相關(guān)的算法,首先需要學(xué)習(xí)Python3。
其實,Python3也是一種解釋型語言,之前的基礎(chǔ)學(xué)習(xí)中我們學(xué)過Shell,兩者都是解釋型語言,較大區(qū)別在于運行的環(huán)境和應(yīng)用的場景不同。
Shell多用于編寫Linux系統(tǒng)下的小工具,Makefile的編寫是較大的應(yīng)用場景,Python可以運行在Windows和Linux下,移植了Python的開發(fā)板,可以根據(jù)各大AI開放平臺的支持,將設(shè)備接入平臺調(diào)用云平臺提供的API,實現(xiàn)圖像識別、人臉識別、文字識別......
6.STM32
一個產(chǎn)品級的項目考慮的不僅僅是功能的實現(xiàn),還要考慮功耗、成本。
此時你會發(fā)現(xiàn)許多低功耗的模塊可以取代之前基于ARM Cortex™-A的開發(fā)板,STM32映入眼簾,STM32的開發(fā)原理無非也是控制寄存器驅(qū)動硬件模塊,在芯片手冊中掙扎一段時間,通過一周的時間熟悉CubeMX和keil的使用,驅(qū)動一個溫濕度傳感器或者其它傳感器模塊,在這個過程中我們就可以了解STM32開發(fā)的基本套路。
更多培訓(xùn)課程: 浦東新區(qū)嵌入式 更多學(xué)校信息: 上海浦東達內(nèi)IT教育培訓(xùn) 咨詢電話:
雅思 托福 GRE SSAT SAT GMAT ACT 個人提升英語 英語四六級 多鄰國英語測試 詞庫 IB 英語口語 商務(wù)英語 公共英語 考研英語 青少兒英語 成人英語 A-Level 學(xué)生英語 初高中英語 OSSD AP課程 AEAS個性化定制課程 一級建造師 二級建造師 消防工程師 消防設(shè)施操作員 BIM 造價工程師 環(huán)評師 監(jiān)理工程師 咨詢工程師 安全工程師 建筑八大員 公路水運檢測 通信工程 裝配式工程師 注冊電氣工程師 二級注冊建筑師 一級注冊建筑師 智慧消防工程師 智慧建造工程師 全過程工程咨詢師 EPC 碳排放管理師 ACCA CFA 注冊會計師 會計證 初中級經(jīng)濟師 初級會計師 中級會計師 基金從業(yè) 證券從業(yè) 稅務(wù)師 薪稅師 企業(yè)合規(guī)師 會計就業(yè)實操 期貨從業(yè) FRM CMA CQF 教師資格 人力資源管理 導(dǎo)游考試 心理咨詢師 健康管理師 社會工作師 普通話 育嬰員 物流師 家庭教育指導(dǎo)師 專利代理師 教師招聘 兒童專注力 兒童情緒管理 法律職業(yè)資格 少兒編程 書法培訓(xùn) 國畫 茶藝 樂器音樂 舞蹈 棋類 機器人編程 戲曲培訓(xùn) 信奧賽C++ 少兒小主播 口才培訓(xùn) 籃球培訓(xùn) 商務(wù)辦公 影視后期 剪輯包裝 游戲設(shè)計 游戲程序 UI設(shè)計 室內(nèi)設(shè)計 photoshop CAD制圖 視覺設(shè)計 商業(yè)空間設(shè)計 平面設(shè)計