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

評論