uc/os-II的内存改进与实现TLSF算法的详解,移植实现(四)
2014-12-26 15:08
453 查看
这一节主要讲讲运行结果。
先来图哈。
1.先看下print_all_blocks()函数
它是在debug函数里面的,想要用这个函数的话,在定义里将_TLSF_DEBUG置为1;
最后,移植成功,代码完成。实现了动态内存管理算法的改进与实现。
由于,我用的代码是基于时间片轮转调度的,所以下部分我会分析下时间片轮转调度的情况。
下面附上下载链接地址哈。
TLSF算法下载地址:点击打开链接
uc/os基于时间片轮转调度的源码:http://download.csdn.net/detail/pushy_palace/8303581
参考文献:
1.TLSF动态内存分配算法的研究与应用;
2.基于μCOS-II的TLSF动态内存分配算法的应用与仿真;
先来图哈。
1.先看下print_all_blocks()函数
它是在debug函数里面的,想要用这个函数的话,在定义里将_TLSF_DEBUG置为1;
void print_all_blocks(tlsf_t * tlsf) { area_info_t *ai; bhdr_t *next; PRINT_MSG("\nTLSF at %p\nALL BLOCKS\n\n", tlsf); ai = tlsf->area_head; while (ai) { next = (bhdr_t *)((char *)ai - BHDR_OVERHEAD); while (next) { print_block(next); if ((next->size & BLOCK_SIZE)) next = GET_NEXT_BLOCK(next->ptr.buffer, next->size & BLOCK_SIZE); else next = NULL; } ai = ai->next; } }其他不懂得地方需要看一下声明了。
void print_block(bhdr_t * b) { if (!b) return; PRINT_MSG(">> [%p] (", b); if ((b->size & BLOCK_SIZE)) PRINT_MSG("%lu bytes, ", (unsigned long)(b->size & BLOCK_SIZE)); else PRINT_MSG("sentinel, "); if ((b->size & BLOCK_STATE) == FREE_BLOCK) PRINT_MSG("free [%p, %p], ", b->ptr.free_ptr.prev, b->ptr.free_ptr.next); else PRINT_MSG("used,"); if ((b->size & PREV_STATE) == PREV_FREE) PRINT_MSG("prev. free [%p])\n", b->prev_hdr); else PRINT_MSG("prev used)\n "); }
最后,移植成功,代码完成。实现了动态内存管理算法的改进与实现。
由于,我用的代码是基于时间片轮转调度的,所以下部分我会分析下时间片轮转调度的情况。
下面附上下载链接地址哈。
TLSF算法下载地址:点击打开链接
uc/os基于时间片轮转调度的源码:http://download.csdn.net/detail/pushy_palace/8303581
参考文献:
1.TLSF动态内存分配算法的研究与应用;
2.基于μCOS-II的TLSF动态内存分配算法的应用与仿真;
相关文章推荐
- uc/os-II的内存改进与实现TLSF算法的详解,移植实现(一)
- uc/os-II的内存改进与实现TLSF算法的详解,移植实现(二)
- uc/os-II的内存改进与实现TLSF算法的详解,移植实现(三)
- 改进uC/OS II,减少内存使用量
- uC/OS-II在ARM系统上的移植与实现
- uC/OS-II移植 详解 系统时钟部分
- 改进uC/OS II,减少内存使用量
- uC/OS-II在ARM系统上的移植与实现
- uC/OS-II在ARM系统上的移植与实现
- uC/OS-II在ARM系统上的移植与实现
- uC/OS II在pc上的移植与实现
- 改进uC/OS II,减少内存使用量
- uC/OS-ii移植详解
- uc/OS II移植中软件中断的理解与应用
- uC/OS-II任务栈处理的一种改进方法
- LPC2104启动代码之Vectors.s注释(用于uC/OS-II 2.52移植)
- 移植uC/OS-II到瑞萨的单片机,添加信号量功能
- uC/OS-II任务栈处理的一种改进方法
- LPC2104启动代码之Vectors.s注释(用于uC/OS-II 2.52移植)
- 基于Nios软核CPU的uC/OS-II和LwIP移植