RT-Thread入门笔记2-动态内存堆的使用

这篇具有很好参考价值的文章主要介绍了RT-Thread入门笔记2-动态内存堆的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

栈(stack): 由编译器自动分配释放
堆(heap) : 一般由程序员分配和释放

rt_system_heap_init((void *)HEAP_BEGIN, (void *)HEAP_END);
#define HEAP_BEGIN  ((void *)&Image??RW_IRAM1??ZI??Limit) //ZI段的结束地址,执行地址,也就是程序执行区的RAM结束后的地址,反过来也就是我们执行区的RAM未使用的区域的起始地址
#define HEAP_END    STM32_SRAM_END

PS:一个ARM程序包含3部分:RO,RW和ZI
RO是程序中的指令和常量
RW是程序中的已初始化变量
ZI是程序中的未初始化的变量
文章来源地址https://www.toymoban.com/news/detail-782595.html

  • void *rt_malloc(rt_size_t nbytes):rt_malloc函数会从系统堆空间中找到合适大小的内存块.
  • void rt_free(void *ptr):为用户将malloc、realloc、calloc申请的内存释放,每次申请内存用完后必须进行释放,否则会造成内存泄漏.
  • void *rt_realloc(void *rmem, rt_size_t newsize):在已分配内存块的基础上重新分配内存块的大小(增加或缩小),在进行重新分配内存块时,原来的内存块数据保持不变(缩小的情况下, 后面的数据被自动截断).
  • void *rt_calloc(rt_size_t count, rt_size_t size):从内存堆中分配连续内存地址的多个内存块.

到了这里,关于RT-Thread入门笔记2-动态内存堆的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • RT-Thread快速入门-定时器管理

      1时钟节拍 任何操作系统都需要提供一个时钟节拍,以供系统处理所有和时间有关的事件,如延时、线程的时间片轮转调度以及定时器超时等。时钟节拍(OS Tick)是操作系统中最小的时间单位。 时钟节拍是特定的周期性中断,这个中断之间的时间间隔取决于具体的应用,一

    2024年02月15日
    浏览(37)
  • 使用RT-Thread Studio搭配STM32CubeMX新建RT-Thread项目

    STM32CubeMX下载 RT-Thread Studio下载 安装好RT-Thread Studio后,先打开RT-Thread SDK管理器确认有没有自己MCU需要的SDK包,直接安装好之后里面是有STM32F1系列的SDK包,其他的需要自己安装。 之后点击文件→新建→RT-Thread项目,根据自己需要配置好后点击完成就会生成RT-Thread项目。 新建项

    2024年02月11日
    浏览(52)
  • 【RT-Thread】使用RT-Thread Studio 配置BootLoader及App实现OTA功能

    由于项目需要实现OTA功能学习了一下具体实现方法,以备后期查看,有问题的地方随时指正修改 1.什么是OTA OTA是“over-the-air”的缩写,是一种无线技术,用于在不需要接触设备的情况下向移动设备或物联网设备提供更新、补丁或新版本的软件。OTA更新通常通过无线网络(如

    2024年02月09日
    浏览(41)
  • 【STM32&RT-Thread零基础入门】 4. 线程介绍(理论)

    前文中的最后一个任务发现,一个main()函数很难同时实现按键功能和闪灯功能,就好像人很难同时完成左手画圆右手画方一样,这种情况可以安排一人去画圆、一人去画方,并行进行就很容易了,两人各司其职,互不干扰。 操作系统中,一个线程就像做事的一个人。一个操作

    2024年02月12日
    浏览(41)
  • RT-Thread studio使用(持续更新)

    官方的RT-Thread Studio的用户手册:(界面介绍,编译下载调试、导入工程等官方文档说明) RT-Thread Studio 用户手册 ============================================================ RT-Thread 官方下载中心 文档中心关于nano版本讲了移植的几种方式,打开使用RT-Thread_Studio移植,选择安装RT-Thread_Stud

    2023年04月18日
    浏览(93)
  • 【STM32&RT-Thread零基础入门】 7. 线程创建应用(多线程运行机制)

    硬件:STM32F103ZET6、ST-LINK、usb转串口工具、4个LED灯、1个蜂鸣器、4个1k电阻、2个按键、面包板、杜邦线 本章进一步研究多线程的运行机制。要求实现功能如下:创建2个线程,线程名称分别为LED和BEEP。两个线程的任务是连续5次打印本线程的名字后退出线程(注意:线程不执行

    2024年02月03日
    浏览(37)
  • 【STM32&RT-Thread零基础入门】 6. 线程创建应用(线程挂起与恢复)

    硬件:STM32F103ZET6、ST-LINK、usb转串口工具、4个LED灯、1个蜂鸣器、4个1k电阻、2个按键、面包板、杜邦线 在上一个任务中,通过停止命令把线程删除后,线程在系统中就不存在了,也无法再使线程重新运行。例如输入stop_led_thread命令后,led停止闪烁,但也无法重新开启LED灯闪烁

    2024年02月11日
    浏览(37)
  • RT-Thread Studio使用经验——项目创建及文件介绍

    1.创建项目时会有两种选择 RT Thread项目 和 RT Thread Nano项目 ,RT Thread项目体量比较大,包含了RT Thread的大部分功能,比如应用层开发,驱动开发,图形界面开发等,生成程序的大小大约在50kb左右; RT Thread Nano属于轻量级的RT Pthread工程开发,只包含了基础的裸机开发的部分库文

    2024年02月08日
    浏览(43)
  • 【STM32&RT-Thread零基础入门】 5. 线程创建应用(线程创建、删除、初始化、脱离、启动、睡眠)

    硬件:STM32F103ZET6、ST-LINK、usb转串口工具、4个LED灯、1个蜂鸣器、4个1k电阻、2个按键、面包板、杜邦线 本章主要讲线程的工作机制和管理方法,通过实例讲解如何使用多线程完成多任务开发。 RT-Thread用线程控制块来描述和管理一个线程,一个线程对应一个线程控制块。线程控

    2024年02月12日
    浏览(56)
  • RT-Thread 1. GD32移植RT-Thread Nano

    1. RT-Thread Nano 下载 RT-Thread Nano 是一个极简版的硬实时内核,它是由 C 语言开发,采用面向对象的编程思维,具有良好的代码风格,是一款可裁剪的、抢占式实时多任务的 RTOS。其内存资源占用极小,功能包括任务处理、软件定时器、信号量、邮箱和实时调度等相对完整的实

    2024年02月05日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包