Add Infineon Doc and modify file structure
@@ -79,7 +79,7 @@ BSP 的制作过程分为如下四个步骤:
|
||||
|
||||
#### 3.2.1 堆内存配置讲解
|
||||
|
||||
通常情况下,系统 RAM 中的一部分内存空间会被用作堆内存。下面代码的作用是,在不同编译器下规定堆内存的起始地址 **HEAP_BEGIN** 和结束地址 **HEAP_END**。这里 **HEAP_BEGIN** 和 **HEAP_END** 的值需要和后面 [3.5.1 修改链接脚本](# 3.5.1 修改链接脚本) 章节所修改的配置相一致。
|
||||
通常情况下,系统 RAM 中的一部分内存空间会被用作堆内存。下面代码的作用是,在不同编译器下规定堆内存的起始地址 **HEAP_BEGIN** 和结束地址 **HEAP_END**。这里 **HEAP_BEGIN** 和 **HEAP_END** 的值需要和后面 [3.5.1 修改链接脚本](# 3.5.1 修改链接脚本) 章节所修改的配置相一致。
|
||||
|
||||
在某些系列的芯片中,芯片 RAM 可能分布在不连续的多块内存区域上。此时堆内存的位置可以和系统内存在同一片连续的内存区域,也可以存放在一片独立的内存区域中。
|
||||
|
||||
@@ -96,8 +96,8 @@ BSP 的制作过程分为如下四个步骤:
|
||||
|
||||
| 宏定义 | 意义 | 格式 |
|
||||
| -------------------- | -------- | ---------------------- |
|
||||
| SOC_IFX_PSOC6_43012 | 芯片型号 | SOC_IFX_PSOC6_xxx |
|
||||
| SOC_SERIES_IFX_PSOC6 | 芯片系列 | SOC_SERIES_IFX_PSOC6xx |
|
||||
| SOC_CY8C624ABZI_S2D44 | 芯片型号 | SOC_CY8C6xxx_xxxx |
|
||||
| SOC_SERIES_IFX_PSOC62 | 芯片系列 | SOC_SERIES_IFX_PSOC6x |
|
||||
|
||||
关于 BSP 上的外设支持选项,一个初次提交的 BSP 仅仅需要支持串口驱动即可,因此在配置选项中只需保留这两个驱动配置项,如下图所示:
|
||||
|
||||
@@ -107,26 +107,42 @@ BSP 的制作过程分为如下四个步骤:
|
||||
|
||||
#### 3.4.1 添加底层外设库
|
||||
|
||||

|
||||
|
||||
接下来为 BSP 添加底层外设库文件,下图的文件是从 Modus 生成的文件中拷贝而来。
|
||||
接下来为 BSP 添加底层外设库文件,下图的文件是从 Modus 生成的文件夹中拷贝而来。
|
||||
|
||||

|
||||
|
||||
源库文件路径如下图:
|
||||
Modus 生成的源库文件路径如下图,在 Modus 工作空间下的 `mtb_shared` 文件夹下:
|
||||
|
||||

|
||||
|
||||
同时拷贝 **TARGET_CY8CKIT-062S2-43012** 文件(需根据不同芯片型号拷贝不同名称的文件夹),该文件夹路径如下:
|
||||
将以上文件拷贝至 BSP 的 `libraries/IFX_PSOC6_HAL` 文件夹下。
|
||||
|
||||

|
||||
|
||||
同时复制 **TARGET_CY8CKIT-062S2-43012** 文件(需根据不同芯片型号拷贝不同名称的文件夹),该文件夹路径如下。
|
||||
|
||||

|
||||
|
||||
拷贝至具体 BSP 的 libs 文件夹下,例如下图:
|
||||
|
||||

|
||||
|
||||
#### 3.4.1 修改外设配置脚本
|
||||
|
||||
根据具体的路径添加通用外设配置(只有移植新的系列才需要做此步骤)
|
||||
|
||||

|
||||
|
||||
添加专有芯片相关文件,如下图:
|
||||
|
||||

|
||||
|
||||
首次移植,需要使用串口外设(只有移植新的系列才需要做此步骤):
|
||||
|
||||

|
||||
|
||||
添加库所使用到的头文件路径,如下图:
|
||||
|
||||

|
||||
|
||||
### 3.5 修改工程构建相关文件
|
||||
@@ -153,7 +169,7 @@ GCC 使用:
|
||||
|
||||

|
||||
|
||||
本次制作 BSP 使用的芯片为 CY8CKIT-062S2-43012 ,FLASH 为 2M,因此修改 FLASH_SIZE 的参数为 0x00020000。RAM 的大小为 1M, 因此修改 RAM_SIZE 的参数为 0x000FD800。这样的修改方式在一般的应用下就够用了,后续如果有特殊要求,则需要按照链接脚本的语法来根据需求修改。修改链接脚本时,可以参考 [**3.2.1 堆内存配置讲解**](# 3.2.1 堆内存配置讲解) 章节来确定 BSP 的内存分配。
|
||||
本次制作 BSP 使用的芯片为 `CY8CKIT-062S2-43012` ,FLASH 为 2M,因此修改 FLASH_SIZE 的参数为 `0x00020000`。RAM 的大小为 1M, 因此修改 RAM_SIZE 的参数为 `0x000FD800`。这样的修改方式在一般的应用下就够用了,后续如果有特殊要求,则需要按照链接脚本的语法来根据需求修改。修改链接脚本时,可以参考 [**3.2.1 堆内存配置讲解**](# 3.2.1 堆内存配置讲解) 章节来确定 BSP 的内存分配。
|
||||
|
||||
其他两个链接脚本的文件为 iar 使用的 link.icf 和 gcc 编译器使用的 link.lds,修改的方式也是类似的,如下图所示:
|
||||
|
||||
@@ -165,13 +181,15 @@ GCC 使用:
|
||||
|
||||
**SConscript** 脚本决定 MDK/IAR/RT-Thread Studio 工程的生成以及编译过程中要添加文件。
|
||||
|
||||
在这一步中需要修改芯片型号以及芯片启动文件的地址,修改内容如下图所示:其中 CPPDEFINES 的参数要根据芯片的 low level(hal) 库中定义的芯片型号去填写。
|
||||
在这一步中需要修改芯片型号以及芯片启动文件的地址,修改内容如下图所示:其中 **CPPDEFINES** 的参数要根据芯片的 low level(hal) 库中定义的芯片型号去填写。
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||
|
||||
#### 3.5.3 修改编译选项
|
||||
|
||||
rtconfig.py 用于选择编译工具链,可以自行在 CROSS_TOOL 后面选择修改编译工程所需要的工具链,目前 PSCOC6 支持 gcc 和 armclang。
|
||||
rtconfig.py 用于选择编译工具链,可以自行在 **CROSS_TOOL** 后面选择修改编译工程所需要的工具链,目前 PSCOC6 支持 gcc 和 armclang。
|
||||
|
||||

|
||||
|
||||
@@ -193,36 +211,30 @@ rtconfig.py 用于选择编译工具链,可以自行在 CROSS_TOOL 后面选
|
||||
|
||||
以 RT-Thread Studio 为例,介绍如何导入,修改模板配置:
|
||||
|
||||
首先打开 RT-Thread Studio ,在 IDE 的左上角点击 `文件—>导入—>RT-Thread Bsp 到工作空间中`
|
||||
1、打开 ENV 工具,在工程目录使用 `scons --dist` 命令将工程打包。(整个过程需要保证没有错误)
|
||||
|
||||

|
||||
|
||||
打包完成后,可以在 BSP 目录下看到生成的 `dist` 文件夹:
|
||||
|
||||

|
||||
|
||||
使用 dist 后生成的工程就可以直接导入到 RT-Thread Studio 中进行开发了。
|
||||
|
||||

|
||||
|
||||
打开 RT-Thread Studio ,在 IDE 的左上角点击 `文件—>导入—>RT-Thread Studio 项目到工作空间中`
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
导入成功后,文件资源管理器窗口中会显示如下结构,其中 RT-Thread Settings 为图形化工程配置文件,双击打开即可。
|
||||
|
||||

|
||||
|
||||
RT-Thread Settings 中硬件相关配置是在 board/Kconfig 中描述的。移植过程如需添加/修改配置,请修改此文件。
|
||||
|
||||

|
||||
|
||||
### 3.5 重新生成工程
|
||||
|
||||
* MDK5 :重新生成工程需要使用 Env 工具。
|
||||
|
||||
* RT-Thread Studio:使用 Env 工具/同步 scons 配置至项目
|
||||
|
||||
同步 scons 配置至项目:
|
||||
|
||||

|
||||
|
||||
首先打开 RT-Thread Studio ,在 IDE 的左上角点击 `文件—>导入—>RT-Thread Bsp 到工作空间中`
|
||||
|
||||

|
||||
选择 dist 出来工程的路径:
|
||||
|
||||

|
||||
|
||||
点击 finsh 即可导入到 Studio 中:
|
||||
|
||||

|
||||
|
||||
导入成功后,文件资源管理器窗口中会显示如下结构,其中 RT-Thread Settings 为图形化工程配置文件,双击打开即可。
|
||||
|
||||

|
||||
@@ -259,10 +271,6 @@ RT-Thread Settings 中硬件相关配置是在 board/Kconfig 中描述的。移
|
||||
|
||||
#### 3.6.2 重新生成 MDK 工程
|
||||
|
||||
使用上述方法/点击同步 scons 配置至项目
|
||||
|
||||
#### 3.5.2 重新生成 MDK 工程
|
||||
|
||||
以重新生成 MDK 工程为例,介绍如何重新生成 BSP 工程。
|
||||
|
||||
使用 env 工具输入命令 `scons --target=mdk5` 重新生成工程,如下图所示:
|
||||
|
||||
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 68 KiB |
|
After Width: | Height: | Size: 87 KiB |
|
After Width: | Height: | Size: 59 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 81 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |