原子官方教材《FreeRTOS源码详解与应用》实验17-4 《FreeRTOS任务通知模拟事件标志组实验》试验疑问

2019-07-20 13:08发布

本帖最后由 zuozhongkai 于 2017-7-26 09:10 编辑

BUG复现步骤:
1、将《FreeRTOS实验17-4 FreeRTOS任务通知模拟事件标志组实验》(原子官方例程源代码)中按键处理函数中的延时函数换成HAL库自带的延时函数HAL_Delay(),将程序下载到F767开发板中。
2、一切显示正常,不要着急,一会就看到问题了。
3、多次重复按下KEY0键,开发板进入HardFault状态(多次快速连续按下或者偶然按下)
HardFault状态下的Fault Reports截图如下:
QQ截图20170724213118.jpg
说明:1,Fault Reports表明hardfault是有Usage Faults引起。
2、R14(LR)寄存器的值为 0xFFFFFFF1
请原子哥解答一下,感谢

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
taizonglai
1楼-- · 2019-07-20 18:22
 精彩回答 2  元偷偷看……
aimjoe
2楼-- · 2019-07-20 23:25
原子哥你好,我重新比较了一下你发的程序与我自己的程序,发现在按键处理函数中我是用了HAL库自带的延时函数HAL_Delay(),然后将此函数调整为delay_ms()后,程序再也没有进入HardFault。感谢原子哥的细心答复。
taizonglai
3楼-- · 2019-07-21 05:20
 精彩回答 2  元偷偷看……
aimjoe
4楼-- · 2019-07-21 05:44
zuozhongkai 发表于 2017-7-25 17:51
麻烦修改一下帖子题目,要不然别人以为书里面的试验有bug。

你好,修改以后题目一直变回原来的样子。声明一下原子的程序没有问题。

一周热门 更多>