姓名:鄧皓軒? 學號:19020100151? 學院:電子工程學院
轉(zhuǎn)自:https://blog.csdn.net/alitech2017/article/details/105680269?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162856331516780269830585%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fnavwordall.%2522%257D&request_id=162856331516780269830585&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~navwordall~first_rank_v2~hot_rank-11-105680269.first_rank_v2_pc_rank_v29&utm_term=%E5%B5%8C%E5%85%A5%E5%BC%8F&spm=1018.2226.3001.4187
【嵌牛導讀】物聯(lián)網(wǎng)的嵌入式編程
【嵌牛鼻子】介紹物聯(lián)網(wǎng)的嵌入式編程
【嵌牛提問】物聯(lián)網(wǎng)的嵌入式編程是什么
【嵌牛正文】
嵌入式編程在使設備滿足人們的需求方面具有悠久的歷史鹤啡。但是,它在很大程度上仍然被應用程序編程所掩蓋沐旨。當應用程序程序員采用相對高級的面向?qū)ο蟮恼Z言(如C ++或Java)或圖形化應用程序開發(fā)環(huán)境(如MATLAB)時核芽,嵌入式程序員依然在使用C語言編程。它們總是被應用程序程序員所淘汰窿锉。如今酌摇,即使是業(yè)余愛好者也可以使用簡單的語言來開發(fā)應用程序并與世界分享,而嵌入式程序員則需要對硬件和固件有深刻的了解嗡载,以及如何編寫可以在資源經(jīng)常受限的環(huán)境中執(zhí)行的程序窑多。隨著物聯(lián)網(wǎng)(IoT)的出現(xiàn),平衡最終可以改變⊥莨觯現(xiàn)在埂息,許多新的恒溫器,烤面包機,手表和燈泡都配備了處理器和連接功能耿芹,市場需要更多的嵌入式程序員來對這些設備進行編程崭篡,并需要更簡單的工具來使這些編程器能夠在不陷入低級硬件的情況下編寫代碼。
什么是嵌入式編程吧秕?
Techopedia對嵌入式編程的定義是“一種特定的編程類型琉闪,它支持創(chuàng)建面向消費者或面向企業(yè)的設備,這些設備不象全尺寸筆記本電腦和移動設備那樣在傳統(tǒng)操作系統(tǒng)上運行砸彬〉弑校”嵌入式編程的理念是驅(qū)動當今IT市場中數(shù)字家電和設備發(fā)展的一部分。
簡單地說砂碉,嵌入式編程是為小型計算機設計和編寫程序蛀蜜,這些計算機嵌入傳統(tǒng)PC、筆記本電腦或智能手機以外的設備中增蹭。它使微控制器能夠喚醒以前的啞設備滴某,如恒溫器、照明系統(tǒng)滋迈、停車設備等霎奢。
嵌入式編程和物聯(lián)網(wǎng)
從工程的角度看,物聯(lián)網(wǎng)描述了一個由微處理器控制的嵌入式設備的網(wǎng)絡饼灿,該網(wǎng)絡直接或間接連接到Web幕侠。因此,物聯(lián)網(wǎng)的三個支柱是:
嵌入式編程
網(wǎng)絡技術
信息技術
物聯(lián)網(wǎng)很快將無處不在碍彭。因此晤硕,嵌入式設備很快也將無處不在。
簡要介紹一下物聯(lián)網(wǎng)改變行業(yè)的一些方式:
1)工業(yè):工業(yè)機械和控制庇忌,溫度監(jiān)測和異常檢測舞箍。
2)醫(yī)療保健:血壓監(jiān)測器漆枚,心跳監(jiān)測器创译,健身追蹤器抵知,嵌入式藥物輸送墙基。
3)航空航天和國防:飛行控制系統(tǒng),驅(qū)動刷喜,空氣和熱管理残制,發(fā)動機功率監(jiān)測和控制。
4)智能家居:家庭安全系統(tǒng)掖疮,攝像頭初茶,電視和廚房電器。
深入嵌入式系統(tǒng)
有人說浊闪,世界上每一個復雜的系統(tǒng)都可以簡化為兩個概念領域:軟件和硬件恼布。嵌入式系統(tǒng)或多或少地代表了這些領域的交叉點:硬件和軟件螺戳。
探索嵌入式硬件
典型的嵌入式開發(fā)板分為五個模塊:處理器践险,內(nèi)存丸氛,輸入設備,輸出設備和總線控制器修壕。
嵌入式系統(tǒng)的硬件組件
1)處理器
嵌入式處理器可以分為兩類:普通微處理器使用單獨的集成電路作為存儲器和外設爽待;微控制器使用片上外設损同,降低了功耗、體積和成本鸟款。其中一些例子包括:
微控制器(CPU):一種智能設備膏燃,用于計算用戶分配的任務,并通過精確計算構(gòu)建小型應用程序何什。
片上系統(tǒng)(SoC):在單個集成電路上包括CPU组哩,外圍設備(計時器,計數(shù)器等)处渣,通信接口(I2C禁炒,SPI,UART)和電源管理電路霍比。
ASIC處理器(專用集成電路):由公司或制造商設計用于特定應用幕袱。
DSP處理器:消除噪聲并提高音頻和視頻應用程序的信號質(zhì)量。
2)內(nèi)存
內(nèi)存用于存儲設備上正在使用的數(shù)據(jù)悠瞬。嵌入式系統(tǒng)中使用的存儲器類型的一些示例包括非易失性RAM(隨機存取存儲器)们豌,易失性RAM,DRAM(動態(tài)隨機存取存儲器)等浅妆。
3)輸入設備
輸入設備(例如傳感器望迎,開關,光電二極管凌外,光耦合器等)從外界捕獲數(shù)據(jù)辩尊,以進行處理或從設備中導出。
4)輸出設備
輸出設備康辑,包括LCD(液晶顯示器)或LED(發(fā)光二極管)顯示器摄欲、七段式顯示器、蜂鳴器和繼電器疮薇,響應來自微控制器外部的輸入事件胸墙。
5)總線控制器
總線控制器是一種通信設備,可在嵌入式系統(tǒng)內(nèi)部的組件之間傳輸數(shù)據(jù)按咒。使用最廣泛的總線控制器是串行總線(I2C迟隅,SPI,SMBus等),RS232智袭,RS485和通用串行總線(USB)奔缠。
探索嵌入式軟件
嵌入式軟件(有時稱為固件)是為設備驅(qū)動程序、操作系統(tǒng)和應用程序以及錯誤處理和調(diào)試編寫的吼野。
嵌入式系統(tǒng)的軟件組件
1)設備驅(qū)動
設備驅(qū)動程序是為特定硬件編寫的一段嵌入式代碼添坊。
2)操作系統(tǒng)(OS)或MicroOS
嵌入式系統(tǒng)有一系列的操作系統(tǒng),包括實時操作系統(tǒng)(RTOS)箫锤、移動嵌入式贬蛙、單機和網(wǎng)絡嵌入式系統(tǒng)。
現(xiàn)在谚攒,大多數(shù)嵌入式軟件都是用兩種語言編寫的:C和C++阳准。就語法而言,C和C++之間沒有太大區(qū)別馏臭。但是野蝇,C++具有一些附加功能,例如增強的安全性和與實際應用程序的緊密性括儒,而C被認為更可靠绕沈,并且通過與硬件直接交互具有更好的性能。
創(chuàng)建嵌入式產(chǎn)品時的主要注意事項
開始編寫直接影響物理對象的軟件的最佳方法是探索嵌入式平臺帮寻,例如Arduino乍狐,Raspberry Pi或Particle。
要開發(fā)可行的產(chǎn)品固逗,您應該采取以下步驟:
步驟1. 學習C或C++
這是許多人停止學習的地方浅蚪,因為這些語言可能很難學習。但是烫罩,如果要編寫嵌入式軟件惜傲,則必須學習C/C++(可能最終是Rust)。
步驟2. 學習一些基本的電子產(chǎn)品
至少要了解電壓贝攒,電流盗誊,功率,電阻和歐姆定律隘弊。
步驟3. 獲取基本設備
嵌入式程序員與物理世界進行交互哈踱,因此,諸如烙鐵长捧,數(shù)字萬用表(DMM)和硬件調(diào)試器/ JTAG適配器(例如ST-Link或OLMEX適配器)或邏輯分析儀之類的工具將有所幫助嚣鄙。
步驟4. 選擇一個微控制器和工具鏈
要使程序運行,您需要一個微控制器才能真正運行它串结,一個編譯器會編譯該微控制器的代碼,并使用其他工具將程序加載到您的硬件上。微控制器與工具鏈結(jié)合的一個例子是arm-gcc和openOCD工具鏈支持的STM32微控制器肌割。
步驟5. 了解數(shù)據(jù)表(Datasheets)
在實際坐下來編寫代碼的第一行之前卧蜓,您需要了解(最終用戶)規(guī)范。
步驟6. 檢查組件
分析并挑選制造產(chǎn)品所需的組件(軟件和硬件)把敞。
步驟7. 設計產(chǎn)品
設計始終是任何開發(fā)周期中最關鍵的階段弥奸。嵌入式編程的特殊性是您必須分別開發(fā)硬件和軟件部分,然后再將它們集成奋早。
步驟8. 開發(fā)原型
原型是一個示例版本盛霎,旨在測試使用選定的硬件和軟件工具根據(jù)規(guī)范開發(fā)的概念。
步驟9:測試應用程序
有了原型后耽装,就可以運行測試用例來挖掘應用程序的潛力愤炸。
步驟10:部署應用程序
測試完應用程序之后,將在真實環(huán)境中檢查結(jié)果掉奄,以實現(xiàn)概念驗證(一種用于驗證想法的技術)规个。
步驟11:支持和升級
如果需要,您應該準備提供支持并使用新功能升級應用程序姓建。
現(xiàn)在您已準備好開始改變世界诞仓!