姓名:劉力菲? ? 學(xué)號:19020100153
轉(zhuǎn)自:物聯(lián)網(wǎng)的嵌入式編程_阿里云開發(fā)者-CSDN博客_物聯(lián)網(wǎng)嵌入式開發(fā)
【嵌牛導(dǎo)讀】嵌入式編程在使設(shè)備滿足人們的需求方面具有悠久的歷史。但是文兑,它在很大程度上仍然被應(yīng)用程序編程所掩蓋灌曙。當(dāng)應(yīng)用程序程序員采用相對高級的面向?qū)ο蟮恼Z言(如C ++或Java)或圖形化應(yīng)用程序開發(fā)環(huán)境(如MATLAB)時攒巍,嵌入式程序員依然在使用C語言編程梭依。它們總是被應(yīng)用程序程序員所淘汰铣减。如今者铜,即使是業(yè)余愛好者也可以使用簡單的語言來開發(fā)應(yīng)用程序并與世界分享趁俊,而嵌入式程序員則需要對硬件和固件有深刻的了解域仇,以及如何編寫可以在資源經(jīng)常受限的環(huán)境中執(zhí)行的程序。隨著物聯(lián)網(wǎng)(IoT)的出現(xiàn)寺擂,平衡最終可以改變∠疚瘢現(xiàn)在泼掠,許多新的恒溫器,烤面包機(jī)垦细,手表和燈泡都配備了處理器和連接功能择镇,市場需要更多的嵌入式程序員來對這些設(shè)備進(jìn)行編程,并需要更簡單的工具來使這些編程器能夠在不陷入低級硬件的情況下編寫代碼括改。
【嵌牛鼻子】物聯(lián)網(wǎng)的嵌入式編程
【嵌牛提問】什么是物聯(lián)網(wǎng)的嵌入式編程
【嵌牛正文】
什么是嵌入式編程沐鼠?
Techopedia對嵌入式編程的定義是“一種特定的編程類型,它支持創(chuàng)建面向消費(fèi)者或面向企業(yè)的設(shè)備叹谁,這些設(shè)備不象全尺寸筆記本電腦和移動設(shè)備那樣在傳統(tǒng)操作系統(tǒng)上運(yùn)行〕烁牵”嵌入式編程的理念是驅(qū)動當(dāng)今IT市場中數(shù)字家電和設(shè)備發(fā)展的一部分焰檩。
簡單地說,嵌入式編程是為小型計(jì)算機(jī)設(shè)計(jì)和編寫程序订框,這些計(jì)算機(jī)嵌入傳統(tǒng)PC析苫、筆記本電腦或智能手機(jī)以外的設(shè)備中。它使微控制器能夠喚醒以前的啞設(shè)備穿扳,如恒溫器衩侥、照明系統(tǒng)、停車設(shè)備等矛物。
嵌入式編程和物聯(lián)網(wǎng)
從工程的角度看茫死,物聯(lián)網(wǎng)描述了一個由微處理器控制的嵌入式設(shè)備的網(wǎng)絡(luò),該網(wǎng)絡(luò)直接或間接連接到Web履羞。因此峦萎,物聯(lián)網(wǎng)的三個支柱是:
嵌入式編程
網(wǎng)絡(luò)技術(shù)
信息技術(shù)
物聯(lián)網(wǎng)很快將無處不在。因此忆首,嵌入式設(shè)備很快也將無處不在爱榔。
簡要介紹一下物聯(lián)網(wǎng)改變行業(yè)的一些方式:
1)工業(yè):工業(yè)機(jī)械和控制,溫度監(jiān)測和異常檢測糙及。
2)醫(yī)療保较暧摹:血壓監(jiān)測器,心跳監(jiān)測器浸锨,健身追蹤器唇聘,嵌入式藥物輸送。
3)航空航天和國防:飛行控制系統(tǒng)柱搜,驅(qū)動雳灾,空氣和熱管理,發(fā)動機(jī)功率監(jiān)測和控制冯凹。
4)智能家居:家庭安全系統(tǒng)谎亩,攝像頭炒嘲,電視和廚房電器。
深入嵌入式系統(tǒng)
有人說匈庭,世界上每一個復(fù)雜的系統(tǒng)都可以簡化為兩個概念領(lǐng)域:軟件和硬件夫凸。嵌入式系統(tǒng)或多或少地代表了這些領(lǐng)域的交叉點(diǎn):硬件和軟件。
探索嵌入式硬件
典型的嵌入式開發(fā)板分為五個模塊:處理器阱持,內(nèi)存夭拌,輸入設(shè)備,輸出設(shè)備和總線控制器衷咽。
嵌入式系統(tǒng)的硬件組件
1)處理器
嵌入式處理器可以分為兩類:普通微處理器使用單獨(dú)的集成電路作為存儲器和外設(shè)鸽扁;微控制器使用片上外設(shè),降低了功耗镶骗、體積和成本桶现。其中一些例子包括:
微控制器(CPU):一種智能設(shè)備,用于計(jì)算用戶分配的任務(wù)鼎姊,并通過精確計(jì)算構(gòu)建小型應(yīng)用程序骡和。
片上系統(tǒng)(SoC):在單個集成電路上包括CPU,外圍設(shè)備(計(jì)時器相寇,計(jì)數(shù)器等)慰于,通信接口(I2C,SPI唤衫,UART)和電源管理電路婆赠。
ASIC處理器(專用集成電路):由公司或制造商設(shè)計(jì)用于特定應(yīng)用。
DSP處理器:消除噪聲并提高音頻和視頻應(yīng)用程序的信號質(zhì)量佳励。
2)內(nèi)存
內(nèi)存用于存儲設(shè)備上正在使用的數(shù)據(jù)页藻。嵌入式系統(tǒng)中使用的存儲器類型的一些示例包括非易失性RAM(隨機(jī)存取存儲器),易失性RAM植兰,DRAM(動態(tài)隨機(jī)存取存儲器)等份帐。
3)輸入設(shè)備
輸入設(shè)備(例如傳感器,開關(guān)楣导,光電二極管废境,光耦合器等)從外界捕獲數(shù)據(jù),以進(jìn)行處理或從設(shè)備中導(dǎo)出筒繁。
4)輸出設(shè)備
輸出設(shè)備噩凹,包括LCD(液晶顯示器)或LED(發(fā)光二極管)顯示器、七段式顯示器毡咏、蜂鳴器和繼電器驮宴,響應(yīng)來自微控制器外部的輸入事件。
5)總線控制器
總線控制器是一種通信設(shè)備呕缭,可在嵌入式系統(tǒng)內(nèi)部的組件之間傳輸數(shù)據(jù)堵泽。使用最廣泛的總線控制器是串行總線(I2C修己,SPI,SMBus等)迎罗,RS232睬愤,RS485和通用串行總線(USB)。
探索嵌入式軟件
嵌入式軟件(有時稱為固件)是為設(shè)備驅(qū)動程序纹安、操作系統(tǒng)和應(yīng)用程序以及錯誤處理和調(diào)試編寫的尤辱。
嵌入式系統(tǒng)的軟件組件
1)設(shè)備驅(qū)動
設(shè)備驅(qū)動程序是為特定硬件編寫的一段嵌入式代碼。
2)操作系統(tǒng)(OS)或MicroOS
嵌入式系統(tǒng)有一系列的操作系統(tǒng)厢岂,包括實(shí)時操作系統(tǒng)(RTOS)光督、移動嵌入式、單機(jī)和網(wǎng)絡(luò)嵌入式系統(tǒng)塔粒。
現(xiàn)在结借,大多數(shù)嵌入式軟件都是用兩種語言編寫的:C和C++。就語法而言窗怒,C和C++之間沒有太大區(qū)別。但是蓄拣,C++具有一些附加功能扬虚,例如增強(qiáng)的安全性和與實(shí)際應(yīng)用程序的緊密性,而C被認(rèn)為更可靠球恤,并且通過與硬件直接交互具有更好的性能辜昵。
創(chuàng)建嵌入式產(chǎn)品時的主要注意事項(xiàng)
開始編寫直接影響物理對象的軟件的最佳方法是探索嵌入式平臺,例如Arduino咽斧,Raspberry Pi或Particle堪置。
要開發(fā)可行的產(chǎn)品,您應(yīng)該采取以下步驟:
步驟1. 學(xué)習(xí)C或C++
這是許多人停止學(xué)習(xí)的地方张惹,因?yàn)檫@些語言可能很難學(xué)習(xí)舀锨。但是,如果要編寫嵌入式軟件宛逗,則必須學(xué)習(xí)C/C++(可能最終是Rust)坎匿。
步驟2. 學(xué)習(xí)一些基本的電子產(chǎn)品
至少要了解電壓,電流雷激,功率替蔬,電阻和歐姆定律。
步驟3. 獲取基本設(shè)備
嵌入式程序員與物理世界進(jìn)行交互屎暇,因此承桥,諸如烙鐵,數(shù)字萬用表(DMM)和硬件調(diào)試器/ JTAG適配器(例如ST-Link或OLMEX適配器)或邏輯分析儀之類的工具將有所幫助根悼。
步驟4. 選擇一個微控制器和工具鏈
要使程序運(yùn)行凶异,您需要一個微控制器才能真正運(yùn)行它蜀撑,一個編譯器會編譯該微控制器的代碼,并使用其他工具將程序加載到您的硬件上唠帝。微控制器與工具鏈結(jié)合的一個例子是arm-gcc和openOCD工具鏈支持的STM32微控制器屯掖。
步驟5. 了解數(shù)據(jù)表(Datasheets)
在實(shí)際坐下來編寫代碼的第一行之前,您需要了解(最終用戶)規(guī)范襟衰。
步驟6. 檢查組件
分析并挑選制造產(chǎn)品所需的組件(軟件和硬件)贴铜。
步驟7. 設(shè)計(jì)產(chǎn)品
設(shè)計(jì)始終是任何開發(fā)周期中最關(guān)鍵的階段。嵌入式編程的特殊性是您必須分別開發(fā)硬件和軟件部分瀑晒,然后再將它們集成绍坝。
步驟8. 開發(fā)原型
原型是一個示例版本,旨在測試使用選定的硬件和軟件工具根據(jù)規(guī)范開發(fā)的概念苔悦。
步驟9:測試應(yīng)用程序
有了原型后轩褐,就可以運(yùn)行測試用例來挖掘應(yīng)用程序的潛力。
步驟10:部署應(yīng)用程序
測試完應(yīng)用程序之后玖详,將在真實(shí)環(huán)境中檢查結(jié)果把介,以實(shí)現(xiàn)概念驗(yàn)證(一種用于驗(yàn)證想法的技術(shù))。
步驟11:支持和升級
如果需要蟋座,您應(yīng)該準(zhǔn)備提供支持并使用新功能升級應(yīng)用程序拗踢。
現(xiàn)在您已準(zhǔn)備好開始改變世界!
原文鏈接
————————————————
版權(quán)聲明:本文為CSDN博主「阿里云開發(fā)者」的原創(chuàng)文章向臀,遵循CC 4.0 BY-SA版權(quán)協(xié)議巢墅,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/alitech2017/article/details/105680269
來源:CSDN
著作權(quán)歸作者所有券膀。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)君纫,非商業(yè)轉(zhuǎn)載請注明出處。