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

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

[复制链接]
watershade 发布时间:2020-6-3 18:47
stm32cubemx或者对应的软件包再分发时一般带有一个FreeRTOS而且这个FreeRTOS经过CMSIS-OS封装之后,可以用统一接口访问。CMSIS-OS V1的osMemoryPool我记得时可以用的。最近切换到了CMSIS-OS V2之后发现memorypool不可用。
4 g% M" R$ }- c经过一番折腾之后,找到的解决方法是替换CMSIS接口文件。可以从http://github.com/ARM-software/CMSIS-FreeRTOS网站下载对用的FreeRTOS\Source\CMSIS_RTOS_V2下的文件cmsis_os2.c和cmsis_os2.h到和FreeRTOS对应的适配版本。并添加freertos_mpool.h文件。当然如果不放心,甚至可以将整个文件夹的文件都替换了。测试是可以使用的。: u& j( q! U. Y
f2.png f1.png
: E  y4 m7 v" o# Z
9 _! \' w: y0 m! I3 H* D顺便提一句,osMemoryPool很适合再ISR中使用。再ISR中尽量不要使用malloc/free,尽管有时测试可用。更不要使用pvPortMAlloc和vPortFree。
! S7 u$ Y- g5 {$ Z  k, U7 r如果一定要使用,可考虑创建一个高优先级的线程去接收ISR中的内存分配任务。1 B! o; Y+ ^9 y! I8 F7 J# C$ X
7 n6 x8 ~- m, I( W+ k7 T# \7 v
如果要支持os_tick相关函数,还需要再cmsis下找到此文件。如果不想支持这项功能还需要对文件做一些修改。现在提供一个可以直接再10.2.1上使用的:
3 h: u- s1 x/ J+ h: k3 w; C( l 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 手机版