一、实验目的
1、理解动态内存的基本原理
2、在 RT-Thread 中熟练使用动态内存
二、实验内容
1)分析核心对象的控制块
进入软件仿真后,在 watch 中添加控制结构体 rt_memheap 和信号量 heap_sem
(mem.c 静态变量和局部变量需在模块\函数内部设置断点,停止在函数内的断点可以观察局部或静态变量)。
在 memheap API 主要函数(rt_system_heap_init,rt_calloc,rt_free)内部设置断点,分析 API 嵌套调用关系;分析消息队列控制结构体 rt_memheap 的状态变化过程。
2)新建一个动态线程,实现 2 个线程交替分配内存块。
合理设置断点,观察不同线程小内存分配如何同步。思考中断服务程序内能否调用 rt_calloc。