[STM32F1] FreeRTOS进入断言函数

[复制链接]
 楼主| chuxh 发表于 2021-6-1 23:49 | 显示全部楼层 |阅读模式
跑起来就卡在了这里configASSERT( xReturn );
renyaq 发表于 2021-6-1 23:51 | 显示全部楼层
是定义的任务多了内存不够吗?
 楼主| chuxh 发表于 2021-6-1 23:53 | 显示全部楼层
删除一个任务就没问题了
 楼主| chuxh 发表于 2021-6-1 23:55 | 显示全部楼层
可是我128K的stm32f103RB,只用了50多K呀。但是定义更大的数组也定义不了。
 楼主| chuxh 发表于 2021-6-1 23:57 | 显示全部楼层
 楼主| chuxh 发表于 2021-6-2 21:22 | 显示全部楼层
stly 发表于 2021-6-2 21:25 | 显示全部楼层
定义更大的数组报错,链接应该不通过,ram太小。stm32f103RB好像只有20k内存吧。至于assert,要看上下文,估计FreeRTOS的堆内存不够,任务的栈空间又分配的太大。
ousj 发表于 2021-6-2 21:28 | 显示全部楼层

樓主搞清楚出錯提示信息,是RAM溢出了
跟你的FLASH沒半毛錢關係
morrisk 发表于 2021-6-2 21:29 | 显示全部楼层
楼上这位是高手,一眼看到病根了。
houcs 发表于 2021-6-2 21:32 | 显示全部楼层
烧录进去跑不动?
zwll 发表于 2021-6-2 21:33 | 显示全部楼层
看懂了,根本烧录不进去啊。你用STM32 ST-LINK Utility 擦除后,再烧录试试看,生成HEX文件。
 楼主| chuxh 发表于 2021-6-2 21:35 | 显示全部楼层
因为操作系统定义了太大了内存导致RAM不够。这个我明白了。可是卡在configASSERT( xReturn ); 这,
kangzj 发表于 2021-6-2 21:36 | 显示全部楼层
有两个任务不能同时开,同时开就卡这。单独开就没事。知道为什么吗?刚学操作系统不是很懂
gongche 发表于 2021-6-2 21:40 | 显示全部楼层
能否屏蔽这个断言啊,断言就算卡程序用的。
jlyuan 发表于 2021-6-2 21:43 | 显示全部楼层
先确认xReturn是调用哪个函数返回的?
happy_10 发表于 2021-6-2 21:45 | 显示全部楼层
再一点点往回走查代码,找到真正原因。
juventus9554 发表于 2021-6-2 21:48 | 显示全部楼层
我没看到你代码和上下文,具体也不好多说。
 楼主| chuxh 发表于 2021-6-2 21:50 | 显示全部楼层
唉,还是没有什么结果,算了,先结贴吧,多谢大家啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

936

主题

11296

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部