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