美文网首页
FreeRTOS:榨干RAM(heap_5)

FreeRTOS:榨干RAM(heap_5)

作者: xEndLess | 来源:发表于2023-05-08 22:14 被阅读0次

1. 修改.ld文件

在STM32F407ZGTx_FLASH.ld增加如下内容。

  /* Uninitialized data section */
  . = ALIGN(4);
  .bss :
  {
    /* This is used by the startup in order to initialize the .bss secion */
    _sbss = .;         /* define a global symbol at bss start */
    __bss_start__ = _sbss;
    *(.bss)
    *(.bss*)
    *(COMMON)

    . = ALIGN(8); //8字节对齐
    _ebss = .;         /* define a global symbol at bss end */
    __bss_end__ = _ebss;
    __heap_addr_end__ = ORIGIN(RAM) + LENGTH(RAM);  //主要是增加__heap_addr_end__ 。
    . = ALIGN(8);
  } >RAM

2. FreeRTOSConfig.h

FreeRTOSConfig.h中增加如下内容:

extern uint32_t __bss_end__;
extern uint32_t __heap_addr_end__;

3. 初始化

在main.c中增加如下内容:

static HeapRegion_t xHeapRegions[2];
int main(void)
{
    ...

    /* OS使用的内存 */
    xHeapRegions[0].pucStartAddress = (uint8_t *)(&__bss_end__);
    xHeapRegions[0].xSizeInBytes    = (uint8_t *)(&__heap_addr_end__) - (uint8_t *)(&__bss_end__);
    xHeapRegions[1].pucStartAddress = NULL;
    xHeapRegions[1].xSizeInBytes    = 0;
    vPortDefineHeapRegions(xHeapRegions);
    /* 初始化任务 */
    xTaskCreate(start_task_code, "start", START_TASK_STACK_SIZE, NULL, START_TASK_PRIORITY, &start_tid);

    vTaskStartScheduler();
    while (1) {

    }

}

相关文章

  • free rtos和ucos的区别

    一、freeRTOS比uCOS II优胜的地方: 1。内核ROM和耗费RAM都比uCOS 小,特别是RAM。 这在...

  • 榨干

    大公司以员工为蝼蚁,想榨干员工的全部价值。但是员工也未必把公司当回事,想当然的对公司没有归属感。 长此以往,工作就...

  • 榨干

    清晨写文的时候会想 天天如此写,会不会榨干自己的脑子? 我想会吧 若不进取,只有输出而没有输入 迟早有天思绪全无,...

  • 榨干

    思想是会被生活榨干么? 如果生活只有眼前的苟且的话,可能会吧。

  • 榨干你

    下一个目标就是你,农民。简单点就是资本运作进军农业,让你放弃土地经营权,房产,宅基地等换取一笔资金。变着法让你消费...

  • 想榨干

    给同是女孩的我们,送上祝福,节日快乐。 这应该是过第一个属于我们的节日吧。高中忙着学习,只能看着别人碗里的节日。如...

  • 榨干枚举

    前言 在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这...

  • 榨干自己

    日更是一个督促自己每天输出的活动。 偶尔有些天状态好或是输入内容多,就能够超常发挥,一天多写几篇日更存着,想着万一...

  • 2020-07-09

    今日体力已榨干

  • 写给诗人

    pos榨干你的信用卡 女人榨干你的体力 虚妄却要榨干你的灵魂 黄色的银杏叶伴着熙熙攘攘的人群 瑟瑟飘落 飘向南方 ...

网友评论

      本文标题:FreeRTOS:榨干RAM(heap_5)

      本文链接:https://www.haomeiwen.com/subject/ldppqdtx.html