當(dāng)下的嵌入式編程通常需要使用開發(fā)套件來加快和簡化開發(fā)流程。
例如,Arm Keil 帶有集成 IDE、調(diào)試器和一組軟件包,內(nèi)含 RTOS、驅(qū)動程序、中間件 (如 TCP/IP 堆棧) 以及 mbedTLS (SSL/TLS) 或 lvgl (圖形) 之類的庫。
意法半導(dǎo)體的 Cube IDE 以及恩智浦的 MCUXpresso、德州儀器的 CCS、微芯的 MPLAB 等開發(fā)工具也提供類似的功能。
當(dāng)開發(fā)者在其中一個框架中啟動項目后,他們要在各種軟件層之上開發(fā)應(yīng)用代碼。
有時開發(fā)者可能會選擇繞過所有這些層,而開發(fā)直接與硬件通信的代碼。這種開發(fā)方式稱為裸機編程。該做法的主要目的如下:
通過對所開發(fā)的應(yīng)用進行充分了解,掌握每一個細節(jié),由此減輕維護負擔(dān)
充分實現(xiàn)目標(biāo)硬件的性能和靈活性,起初比較耗時,但隨著項目的推進,可能會帶來巨大回報
避免花費時間來修復(fù)和調(diào)試底層軟件層,尤其是在測試不充分、文檔記錄不完整且漏洞百出的情況下
裸機開發(fā)可以不使用集成開發(fā)套件 (IDE),只需使用任何一款編輯器和 Arm GCC 編譯器即可操作。
當(dāng)然,也可以使用諸如 Arm Keil 這樣的 IDE 來完成開發(fā)工作。無論是哪種情況,開發(fā)者都需要了解以下幾個關(guān)鍵概念:
內(nèi)存的組織方式
外設(shè)的工作原理
生成的二進制代碼的布局
用于生成所需布局的鏈接器腳本情況
矢量表、中斷和弱符號
CMSIS 設(shè)備頭文件:Arm 核心和供應(yīng)商外設(shè)
審核編輯:劉清
-
驅(qū)動器
+關(guān)注
關(guān)注
53文章
8271瀏覽量
146979 -
調(diào)試器
+關(guān)注
關(guān)注
1文章
306瀏覽量
23825 -
LED閃爍
+關(guān)注
關(guān)注
0文章
29瀏覽量
9862 -
嵌入式編程
+關(guān)注
關(guān)注
0文章
27瀏覽量
10352 -
gcc編譯器
+關(guān)注
關(guān)注
0文章
78瀏覽量
3420
原文標(biāo)題:裸機編程指南
文章出處:【微信號:Arm社區(qū),微信公眾號:Arm社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論