你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于cube分发的FreeRTOS不包含memoeypool的问题

[复制链接]
watershade 发布时间:2020-6-3 18:47
stm32cubemx或者对应的软件包再分发时一般带有一个FreeRTOS而且这个FreeRTOS经过CMSIS-OS封装之后,可以用统一接口访问。CMSIS-OS V1的osMemoryPool我记得时可以用的。最近切换到了CMSIS-OS V2之后发现memorypool不可用。
$ b- q" v* Y# k5 o3 Q" K经过一番折腾之后,找到的解决方法是替换CMSIS接口文件。可以从http://github.com/ARM-software/CMSIS-FreeRTOS网站下载对用的FreeRTOS\Source\CMSIS_RTOS_V2下的文件cmsis_os2.c和cmsis_os2.h到和FreeRTOS对应的适配版本。并添加freertos_mpool.h文件。当然如果不放心,甚至可以将整个文件夹的文件都替换了。测试是可以使用的。5 \5 y' l8 a+ U' a
f2.png f1.png
9 R( G3 Y# K1 Y0 t/ ?% F: K& Q5 J# t
顺便提一句,osMemoryPool很适合再ISR中使用。再ISR中尽量不要使用malloc/free,尽管有时测试可用。更不要使用pvPortMAlloc和vPortFree。
9 a! \& D& t3 [如果一定要使用,可考虑创建一个高优先级的线程去接收ISR中的内存分配任务。
' ]* ~5 A6 _- p1 i- N0 U
3 N. r2 k* k) q" P1 h; m' P# G如果要支持os_tick相关函数,还需要再cmsis下找到此文件。如果不想支持这项功能还需要对文件做一些修改。现在提供一个可以直接再10.2.1上使用的:
& }1 ]2 s( K  \! l8 Z! [2 K CMSIS_RTOS_V2.zip (24.16 KB, 下载次数: 0)

NewPack.zip

下载

41.83 KB, 下载次数: 0

收藏 评论0 发布时间:2020-6-3 18:47

举报

0个回答

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版