E2Studio执行汇编指令
- E2studio的安装过程可参考《e2-studio-getting-started-guide.pdf》
- 开发板已连接到电脑
- 新建c语言项目的方法不在此处介绍,可以直接下载我上传的代码:e2studio调试armv7汇编指令demo资源-CSDN文库
- 开始操作:
1.打开hal_entry.c,定位到函数void hal_entry(void),在函数体中添加自己的汇编指令
void hal_entry(void)
{
/* TODO: add your own code here */
//int a = 2+2;
//printf("start add\n");
__asm (
" MOV R0, 0x0a \n" /* R0存放变量a低32bit数据 */
" MOV R2, 0x02 \n" /* R2存放变量b低32bit数据 */
" SUBS R4, R0, R2 \n" /* R0 = R0 + R2, 发生进位C = 1, 计算结果低32存放到R0 */
);
printf("end add\n");
}
2.在printf这一行设置断点
3.开始调试代码
4.开始调试时,程序会自动停在系统初始化函数的第一行代码,此时,需要通过修改cpsr寄存器的值,让系统进入debug模式。
把cpsr的值从0x200001fa修改位0x200001da。
5.点击继续执行(按F8),程序会执行到之前打断点的位置
6.查看寄存器中R0/R2/R4的值,是否符合预期。
可以看到,经过减法计算之后,寄存器R4的值变为8。