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

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

[复制链接]
watershade 发布时间:2020-6-3 18:47
stm32cubemx或者对应的软件包再分发时一般带有一个FreeRTOS而且这个FreeRTOS经过CMSIS-OS封装之后,可以用统一接口访问。CMSIS-OS V1的osMemoryPool我记得时可以用的。最近切换到了CMSIS-OS V2之后发现memorypool不可用。
2 W1 q: }  q) K& `0 v: h3 h经过一番折腾之后,找到的解决方法是替换CMSIS接口文件。可以从http://github.com/ARM-software/CMSIS-FreeRTOS网站下载对用的FreeRTOS\Source\CMSIS_RTOS_V2下的文件cmsis_os2.c和cmsis_os2.h到和FreeRTOS对应的适配版本。并添加freertos_mpool.h文件。当然如果不放心,甚至可以将整个文件夹的文件都替换了。测试是可以使用的。. K6 d" e, X  p% j& E" w% a
f2.png f1.png
2 W! H+ |1 R+ t2 h7 O; `) O' W
3 [" m* n5 I# w5 X3 U顺便提一句,osMemoryPool很适合再ISR中使用。再ISR中尽量不要使用malloc/free,尽管有时测试可用。更不要使用pvPortMAlloc和vPortFree。
" g& m( L1 W9 \* G, H' n如果一定要使用,可考虑创建一个高优先级的线程去接收ISR中的内存分配任务。
( H1 x6 x' f3 S) E: s2 r9 S9 q
; [" b( F1 y5 \6 r7 c) N& t如果要支持os_tick相关函数,还需要再cmsis下找到此文件。如果不想支持这项功能还需要对文件做一些修改。现在提供一个可以直接再10.2.1上使用的:5 k" I# i- T* ?% }1 I; _
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 手机版