关于MCAL的USER mode的一些疑问
-
目前在使用MC0的MCAL代码时遇到了一些关于user mode support的一些问题请教一下;
在使用IAR编译时,如果模块选择有user mode则需要自己手动添加user mode的宏定义如下:
添加完这些宏定义后,代码不会有报错信息;
但是在使用mcal代码进行boot跳转时遇到了操作SCB->VTOR寄存器进hardfault的问题:
最后定位到是因为定义了user mode,导致无法进入特权模式从而无法操作SCB寄存器导致的:
简单的修改方案是暂时屏蔽这段代码;
后续我尝试把所有模块的user mode都关闭从而不需要user mode的宏定义时发现在关闭mcu的user mode时发生了另外的问题:
代码因为关闭定义进入如下另一个分支,直接进了memange handler:
目前来说不知道这个问题怎么处理会好一些,请问大家有什么好的建议吗? -
SetRcu
函数是Mcu初始化调用的第一个写寄存器操作的函数。这里进 memange handler 应该是你前面定义的宏,导致Startup里开启了非特权模式导致的。
在Mcal里进行boot跳转,可以和Mcal的驱动一样,使用Osif函数包一下,应该可以解决问题
发帖前请查看
帮助没办法联网的电脑使用YCT
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...