當(dāng)下的嵌入式編程通常需要使用開(kāi)發(fā)套件來(lái)加快和簡(jiǎn)化開(kāi)發(fā)流程。
例如,Arm Keil 帶有集成 IDE、調(diào)試器和一組軟件包,內(nèi)含 RTOS、驅(qū)動(dòng)程序、中間件 (如 TCP/IP 堆棧) 以及 mbedTLS (SSL/TLS) 或 lvgl (圖形) 之類的庫(kù)。
意法半導(dǎo)體的 Cube IDE 以及恩智浦的 MCUXpresso、德州儀器的 CCS、微芯的 MPLAB 等開(kāi)發(fā)工具也提供類似的功能。
當(dāng)開(kāi)發(fā)者在其中一個(gè)框架中啟動(dòng)項(xiàng)目后,他們要在各種軟件層之上開(kāi)發(fā)應(yīng)用代碼。
有時(shí)開(kāi)發(fā)者可能會(huì)選擇繞過(guò)所有這些層,而開(kāi)發(fā)直接與硬件通信的代碼。這種開(kāi)發(fā)方式稱為裸機(jī)編程。該做法的主要目的如下:
通過(guò)對(duì)所開(kāi)發(fā)的應(yīng)用進(jìn)行充分了解,掌握每一個(gè)細(xì)節(jié),由此減輕維護(hù)負(fù)擔(dān)
充分實(shí)現(xiàn)目標(biāo)硬件的性能和靈活性,起初比較耗時(shí),但隨著項(xiàng)目的推進(jìn),可能會(huì)帶來(lái)巨大回報(bào)
避免花費(fèi)時(shí)間來(lái)修復(fù)和調(diào)試底層軟件層,尤其是在測(cè)試不充分、文檔記錄不完整且漏洞百出的情況下
裸機(jī)開(kāi)發(fā)可以不使用集成開(kāi)發(fā)套件 (IDE),只需使用任何一款編輯器和 Arm GCC 編譯器即可操作。
當(dāng)然,也可以使用諸如 Arm Keil 這樣的 IDE 來(lái)完成開(kāi)發(fā)工作。無(wú)論是哪種情況,開(kāi)發(fā)者都需要了解以下幾個(gè)關(guān)鍵概念:
內(nèi)存的組織方式
外設(shè)的工作原理
生成的二進(jìn)制代碼的布局
用于生成所需布局的鏈接器腳本情況
矢量表、中斷和弱符號(hào)
CMSIS 設(shè)備頭文件:Arm 核心和供應(yīng)商外設(shè)
審核編輯:劉清
-
驅(qū)動(dòng)器
+關(guān)注
關(guān)注
54文章
9115瀏覽量
156511 -
調(diào)試器
+關(guān)注
關(guān)注
1文章
329瀏覽量
25211 -
LED閃爍
+關(guān)注
關(guān)注
0文章
29瀏覽量
10245 -
嵌入式編程
+關(guān)注
關(guān)注
0文章
27瀏覽量
10711 -
gcc編譯器
+關(guān)注
關(guān)注
0文章
78瀏覽量
4035
原文標(biāo)題:裸機(jī)編程指南
文章出處:【微信號(hào):Arm社區(qū),微信公眾號(hào):Arm社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
AD5232數(shù)字電位器:特性、應(yīng)用與編程指南
可編程頻率掃描波形發(fā)生器AD5932:特性、應(yīng)用與設(shè)計(jì)指南
BUF08630:可編程伽馬電壓發(fā)生器的技術(shù)剖析與應(yīng)用指南
CDCEL824可編程2 - PLL時(shí)鐘合成器:設(shè)計(jì)與應(yīng)用指南
DR1 系列評(píng)估板 PS 端裸機(jī)與 FreeRTOS 開(kāi)發(fā)案例手冊(cè)
Nordic nRF Connect SDK裸機(jī)選項(xiàng)v1.0.0版本的亮點(diǎn)
EZ - BLE模塊編程套件(CYBLE - 022001 - PROG)使用指南
深度技術(shù)解析nRF Connect SDK裸機(jī)選項(xiàng)方案
請(qǐng)問(wèn)Finsh可以支持裸機(jī)?
CoDeSys3基礎(chǔ)編程及應(yīng)用指南
如何在裸機(jī)環(huán)境中運(yùn)行KleidiAI微內(nèi)核
Arduino與LabVIEW聯(lián)合編程指南
STM32裸機(jī)及FreeRTOS項(xiàng)目分享:U575智能手表+F103智能循跡避障小車(附全套教程/代碼)
裸機(jī)編程指南分享
評(píng)論