首页 > 系统相关 >19_系统内存管理

19_系统内存管理

时间:2023-09-19 12:36:06浏览次数:37  
标签:函数 19 系统 申请 free vPortFree 内存

系统内存管理

内存管理与程序好坏?

对于安全要求高的应用,尽可能不使用动态内存分配。

malloc()和free()

当RTOS内核需要RAM时,调用pvPortMalloc()函数来代替malloc()函数。当RAM要被释放时,调用vPortFree()函数来代替free()函数。

freeRTOS层使用c语言申请内存的方式申请一个很大的数组(此处configTOTAL-HEAP-SIZE的数值是15360),极端情况下,我们把可以申请到的所有空间全部申请下来。然后用户层调用的pvPortMalloc和vPortFree函数则是在此数组中操作,操作的函数原型自然是freeRTOS函数层中定义的。

FreeRTOS提供的五种内存分配方案

1heap_1.c适合一些不会删除任务,队列以及信号量的任务,特别是一些比较简单的系统和一些对安全性要求比较高的系统。事实上,很多系统中只要创建了任务之后就会一直执行,不会删除任务。所以这个文件适用环境还是比较多的。2heap_2.c能分配,能回收,但是回收时不考虑内存碎片的场所。适合一些申请和释放操作不是特别频繁,而且不会申请大数组的场所。

3heap_3.c这种方法实际使用的还是c语言的malloc和free函数。与平台没有太大关系,线程保护。

4heap_4.c内存分配和释放操作比较频繁的系统。例如要重复创建删除任务,队列,信号量等。

5heap_5.c系统需要管理不连续的内存空间,例如接入外部ram的场所。

image-20230917154022746

默认heap_4

printf("Heap size %d\n", xPortGetFreeHeapSize()); //获取剩余空间大小
uint8_t *buffer = pvPortMalloc(10); //申请空间
vPortFree(buffer); //释放空间

标签:函数,19,系统,申请,free,vPortFree,内存
From: https://www.cnblogs.com/mzx233/p/17714296.html

相关文章

  • 常见的空中速率有哪些及对无线通信系统的影响
    常见的空中速率有哪些及对无线通信系统的影响空中速率是指无线通信系统中数据在空气中传输的速度,它对无线传输有以下影响:传输速度:空中速率越高,数据在空气中的传输速度就越快,从而可以增加传输数据量,提高传输效率。传输距离:空中速率越高,数据在空气中的传输距离就越短。这是因为高空中......
  • 常见的空中速率有哪些及对无线通信系统的影响
    常见的空中速率有哪些及对无线通信系统的影响空中速率是指无线通信系统中数据在空气中传输的速度,它对无线传输有以下影响:传输速度:空中速率越高,数据在空气中的传输速度就越快,从而可以增加传输数据量,提高传输效率。传输距离:空中速率越高,数据在空气中的传输距离就越短。这是因为高......
  • 亚马逊加拿大站便携式火炉的标准政策ASTM F3363-19
    亚马逊加拿大站便携式火炉的标准政策ASTMF3363-19本政策涵盖的便携式火炉本政策适用于在开口杯罐中使用醇基燃料产生悬挂式火焰的便携式装饰性光源。这类商品一般由一个锅盆或底座组成,通常以陶瓷或其他耐热材料制成。也可称为便携式火盆、便携式壁炉、火炉、火碗、庭院火炉、火焰......
  • 怎么设计一个有创意性物联网系统
    设计一个具有创意性的物联网系统需要充分发挥创新思维,考虑系统的实用性、可靠性、成本效益和可扩展性。以下是一些设计建议:定义明确的问题:明确需要解决的问题或服务,例如,智能家居、智能物流、智能农业等。确保所解决的问题具有实际意义和应用价值。了解市场需求:了解目标市场的需求和......
  • 可扩展性对物联网管理系统有哪些影响?
     可扩展性对于物联网管理系统的设计和开发非常重要,它直接影响着系统的性能、可靠性和能耗等方面,是评估一个系统优劣的重要因素之一。可扩展性对物联网管理系统的影响主要体现在以下几个方面:    设备兼容性:物联网管理系统的可扩展性意味着它可以支持各种不同的硬件平台和传......
  • 怎么设计一个有创意性物联网系统
    设计一个具有创意性的物联网系统需要充分发挥创新思维,考虑系统的实用性、可靠性、成本效益和可扩展性。以下是一些设计建议:定义明确的问题:明确需要解决的问题或服务,例如,智能家居、智能物流、智能农业等。确保所解决的问题具有实际意义和应用价值。了解市场需求:了解目标市场的需......
  • 龙蜥系统:一、系统安装
    VMware®Workstation17Pro安装龙蜥[AnolisOSrelease8.6]一、AnolisOSrelease8.6镜像下载:AnolisOS-8.6-QU1-x86_64-dvd.iso官网、论坛、下载:https://openanolis.cn/二、虚拟机安装1.创建新的虚拟机:  2.启动虚拟机 打开终端命令窗口,查看dhcp......
  • 62基于java的高校奖学金管理系统设计与实现(可参考做毕业设计)
    本章节给大家带来一个基于java高校奖学金管理系统设计与实现,可适用于大学奖学金管理系统,学生奖学金管理系统,学校奖学金,校园奖学金申请管理系统;引言以往的高校奖学金管理系统相关信息管理,都是工作人员手工统计。这种方式不但时效性低,而且需要查找和变更的时候很不方便。随着科学......
  • 可扩展性对物联网管理系统有哪些影响?
    可扩展性对于物联网管理系统的设计和开发非常重要,它直接影响着系统的性能、可靠性和能耗等方面,是评估一个系统优劣的重要因素之一。可扩展性对物联网管理系统的影响主要体现在以下几个方面:设备兼容性:物联网管理系统的可扩展性意味着它可以支持各种不同的硬件平台和传感器设备,这使得......
  • 基于Web的智慧煤矿2D组态系统
    前言随着智能科技的不断发展,矿山企业谋求高质量高水平发展的需求愈发迫切,我国也逐渐开始了对智慧矿井的建设。作为新型生产力的智能科技也成为产业变革的重要驱动力。 传统的组态系统所展示出的矿井组态界面已无法满足当前多样化的展示需求。随着基于Web的可视化技术飞速发展,......