嵌入式編程是物聯(lián)網(wǎng)設(shè)備工作方式的重要組成部分。您可能需要學(xué)習(xí)C/C++并獲得一些實(shí)際的電子經(jīng)驗(yàn),以掌握生產(chǎn)中的這些關(guān)鍵系統(tǒng)。
嵌入式編程在使設(shè)備滿足人們的需求方面具有悠久的歷史。但是,它在很大程度上仍然被應(yīng)用程序編程所掩蓋。
當(dāng)應(yīng)用程序程序員采用相對(duì)高級(jí)的面向?qū)ο蟮恼Z(yǔ)言(如C ++或Java)或圖形化應(yīng)用程序開發(fā)環(huán)境(如MATLAB)時(shí),嵌入式程序員依然在使用C語(yǔ)言編程。它們總是被應(yīng)用程序程序員所淘汰。如今,即使是業(yè)余愛好者也可以使用簡(jiǎn)單的語(yǔ)言來(lái)開發(fā)應(yīng)用程序并與世界分享,而嵌入式程序員則需要對(duì)硬件和固件有深刻的了解,以及如何編寫可以在資源經(jīng)常受限的環(huán)境中執(zhí)行的程序。
隨著物聯(lián)網(wǎng)(IoT)的出現(xiàn),平衡最終可以改變。現(xiàn)在,許多新的恒溫器,烤面包機(jī),手表和燈泡都配備了處理器和連接功能,市場(chǎng)需要更多的嵌入式程序員來(lái)對(duì)這些設(shè)備進(jìn)行編程,并需要更簡(jiǎn)單的工具來(lái)使這些編程器能夠在不陷入低級(jí)硬件的情況下編寫代碼。
什么是嵌入式編程?
Techopedia對(duì)嵌入式編程的定義是“一種特定的編程類型,它支持創(chuàng)建面向消費(fèi)者或面向企業(yè)的設(shè)備,這些設(shè)備不象全尺寸筆記本電腦和移動(dòng)設(shè)備那樣在傳統(tǒng)操作系統(tǒng)上運(yùn)行?!鼻度胧骄幊痰睦砟钍球?qū)動(dòng)當(dāng)今IT市場(chǎng)中數(shù)字家電和設(shè)備發(fā)展的一部分。
簡(jiǎn)單地說(shuō),嵌入式編程是為小型計(jì)算機(jī)設(shè)計(jì)和編寫程序,這些計(jì)算機(jī)嵌入傳統(tǒng)PC、筆記本電腦或智能手機(jī)以外的設(shè)備中。它使微控制器能夠喚醒以前的啞設(shè)備,如恒溫器、照明系統(tǒng)、停車設(shè)備等。
嵌入式編程和物聯(lián)網(wǎng)
從工程的角度看,物聯(lián)網(wǎng)描述了一個(gè)由微處理器控制的嵌入式設(shè)備的網(wǎng)絡(luò),該網(wǎng)絡(luò)直接或間接連接到Web。因此,物聯(lián)網(wǎng)的三個(gè)支柱是:
嵌入式編程
網(wǎng)絡(luò)技術(shù)
信息技術(shù)
物聯(lián)網(wǎng)很快將無(wú)處不在。因此,嵌入式設(shè)備很快也將無(wú)處不在。
簡(jiǎn)要介紹一下物聯(lián)網(wǎng)改變行業(yè)的一些方式:
工業(yè):工業(yè)機(jī)械和控制,溫度監(jiān)測(cè)和異常檢測(cè)。
醫(yī)療保?。貉獕罕O(jiān)測(cè)器,心跳監(jiān)測(cè)器,健身追蹤器,嵌入式藥物輸送。
航空航天和國(guó)防:飛行控制系統(tǒng),驅(qū)動(dòng),空氣和熱管理,發(fā)動(dòng)機(jī)功率監(jiān)測(cè)和控制。
智能家居:家庭安全系統(tǒng),攝像頭,電視和廚房電器。
有人說(shuō),世界上每一個(gè)復(fù)雜的系統(tǒng)都可以簡(jiǎn)化為兩個(gè)概念領(lǐng)域:軟件和硬件。嵌入式系統(tǒng)或多或少地代表了這些領(lǐng)域的交叉點(diǎn):硬件和軟件。
1. 探索嵌入式硬件
典型的嵌入式開發(fā)板分為五個(gè)模塊:處理器,內(nèi)存,輸入設(shè)備,輸出設(shè)備和總線控制器。
嵌入式系統(tǒng)的硬件組件:
(1) 處理器
嵌入式處理器可以分為兩類:普通微處理器使用單獨(dú)的集成電路作為存儲(chǔ)器和外設(shè);微控制器使用片上外設(shè),降低了功耗、體積和成本。其中一些例子包括:
微控制器(CPU):一種智能設(shè)備,用于計(jì)算用戶分配的任務(wù),并通過(guò)精確計(jì)算構(gòu)建小型應(yīng)用程序。
片上系統(tǒng)(SoC):在單個(gè)集成電路上包括CPU,外圍設(shè)備(計(jì)時(shí)器,計(jì)數(shù)器等),通信接口(I2C,SPI,UART)和電源管理電路。
ASIC處理器(專用集成電路):由公司或制造商設(shè)計(jì)用于特定應(yīng)用。
DSP處理器:消除噪聲并提高音頻和視頻應(yīng)用程序的信號(hào)質(zhì)量。
(2) 內(nèi)存
內(nèi)存用于存儲(chǔ)設(shè)備上正在使用的數(shù)據(jù)。嵌入式系統(tǒng)中使用的存儲(chǔ)器類型的一些示例包括非易失性RAM(隨機(jī)存取存儲(chǔ)器),易失性RAM,DRAM(動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)等。
(3) 輸入設(shè)備
輸入設(shè)備(例如傳感器,開關(guān),光電二極管,光耦合器等)從外界捕獲數(shù)據(jù),以進(jìn)行處理或從設(shè)備中導(dǎo)出。
(4) 輸出設(shè)備
輸出設(shè)備,包括LCD(液晶顯示器)或LED(發(fā)光二極管)顯示器、七段式顯示器、蜂鳴器和繼電器,響應(yīng)來(lái)自微控制器外部的輸入事件。
(5) 總線控制器
總線控制器是一種通信設(shè)備,可在嵌入式系統(tǒng)內(nèi)部的組件之間傳輸數(shù)據(jù)。使用最廣泛的總線控制器是串行總線(I2C,SPI,SMBus等),RS232,RS485和通用串行總線(USB)。
2. 探索嵌入式軟件
嵌入式軟件(有時(shí)稱為固件)是為設(shè)備驅(qū)動(dòng)程序、操作系統(tǒng)和應(yīng)用程序以及錯(cuò)誤處理和調(diào)試編寫的。
嵌入式系統(tǒng)的軟件組件:
(1) 設(shè)備驅(qū)動(dòng)
設(shè)備驅(qū)動(dòng)程序是為特定硬件編寫的一段嵌入式代碼。
(2) 操作系統(tǒng)(OS)或MicroOS
嵌入式系統(tǒng)有一系列的操作系統(tǒng),包括實(shí)時(shí)操作系統(tǒng)(RTOS)、移動(dòng)嵌入式、單機(jī)和網(wǎng)絡(luò)嵌入式系統(tǒng)。
現(xiàn)在,大多數(shù)嵌入式軟件都是用兩種語(yǔ)言編寫的:C和C++。就語(yǔ)法而言,C和C++之間沒有太大區(qū)別。但是,C++具有一些附加功能,例如增強(qiáng)的安全性和與實(shí)際應(yīng)用程序的緊密性,而C被認(rèn)為更可靠,并且通過(guò)與硬件直接交互具有更好的性能。
創(chuàng)建嵌入式產(chǎn)品時(shí)的主要注意事項(xiàng)
開始編寫直接影響物理對(duì)象的軟件的最佳方法是探索嵌入式平臺(tái),例如Arduino,Raspberry Pi或Particle。
要開發(fā)可行的產(chǎn)品,您應(yīng)該采取以下步驟:
步驟1. 學(xué)習(xí)C或C++這是許多人停止學(xué)習(xí)的地方,因?yàn)檫@些語(yǔ)言可能很難學(xué)習(xí)。但是,如果要編寫嵌入式軟件,則必須學(xué)習(xí)C/C++(可能最終是Rust)。
步驟2. 學(xué)習(xí)一些基本的電子產(chǎn)品至少要了解電壓,電流,功率,電阻和歐姆定律。
步驟3. 獲取基本設(shè)備嵌入式程序員與物理世界進(jìn)行交互,因此,諸如烙鐵,數(shù)字萬(wàn)用表(DMM)和硬件調(diào)試器/ JTAG適配器(例如ST-Link或OLMEX適配器)或邏輯分析儀之類的工具將有所幫助。
步驟4. 選擇一個(gè)微控制器和工具鏈要使程序運(yùn)行,您需要一個(gè)微控制器才能真正運(yùn)行它,一個(gè)編譯器會(huì)編譯該微控制器的代碼,并使用其他工具將程序加載到您的硬件上。微控制器與工具鏈結(jié)合的一個(gè)例子是arm-gcc和openOCD工具鏈支持的STM32微控制器。
步驟5. 了解數(shù)據(jù)表(Datasheets)
在實(shí)際坐下來(lái)編寫代碼的第一行之前,您需要了解(最終用戶)規(guī)范。
步驟6. 檢查組件分析并挑選制造產(chǎn)品所需的組件(軟件和硬件)。
步驟7. 設(shè)計(jì)產(chǎn)品設(shè)計(jì)始終是任何開發(fā)周期中最關(guān)鍵的階段。嵌入式編程的特殊性是您必須分別開發(fā)硬件和軟件部分,然后再將它們集成。
步驟8. 開發(fā)原型原型是一個(gè)示例版本,旨在測(cè)試使用選定的硬件和軟件工具根據(jù)規(guī)范開發(fā)的概念。
步驟9:測(cè)試應(yīng)用程序有了原型后,就可以運(yùn)行測(cè)試用例來(lái)挖掘應(yīng)用程序的潛力。
步驟10:部署應(yīng)用程序測(cè)試完應(yīng)用程序之后,將在真實(shí)環(huán)境中檢查結(jié)果,以實(shí)現(xiàn)概念驗(yàn)證(一種用于驗(yàn)證想法的技術(shù))。
步驟11:支持和升級(jí)如果需要,您應(yīng)該準(zhǔn)備提供支持并使用新功能升級(jí)應(yīng)用程序。
現(xiàn)在您已準(zhǔn)備好開始改變世界!
責(zé)任編輯:ct
評(píng)論
查看更多