新手上路
- 积分
- 24
- 金钱
- 24
- 注册时间
- 2018-10-6
- 在线时间
- 6 小时
|
各位大佬,小弟最近对ARM Core cm4内核的MT2523G穿戴设备移植UCOS III 操作系统时和STM32F407平台上的移植做了比较,同时也移植了正常在STM32F407上正常运行的UCOS ,发现了一个问题,在MT2523G处理上,通过宏定义开启FPU,在创建任务前必须进行一次浮点运算,才能保证系统不崩溃,小弟通过仿真器跟追发现PendSVHandler 处理中,
中,如果进行浮点运算的话,会对FPU的寄存器进行操作,但如果程序没有进行浮点运算,则不对浮点寄存器操作,
,在这里已经开启浮点堆栈,会因堆栈问题跑飞,我发现STM32F407 程序中并未进行浮点运算,也不跑飞,但在MT2523G芯片下 会因为这个原因跑飞,经过多次实验发现,在进行PendSVHandler 前需要进行一次浮点运算,才能保证系统运行。有没有路过的大佬可以给小弟解惑吗?
|
|