Merge pull request #3101 from SummerGGift/optimize_stm32_docs
[stm32][docs] optimize BSP production tutorial
This commit is contained in:
commit
2a39e59024
|
@ -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,修改的方式也是类似的,如下图所示:
|
||||
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 48 KiB |
Loading…
Reference in New Issue