stm32f429+stemwin+cmsis_os 进入hardfault_handler
如题,在fault report 里显示是usage fault->unaligned,通过异常时刻的上下文,定位到xPortPendSVHandler函数,在执行 /* Pop the core registers. */ldmia r0!, {r4-r11, r14}
/* Is the task using the FPU context?If so, pop the high vfp registers
too. */
tst r14, #0x10
时出错。
之前我在回调函数_cbStatus中创建一个定时器,定时发送消息WM_NotifyParent(hIcon,WM_NOTIFICATION_RELEASED);
目的是切换界面,运行正常;
后来我把WM_NotifyParent(hIcon,WM_NOTIFICATION_RELEASED);放到按键任务里执行,就发生了上面的错误,请大神们帮忙分析一下是什么原因,谢谢!!
支持一下 本帖最后由 terencejia 于 2015-6-24 14:11 编辑
问题基本解决,主要原因是emwin的多任务支持没有配置好,配置成单任务模式,并且把与gui相关对所有操作都放在GUIThread来执行,就不会发生上面的问题。其次,emwin手册里明确提到“注:请勿从用户应用程序将系统定义的通知代码发送到窗口。”,故不应该从用户程序中发送“WM_NOTIFICATION_RELEASED”
社么啊
页:
[1]