本文基於
MDK 5.26
軟件,在stm32f103
上進行彙編語言的實驗測試;
1 新建工程
雙擊打開MDK5.26
,啓動界面如下所示;
點擊菜單欄的Project
,如下圖所示;
在彈出的窗口點擊選項New uVision Project
,創建新的工程;具體如下圖所示;
在彈出的窗口分別設置;
- 設置項目工程的路徑;
- 設置項目工程的名稱,這裏使用
TEST
; - 點擊保存;
具體如下圖所示;
2 配置環境
2.1 選擇設備
設置工程的目標環境,本文基於STM32F103ZET6
,因此在彈出的窗口選擇相應的選項,點擊保存即可;具體如下圖所示;
如果無法找到該窗口,可以在工具欄點擊魔術棒圖標;如下圖所示;
或者在菜單欄點擊project
,然後選擇Options for Target
即可,具體如下圖所示;
2.2 選擇運行環境
ARM
的CMSIS
已經把開發所需要的軟件組件都封裝好了,因此直接選擇即可;
CMSIS
下選擇CORE
;Device
下Startup
,其中包含了啓動文件;
具體如下圖所示;
2.3 添加源文件
鼠標右鍵單擊Source Group 1
,具體如下圖所示;
選擇Add New Item to Group
,具體如下圖所示;
添加源文件,因爲創建彙編項目;
- 選擇
Asm File (.s)
,創建彙編文件; - 設置源文件的名稱;
- 點擊保存;
具體如下圖所示;
最後完成如下圖所示;
3 測試代碼
3.1 源碼
編譯並調試如下代碼;
AREA MYDATA, DATA
AREA MYCODE, CODE
ENTRY
EXPORT __main
__main
MOV R0, #10
MOV R1, #11
MOV R2, #12
MOV R3, #13
;LDR R0, =func01
BL func01
;LDR R1, =func02
BL func02
BL func03
LDR LR, =func01
LDR PC, =func03
B .
func01
MOV R5, #05
BX LR
func02
MOV R6, #06
BX LR
func03
MOV R7, #07
MOV R8, #08
BX LR
3.2 仿真器設置
設置硬件仿真器爲J-LINK
,具體根據自己的實際情況進行選擇,如下圖所示;
設置仿真器的模式;
- 設置爲
JTAG
接口,另外還有SWD
,可以根據自己的實際情況進行選擇; - 設置完成,會看到2處有相應的設備信息;
如下圖所示;
3.3 編譯調試
按照下圖所示,編譯工程並進入調試模式;
最後可以看到,結果符合預期,寄存器R5
,R6
,R7
,R8
的值和程序設置一致,具體如下圖所示;
4 總結
編程的學習需要實踐,後面可以配合硬件,把每一條指令過一遍,從而加深理解,基本都是體力活,在這裏記錄一下。如果對您有所幫助,請幫忙點個贊。