高二毛 发表于 2016-8-26 17:09:42

STM32中测试freeRTOS内存碎片的生成原理与解决方案

想法:freeRTOS中有4种(最新版可能有5-6)种内存分配方式了,可能大家用的最多的是heap4.c, heap2.c大家都说可能产生内存碎片。那么到底测试出来            呢?
步骤:1,初始化一块内存用于进行freeRTOS的pool,#define configTOTAL_HEAP_SIZE                ( ( size_t ) ( 10 * 1024 ) ),这里是10K
          2,创建两个任务,task1负责malloc内存,然后给task2发消息,
          3,task2收到消息,free task1分配的内存。
          4,task1分配的内容从1开始递加,到255之后返回1.
测试:1,使用heap2.c的程序,在递加的数值不到100的时候,程序就挂掉了。
          2,使用heap4.c的程序,可以顺利的运行下去
结论:其实就是验证一下heap2和heap4内存分配方式。详细实现在其代码中讲述的很清楚。

要不,你试试?:)

zhangguo 发表于 2016-8-28 09:54:28

玩过Ucos,没玩过Free RTOS。

shuishou 发表于 2016-8-28 14:20:08

签到签到

无薪税绵 发表于 2016-8-28 21:41:22

还真没有试过。谢谢楼主提醒。

feixiang20 发表于 2016-8-28 22:17:20

有难度,还是看书吧

anywill 发表于 2016-10-24 11:45:07

转一个帖子FreeRTOS内存管理方案的分析与改进
http://www.baidu.com/link?url=PbkGWRB-aD0q-XOzM1PRl1KBkyQ_GsZOaoOjG7K_C2ZXo7x4XDDEMOdTiweReQ8WYKJRGu9HGc71pBYA0ICUNRHDA0VpNLjKSVqSZrjBXVS&wd=&eqid=9a73297b00046c4a00000004580d8366

高二毛 发表于 2016-10-24 12:18:23

anywill 发表于 2016-10-24 11:45
转一个帖子FreeRTOS内存管理方案的分析与改进
http://www.baidu.com/link?url=PbkGWRB-aD0q-XOzM1PRl1KBky ...

感谢关注。

asssdz-382474 发表于 2016-10-24 12:34:44

:):):):):):):):):)
页: [1]
查看完整版本: STM32中测试freeRTOS内存碎片的生成原理与解决方案