From b4347c2025b1acdce8cc12714100572ca24cd1e9 Mon Sep 17 00:00:00 2001 From: SummerGift Date: Wed, 25 Sep 2019 17:26:25 +0800 Subject: [PATCH] [stm32][docs] optimize BSP production tutorial --- bsp/stm32/docs/STM32系列BSP制作教程.md | 10 +++++++++- bsp/stm32/docs/figures/heap_config.png | Bin 0 -> 49178 bytes 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 bsp/stm32/docs/figures/heap_config.png diff --git a/bsp/stm32/docs/STM32系列BSP制作教程.md b/bsp/stm32/docs/STM32系列BSP制作教程.md index a23c77bcc7..117a8804e9 100644 --- a/bsp/stm32/docs/STM32系列BSP制作教程.md +++ b/bsp/stm32/docs/STM32系列BSP制作教程.md @@ -133,6 +133,14 @@ BSP 的制作过程分为如下五个步骤: ![修改 board.h](./figures/board_h.png) +#### 3.2.3 堆内存配置讲解 + +通常情况下,系统 RAM 中的一部分内存空间会被用作堆内存。下面代码的作用是,在不同编译器下规定堆内存的起始地址 **HEAP_BEGIN** 和结束地址 **HEAP_END**。这里 **HEAP_BEGIN** 和 **HEAP_END** 的值需要和后面 [3.4.1 修改链接脚本](# 3.4.1 修改链接脚本) 章节所修改的配置相一致。 + +在某些系列的芯片中,芯片 RAM 可能分布在不连续的多块内存区域上。此时堆内存的位置可以和系统内存在同一片连续的内存区域,也可以存放在一片独立的内存区域中。例如在 L4 系列的芯片上,就可以将堆内存配置在起始地址为 `0x20000000` 的大小为 96k 的内存空间,而将 `0x10000000` 开始的 32k 内存空间用作系统运行内存。 + +![heap_config](figures/heap_config.png) + ### 3.3 修改 Kconfig 选项 在本小节中修改 `board/Kconfig` 文件的内容有如下两点: @@ -163,7 +171,7 @@ BSP 的制作过程分为如下五个步骤: ![linkscripts_change](figures/linkscripts_change.png) -本次制作 BSP 使用的芯片为 STM32F103RB,FLASH 为 128k,因此修改 LR_IROM1 和 ER_IROM1 的参数为 0x00020000。RAM 的大小为20k, 因此修改 RW_IRAM1 的参数为 0x00005000。这样的修改方式在一般的应用下就够用了,后续如果有特殊要求,则需要按照链接脚本的语法来根据需求修改。 +本次制作 BSP 使用的芯片为 STM32F103RB,FLASH 为 128k,因此修改 LR_IROM1 和 ER_IROM1 的参数为 0x00020000。RAM 的大小为20k, 因此修改 RW_IRAM1 的参数为 0x00005000。这样的修改方式在一般的应用下就够用了,后续如果有特殊要求,则需要按照链接脚本的语法来根据需求修改。修改链接脚本时,可以参考 [**3.2.3 堆内存配置讲解**](# 3.2.3 堆内存配置讲解) 章节来确定 BSP 的内存分配。 其他两个链接脚本的文件分别为 iar 使用的 link.icf 和 gcc 编译器使用的 link.lds,修改的方式也是类似的,如下图所示: diff --git a/bsp/stm32/docs/figures/heap_config.png b/bsp/stm32/docs/figures/heap_config.png new file mode 100644 index 0000000000000000000000000000000000000000..2c4e88022a71fc3cda8104ed9c6afb1273a1c651 GIT binary patch literal 49178 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 z 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