这里做一个总结,希望帮到大家:
RISC-V MCU启动文件分析_risc-v 启动文件_借过风景的博客
如何设置默认跳到main函数:
RISC-V MCU开发 (七):代码调试_MounRiver_Studio的博客-_mounriver查看变量的值
关于MounRiver编译器配置的若干问题 - JayWell
Risc-V 从boot跳转到app的方法
例程是软中断:
void SW_Handler(void) { __asm("li a6, 0x10400"); __asm("jr a6"); while(1); }
他的意思是要在机器模式执行,如果这个软中断给rtos操作系统用了,那么搞个定时器中断也是可以执行的。
试了一下跟arm一样直接跳转,貌似还不行,说要把startup.s的改成6000,也不行:
/* Enable floating point and interrupt */ li t0, 0x7800 csrs mstatus, t0 la t0, _vector_base ori t0, t0, 3 csrw mtvec, t0
另外,下载app的时候要加个参数,不然每次都把flash给擦了bootloader就没了:
-c page_erase
仿真器不能调试,之前还好好的:
Error: Couldn't find an available hardware trigger.
Error: can't add breakpoint: resource not available
断电重启就好了。