|

楼主 |
发表于 2024-11-1 15:48:40
|
显示全部楼层
目前找到了一些线索, 这个问题可能与d-cache有关系
变量声明的时候加上关键词 例如 __attribute__((section(".noncacheable"))) int testval=0;
这样testval就可以在watch窗口实时更新了.
但是这样又出来另一个问题, 按照代码执行, testval的初始值应该是0. 实际上执行这段代码之后, 他的值是一个随机的数据, 需要后面额外再写一下 testval=0; 才可以将其设定为想要的值.
另外一个办法就是彻底关闭d-cache, 这样不需要前面的关键词, 直接使用 int testval=0; 就可以声明这个变量, 初始值也是对的. 也可以实时更新.
虽然risc-v内核出来很久了, 目前看来还是不如arm一条龙来的省心.
|
|