现在的位置: 首页 > FPGA开发 > 正文

<自制MCU> 8位CPU,添加Debug模块,可以在线下载程序到ROM了,上开发板运行【六】

2020年03月04日 FPGA开发 ⁄ 共 594字 ⁄ 字号 <自制MCU> 8位CPU,添加Debug模块,可以在线下载程序到ROM了,上开发板运行【六】已关闭评论 ⁄ 阅读 1,860 次

前面的所有测试都是提前编写好ROM.O文件,程序编译的时候提前初始化好rom空间,MCU在运行期间不能改变程序,感觉不方便,编写了一个Debug模块,使用Uart收发命令及数据,充当Jtag功能,仿真调试等等。

目前已实现程序在线下载功能,今天晚上测试通过。

增加了几条debug命令(Debug命令是4字节命令,使用Uart下发到MCU的debug模块):

同时MCU增加了软重启命令,机器码如下:

24'b0000_0001_0000_0000_0000_0000;

Debug命令主要涉及以下两个模块(ROM、Core):

进入Debug模式后,会先复位MCU并中断CPU的执行,终止从Rom读取指令。然后根据不同的Debug命令进行不同的操作。

进行的测试:

去掉程序中rom.o的加载,即当MCU刚开始运行时ROM中是没有程序的,然后通过debug模块将程序下载到Rom中,下载完成之后,退出debug模式,软重启MCU。

1、刚开始上电如下,按按键没反应,灯不亮(因为rom中还没有程序):

2、使用串口将程序下载到rom中:

上图中左边为以前的按键控制LED程序,现在将它使用串口通过MCU的Debug模块下载到ROM中。
3、命令发完之后,按键测试:

程序已正常运行,上图为按下按键。

下一步可以考虑编写一个上位机界面程序了,实现汇编程序编译并在线下载,以下是暂时考虑到的汇编指令与机器码的对应关系:

×