• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

stm32一般如何对内存进行管理

菜鸟冷虎 2018-08-27 浏览量:1134
有什么好的方式来管理内存吗
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 内存管理都是通过软件进行识别的,STM32芯片是没有MMU的,只能是通过软件进行动态的调整。

    对于使用系统的工程,是使用RTOS进行自动的内存管理的,建任务时,也会分配一部分RAM

    对于禅机的工程,要人为的去分配RAM,而RAM溢出后,工程编译时会报错的

    • 发布于 2018-09-25
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:16
  • 内存管理一般都是用malloc来实现的,有很多例子 可以参考的,或者直接copy就可以了
    • 发布于2018-08-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般 用两个函数:malloc 和 free;malloc 函数用于内存申请,free 函数用于内存释放
    • 发布于2018-08-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 标准库的mallocfree可以用,但一般不建议使用,要配置很大heap,并且分配时间不确定也容易产生碎片。大多数时候使用操作系统的内存管理功能,或者自己移植内存管理程序。

    移植的话可以参考下面贴子:

    //www.icxbk.com/community/thread-98554-1-1.html

    • 发布于2018-08-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 你可以对内存进行管理,使用的时候申请内存,用完立即释放,可以参考一下正点原子的内存管理参考例程,讲解的非常详细。
    • 发布于2018-08-27
    • 举报
    • 评论 0
    • 0
    • 0

  • freertos 有5套内存管理代码,自己移植一下
    • 发布于2018-08-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 内存管理是需要用户自己写程序来实现的,硬件自身并不提供这种功能,或者上操作系统也可以进行内存管理
    • 发布于2018-08-27
    • 举报
    • 评论 0
    • 0
    • 0

  • STM32不带MMU,要进行内存管理必须手动通过地址指针操作内存块进行管理,可以参考一下原子的IAP实验和片内RAM分配实验,就有对内存的管理。

    • 发布于2018-08-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 你是说拓展外部ram?
    • 发布于2018-08-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以参考下正点原子的内存管理参考例程,就照着例程做,做的过程中去理解
    • 发布于2018-08-29
    • 举报
    • 评论 0
    • 0
    • 0

  • STM32也可以用动态内存的,使用malloc来申请一个动态内存,free释放
    • 发布于2018-08-30
    • 举报
    • 评论 0
    • 0
    • 0

  • stm32没有具体的管理内存方案,因为每一个内存地址都可以直接访问或者动态内存分配,你注意分配了内存之后记得释放就可以了。
    • 发布于2018-08-31
    • 举报
    • 评论 0
    • 0
    • 0

  • stm32如果没有上操作系统不需要管理内存,如果上了嵌入式操作系统,直接根据系统的内存操作函数来管理即可
    • 发布于2018-09-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 不需要用户自己去管理,内存都是直接根据系统来进行设置的
    • 发布于2018-09-20
    • 举报
    • 评论 0
    • 0
    • 0

  • stm32没有MMU管理内存的意义不大,最多就是对你的内存进行分区的控制操作
    • 发布于2018-09-22
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

stm32一般如何对内存进行管理