Add Infineon Doc and modify file structure

This commit is contained in:
Rbb666
2023-01-12 17:23:30 +08:00
committed by guo
parent b310541471
commit 7b35c8d353
166 changed files with 21342 additions and 533 deletions
+48 -40
View File
@@ -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 添加底层外设库
![](./figures/hal_config1.png)
接下来为 BSP 添加底层外设库文件,下图的文件是从 Modus 生成的文件中拷贝而来。
接下来为 BSP 添加底层外设库文件,下图的文件是从 Modus 生成的文件夹中拷贝而来。
![](./figures/hal_config2.png)
源库文件路径如下图
Modus 生成的源库文件路径如下图,在 Modus 工作空间下的 `mtb_shared` 文件夹下
![](./figures/hal_config3.png)
同时拷贝 **TARGET_CY8CKIT-062S2-43012** 文件(需根据不同芯片型号拷贝不同名称的文件夹),该文件夹路径如下:
将以上文件拷贝至 BSP 的 `libraries/IFX_PSOC6_HAL` 文件夹下。
![](./figures/hal_config1.png)
同时复制 **TARGET_CY8CKIT-062S2-43012** 文件(需根据不同芯片型号拷贝不同名称的文件夹),该文件夹路径如下。
![](./figures/hal_config4.png)
拷贝至具体 BSP 的 libs 文件夹下,例如下图:
![](./figures/hal_config4-1.png)
#### 3.4.1 修改外设配置脚本
根据具体的路径添加通用外设配置(只有移植新的系列才需要做此步骤)
![](./figures/hal_config5.png)
添加专有芯片相关文件,如下图:
![](./figures/hal_config5-1.png)
首次移植,需要使用串口外设(只有移植新的系列才需要做此步骤):
![](./figures/hal_config6.png)
添加库所使用到的头文件路径,如下图:
![](./figures/hal_config7.png)
### 3.5 修改工程构建相关文件
@@ -153,7 +169,7 @@ GCC 使用:
![](./figures/linkscripts_change.png)
本次制作 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 levelhal) 库中定义的芯片型号去填写。
![](./figures/SConscript.png)
![](./figures/SConscript1.png)
![](./figures/SConscript2.png)
#### 3.5.3 修改编译选项
rtconfig.py 用于选择编译工具链,可以自行在 CROSS_TOOL 后面选择修改编译工程所需要的工具链,目前 PSCOC6 支持 gcc 和 armclang。
rtconfig.py 用于选择编译工具链,可以自行在 **CROSS_TOOL** 后面选择修改编译工程所需要的工具链,目前 PSCOC6 支持 gcc 和 armclang。
![](./figures/rt_configpy.png)
@@ -193,36 +211,30 @@ rtconfig.py 用于选择编译工具链,可以自行在 CROSS_TOOL 后面选
以 RT-Thread Studio 为例,介绍如何导入,修改模板配置:
首先打开 RT-Thread Studio ,在 IDE 的左上角点击 `文件—>导入—>RT-Thread Bsp 到工作空间中`
1、打开 ENV 工具,在工程目录使用 `scons --dist` 命令将工程打包。(整个过程需要保证没有错误)
![](./figures/dist1.png)
打包完成后,可以在 BSP 目录下看到生成的 `dist` 文件夹:
![](./figures/dist2.png)
使用 dist 后生成的工程就可以直接导入到 RT-Thread Studio 中进行开发了。
![](./figures/dist3.png)
打开 RT-Thread Studio ,在 IDE 的左上角点击 `文件—>导入—>RT-Thread Studio 项目到工作空间中`
![](./figures/studio1.png)
![](./figures/studio2.png)
导入成功后,文件资源管理器窗口中会显示如下结构,其中 RT-Thread Settings 为图形化工程配置文件,双击打开即可。
![](./figures/studio3.png)
RT-Thread Settings 中硬件相关配置是在 board/Kconfig 中描述的。移植过程如需添加/修改配置,请修改此文件。
![](./figures/studio4.png)
### 3.5 重新生成工程
* MDK5 :重新生成工程需要使用 Env 工具。
* RT-Thread Studio:使用 Env 工具/同步 scons 配置至项目
同步 scons 配置至项目:
![](./figures/studio5.png)
首先打开 RT-Thread Studio ,在 IDE 的左上角点击 `文件—>导入—>RT-Thread Bsp 到工作空间中`
![](./figures/studio1.png)
选择 dist 出来工程的路径:
![](./figures/studio2.png)
点击 finsh 即可导入到 Studio 中:
![](./figures/studio2-1.png)
导入成功后,文件资源管理器窗口中会显示如下结构,其中 RT-Thread Settings 为图形化工程配置文件,双击打开即可。
![](./figures/studio3.png)
@@ -259,10 +271,6 @@ RT-Thread Settings 中硬件相关配置是在 board/Kconfig 中描述的。移
#### 3.6.2 重新生成 MDK 工程
使用上述方法/点击同步 scons 配置至项目
#### 3.5.2 重新生成 MDK 工程
以重新生成 MDK 工程为例,介绍如何重新生成 BSP 工程。
使用 env 工具输入命令 `scons --target=mdk5` 重新生成工程,如下图所示:
Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB