首先新建项目 选择基于开发板 选择A9开发板

断点调试:F9键可以切换断点

点击小虫子可以开始调试 点击箭头可以在遇到断点后继续执行 

修改寄存器值:

 G:\RT-ThreadStudio\workspace\A9\rt-thread\libcpu\arm\cortex-a\start_gcc.S

在start_gcc.S文件里

找到#ifdef RT_USING_SMP 下 然后加入指令mov r0, #111

设置好断点 然后开始调试 调试遇到断点会停下

在general registers点击左边箭头展开可以看到r0寄存器的值

 在执行完mov r0, #111后遇到断点

这时我们可以看到栏里r0值变化 修改成功

在msh下新增自定义指令 显示自定义内容 通过定义函数新增指令

新增一个

G:\RT-ThreadStudio\workspace\A9\rt-thread\components\dfs\src\dfs_file.c

 在#include <finsh.h>下新增如下函数:

int myfunction1(void)
{
    printf("this is my function!!\n");
    return 0;
}
MSH_CMD_EXPORT(myfunction1, my command test);

 修改完毕 点击小虫子进入调试 一直点击箭头 然后看到终端显示如下 并且有箭头闪烁即进入了msh模式

 输入help 会看到在最后有自己新增指令的信息

 

输入myfunction1 会调用函数并且显示调用结果

 出现一些乱码可能是因为使用了中文输入法和特殊符号编码的问题 如果使用纯英文应该会解决问题

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐