diff --git "a/bsp/renesas/docs/RA\347\263\273\345\210\227BSP\345\210\266\344\275\234\346\225\231\347\250\213.md" "b/bsp/renesas/docs/RA\347\263\273\345\210\227BSP\345\210\266\344\275\234\346\225\231\347\250\213.md"
index ffc0615de1dc7deae7b405187edb666a75b0ffe2..90785a9bd05db2ce1cb5b119aa20ceeb76779aac 100644
--- "a/bsp/renesas/docs/RA\347\263\273\345\210\227BSP\345\210\266\344\275\234\346\225\231\347\250\213.md"
+++ "b/bsp/renesas/docs/RA\347\263\273\345\210\227BSP\345\210\266\344\275\234\346\225\231\347\250\213.md"
@@ -155,7 +155,7 @@ RA 模板工程创建完成后,需要做些修改并添加基础外设 GPIO、
### 3.4 修改 Kconfig 选项
-在本小节中修改 `board/Kconfig` 文件的内容有如下两点:
+在本小节中修改 `board/Kconfig` 和 `libraries/Kconfig` 文件的内容有如下两点:
- 芯片型号和系列
- BSP 上的外设支持选项
@@ -167,12 +167,22 @@ RA 模板工程创建完成后,需要做些修改并添加基础外设 GPIO、
| SOC_R7FA6M4AF | 芯片型号 | SOC_R7FAxxxxx |
| SOC_SERIES_R7FA6M4 | 芯片系列 | SOC_SERIES_R7FAxxx |
+添加芯片系列:
+
+![image-20220422164816261](figures\Kconfig1.png)
+
关于 BSP 上的外设支持选项,一个初次提交的 BSP 仅仅需要支持 GPIO 驱动和串口驱动即可,因此在配置选项中只需保留这两个驱动配置项,如下图所示:
![修改 Kconfig](./figures/Kconfig.png)
### 3.5 修改工程构建和配置文件
-接下来需要修改用于构建工程相关的文件。
+- 添加驱动 config,根据不同芯片系列创建目录,按照支持情况对外设的配置进行修改。
+
+![image-20220422163750161](figures\drv_config.png)
+
+ 以UART为例,添加端口的配置信息,根据不同芯片对外设的支持情况进行修改。
+
+![image-20220422164058202](figures\drv_config_uart.png)
- 修改启动文件 startup.c
@@ -191,7 +201,7 @@ RA 模板工程创建完成后,需要做些修改并添加基础外设 GPIO、
- 修改 SRAM 大小配置
-![image-20220303113833249](figures/board_config.png)
+![image-20220303113833249](figures/board_config.png)
- 修改 GPIO 中断配置
@@ -234,7 +244,9 @@ void hal_entry(void)
}
```
+- 修改 rtconfig.py 中的CPU参数
+![image-20220303165348085](figures/rtconfig_py.png)
### 3.6 重新生成工程
@@ -325,9 +337,7 @@ KEEP(*(FalPartTable))
![image-20220303165348085](figures/rtconfig_py.png)
-除了上图的内核类型,还有编译参数的配置需要确认。相关配置项说明可查看文档中心对于 scons 工具的介绍。[跳转链接](https://www.rt-thread.org/document/site/#/development-tools/scons/scons?id=编译器选项)
-
-
+除了上图的内核类型,还有编译参数的配置需要确认。相关配置项说明可查看文档中心对于 scons 工具的介绍。[跳转链接](https://www.rt-thread.org/document/site/#/development-tools/scons/scons?id=编译器选项)
至此,一个基础的支持 GCC 和 MDK 的 BSP 工程就创建完成了,接着就可以使用 MDK 或 scons 验证开发的工程是否可编译、可运行。
diff --git a/bsp/renesas/docs/figures/Kconfig1.png b/bsp/renesas/docs/figures/Kconfig1.png
new file mode 100644
index 0000000000000000000000000000000000000000..6a11898b9566076a4670dcf25a2ad3afa0203890
Binary files /dev/null and b/bsp/renesas/docs/figures/Kconfig1.png differ
diff --git a/bsp/renesas/docs/figures/drv_config.png b/bsp/renesas/docs/figures/drv_config.png
new file mode 100644
index 0000000000000000000000000000000000000000..ea9c933b3a2792cd8a1cc4b74ec8f31884b26be9
Binary files /dev/null and b/bsp/renesas/docs/figures/drv_config.png differ
diff --git a/bsp/renesas/docs/figures/drv_config_uart.png b/bsp/renesas/docs/figures/drv_config_uart.png
new file mode 100644
index 0000000000000000000000000000000000000000..f61eb9ef92a2b799666b47fc75c4d4f00f232cd1
Binary files /dev/null and b/bsp/renesas/docs/figures/drv_config_uart.png differ
diff --git a/bsp/renesas/libraries/bsp-template/board/board.h b/bsp/renesas/libraries/bsp-template/board/board.h
new file mode 100644
index 0000000000000000000000000000000000000000..0fb1374414e38112ea43ea94e1ebeef340ca9dd5
--- /dev/null
+++ b/bsp/renesas/libraries/bsp-template/board/board.h
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2006-2021, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2021-10-10 Sherman first version
+ */
+
+#ifndef __BOARD_H__
+#define __BOARD_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define RA_SRAM_SIZE 256 /* The SRAM size of the chip needs to be modified */
+#define RA_SRAM_END (0x20000000 + RA_SRAM_SIZE * 1024)
+
+#ifdef __ARMCC_VERSION
+extern int Image$$RAM_END$$ZI$$Base;
+#define HEAP_BEGIN ((void *)&Image$$RAM_END$$ZI$$Base)
+#elif __ICCARM__
+#pragma section="CSTACK"
+#define HEAP_BEGIN (__segment_end("CSTACK"))
+#else
+extern int __RAM_segment_used_end__;
+#define HEAP_BEGIN (&__RAM_segment_used_end__)
+#endif
+
+#define HEAP_END RA_SRAM_END
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/bsp/renesas/libraries/bsp-template/rtconfig.h b/bsp/renesas/libraries/bsp-template/rtconfig.h
index 090e1032b999797ef6c3ae28d23fc17a75a5ca9d..f585aed5162d71c72dd3f9f033eee1de615ef60c 100644
--- a/bsp/renesas/libraries/bsp-template/rtconfig.h
+++ b/bsp/renesas/libraries/bsp-template/rtconfig.h
@@ -193,6 +193,8 @@
/* entertainment: terminal games and other interesting software packages */
+#define SOC_FAMILY_RENESAS
+#define SOC_SERIES_R7FA6M4
/* Hardware Drivers Config */
@@ -202,13 +204,14 @@
/* On-chip Peripheral Drivers */
-#define SOC_FAMILY_RENESAS
-#define SOC_SERIES_R7FA6M4
#define BSP_USING_GPIO
#define BSP_USING_UART
#define BSP_USING_UART7
#define BSP_UART7_RX_BUFSIZE 256
#define BSP_UART7_TX_BUFSIZE 0
+#define BSP_USING_UART9
+#define BSP_UART9_RX_BUFSIZE 256
+#define BSP_UART9_TX_BUFSIZE 0
/* Board extended module Drivers */
diff --git a/bsp/renesas/ra6m4-cpk/project.uvoptx b/bsp/renesas/ra6m4-cpk/project.uvoptx
index 853ddaf73279cef09edcb75302ba44acd651017c..c4f74e159403cbb14daed64880f68746bc15bef9 100644
--- a/bsp/renesas/ra6m4-cpk/project.uvoptx
+++ b/bsp/renesas/ra6m4-cpk/project.uvoptx
@@ -170,7 +170,7 @@
- :Renesas RA Smart Configurator:Common Sources
+ Compiler
0
0
0
@@ -182,6 +182,486 @@
0
0
0
+ ..\..\..\components\libc\compilers\armlibc\syscalls.c
+ syscalls.c
+ 0
+ 0
+
+
+ 1
+ 2
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\libc\compilers\armlibc\syscall_mem.c
+ syscall_mem.c
+ 0
+ 0
+
+
+ 1
+ 3
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\libc\compilers\common\stdlib.c
+ stdlib.c
+ 0
+ 0
+
+
+ 1
+ 4
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\libc\compilers\common\time.c
+ time.c
+ 0
+ 0
+
+
+
+
+ CPU
+ 0
+ 0
+ 0
+ 0
+
+ 2
+ 5
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\libcpu\arm\common\div0.c
+ div0.c
+ 0
+ 0
+
+
+ 2
+ 6
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\libcpu\arm\common\backtrace.c
+ backtrace.c
+ 0
+ 0
+
+
+ 2
+ 7
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\libcpu\arm\common\showmem.c
+ showmem.c
+ 0
+ 0
+
+
+ 2
+ 8
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\libcpu\arm\cortex-m4\cpuport.c
+ cpuport.c
+ 0
+ 0
+
+
+ 2
+ 9
+ 2
+ 0
+ 0
+ 0
+ ..\..\..\libcpu\arm\cortex-m4\context_rvds.S
+ context_rvds.S
+ 0
+ 0
+
+
+
+
+ DeviceDrivers
+ 0
+ 0
+ 0
+ 0
+
+ 3
+ 10
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\drivers\ipc\workqueue.c
+ workqueue.c
+ 0
+ 0
+
+
+ 3
+ 11
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\drivers\ipc\waitqueue.c
+ waitqueue.c
+ 0
+ 0
+
+
+ 3
+ 12
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\drivers\ipc\completion.c
+ completion.c
+ 0
+ 0
+
+
+ 3
+ 13
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\drivers\ipc\dataqueue.c
+ dataqueue.c
+ 0
+ 0
+
+
+ 3
+ 14
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\drivers\ipc\ringbuffer.c
+ ringbuffer.c
+ 0
+ 0
+
+
+ 3
+ 15
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\drivers\ipc\pipe.c
+ pipe.c
+ 0
+ 0
+
+
+ 3
+ 16
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\drivers\ipc\ringblk_buf.c
+ ringblk_buf.c
+ 0
+ 0
+
+
+ 3
+ 17
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\drivers\misc\pin.c
+ pin.c
+ 0
+ 0
+
+
+ 3
+ 18
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\drivers\serial\serial_v2.c
+ serial_v2.c
+ 0
+ 0
+
+
+
+
+ Drivers
+ 0
+ 0
+ 0
+ 0
+
+ 4
+ 19
+ 1
+ 0
+ 0
+ 0
+ ..\libraries\HAL_Drivers\drv_gpio.c
+ drv_gpio.c
+ 0
+ 0
+
+
+ 4
+ 20
+ 1
+ 0
+ 0
+ 0
+ ..\libraries\HAL_Drivers\drv_usart_v2.c
+ drv_usart_v2.c
+ 0
+ 0
+
+
+ 4
+ 21
+ 1
+ 0
+ 0
+ 0
+ ..\libraries\HAL_Drivers\drv_common.c
+ drv_common.c
+ 0
+ 0
+
+
+
+
+ Finsh
+ 0
+ 0
+ 0
+ 0
+
+ 5
+ 22
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\finsh\shell.c
+ shell.c
+ 0
+ 0
+
+
+ 5
+ 23
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\finsh\msh.c
+ msh.c
+ 0
+ 0
+
+
+ 5
+ 24
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\finsh\cmd.c
+ cmd.c
+ 0
+ 0
+
+
+
+
+ Kernel
+ 0
+ 0
+ 0
+ 0
+
+ 6
+ 25
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\src\timer.c
+ timer.c
+ 0
+ 0
+
+
+ 6
+ 26
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\src\object.c
+ object.c
+ 0
+ 0
+
+
+ 6
+ 27
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\src\ipc.c
+ ipc.c
+ 0
+ 0
+
+
+ 6
+ 28
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\src\kservice.c
+ kservice.c
+ 0
+ 0
+
+
+ 6
+ 29
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\src\mem.c
+ mem.c
+ 0
+ 0
+
+
+ 6
+ 30
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\src\thread.c
+ thread.c
+ 0
+ 0
+
+
+ 6
+ 31
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\src\device.c
+ device.c
+ 0
+ 0
+
+
+ 6
+ 32
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\src\components.c
+ components.c
+ 0
+ 0
+
+
+ 6
+ 33
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\src\scheduler.c
+ scheduler.c
+ 0
+ 0
+
+
+ 6
+ 34
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\src\clock.c
+ clock.c
+ 0
+ 0
+
+
+ 6
+ 35
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\src\idle.c
+ idle.c
+ 0
+ 0
+
+
+ 6
+ 36
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\src\irq.c
+ irq.c
+ 0
+ 0
+
+
+
+
+ :Renesas RA Smart Configurator:Common Sources
+ 0
+ 0
+ 0
+ 0
+
+ 7
+ 37
+ 1
+ 0
+ 0
+ 0
.\src\hal_entry.c
hal_entry.c
0
diff --git a/bsp/renesas/ra6m4-iot/project.uvoptx b/bsp/renesas/ra6m4-iot/project.uvoptx
index 56802c399c71f995cc7efd28da954d7f6869e57e..040d30231076281ed0391f03b4eb9b785fa2f32d 100644
--- a/bsp/renesas/ra6m4-iot/project.uvoptx
+++ b/bsp/renesas/ra6m4-iot/project.uvoptx
@@ -170,22 +170,494 @@
- Source Group 1
+ Compiler
0
0
0
0
+
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\libc\compilers\armlibc\syscall_mem.c
+ syscall_mem.c
+ 0
+ 0
+
+
+ 1
+ 2
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\libc\compilers\armlibc\syscalls.c
+ syscalls.c
+ 0
+ 0
+
+
+ 1
+ 3
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\libc\compilers\common\stdlib.c
+ stdlib.c
+ 0
+ 0
+
+
+ 1
+ 4
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\libc\compilers\common\time.c
+ time.c
+ 0
+ 0
+
- :Renesas RA Smart Configurator:Common Sources
+ CPU
0
0
0
0
2
- 1
+ 5
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\libcpu\arm\common\backtrace.c
+ backtrace.c
+ 0
+ 0
+
+
+ 2
+ 6
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\libcpu\arm\common\div0.c
+ div0.c
+ 0
+ 0
+
+
+ 2
+ 7
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\libcpu\arm\common\showmem.c
+ showmem.c
+ 0
+ 0
+
+
+ 2
+ 8
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\libcpu\arm\cortex-m4\cpuport.c
+ cpuport.c
+ 0
+ 0
+
+
+ 2
+ 9
+ 2
+ 0
+ 0
+ 0
+ ..\..\..\libcpu\arm\cortex-m4\context_rvds.S
+ context_rvds.S
+ 0
+ 0
+
+
+
+
+ DeviceDrivers
+ 0
+ 0
+ 0
+ 0
+
+ 3
+ 10
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\drivers\ipc\workqueue.c
+ workqueue.c
+ 0
+ 0
+
+
+ 3
+ 11
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\drivers\ipc\ringblk_buf.c
+ ringblk_buf.c
+ 0
+ 0
+
+
+ 3
+ 12
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\drivers\ipc\dataqueue.c
+ dataqueue.c
+ 0
+ 0
+
+
+ 3
+ 13
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\drivers\ipc\completion.c
+ completion.c
+ 0
+ 0
+
+
+ 3
+ 14
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\drivers\ipc\pipe.c
+ pipe.c
+ 0
+ 0
+
+
+ 3
+ 15
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\drivers\ipc\ringbuffer.c
+ ringbuffer.c
+ 0
+ 0
+
+
+ 3
+ 16
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\drivers\ipc\waitqueue.c
+ waitqueue.c
+ 0
+ 0
+
+
+ 3
+ 17
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\drivers\misc\pin.c
+ pin.c
+ 0
+ 0
+
+
+ 3
+ 18
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\drivers\serial\serial_v2.c
+ serial_v2.c
+ 0
+ 0
+
+
+
+
+ Drivers
+ 0
+ 0
+ 0
+ 0
+
+ 4
+ 19
+ 1
+ 0
+ 0
+ 0
+ ..\libraries\HAL_Drivers\drv_gpio.c
+ drv_gpio.c
+ 0
+ 0
+
+
+ 4
+ 20
+ 1
+ 0
+ 0
+ 0
+ ..\libraries\HAL_Drivers\drv_usart_v2.c
+ drv_usart_v2.c
+ 0
+ 0
+
+
+ 4
+ 21
+ 1
+ 0
+ 0
+ 0
+ ..\libraries\HAL_Drivers\drv_common.c
+ drv_common.c
+ 0
+ 0
+
+
+
+
+ Finsh
+ 0
+ 0
+ 0
+ 0
+
+ 5
+ 22
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\finsh\shell.c
+ shell.c
+ 0
+ 0
+
+
+ 5
+ 23
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\finsh\msh.c
+ msh.c
+ 0
+ 0
+
+
+ 5
+ 24
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\components\finsh\cmd.c
+ cmd.c
+ 0
+ 0
+
+
+
+
+ Kernel
+ 0
+ 0
+ 0
+ 0
+
+ 6
+ 25
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\src\device.c
+ device.c
+ 0
+ 0
+
+
+ 6
+ 26
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\src\timer.c
+ timer.c
+ 0
+ 0
+
+
+ 6
+ 27
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\src\scheduler.c
+ scheduler.c
+ 0
+ 0
+
+
+ 6
+ 28
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\src\ipc.c
+ ipc.c
+ 0
+ 0
+
+
+ 6
+ 29
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\src\object.c
+ object.c
+ 0
+ 0
+
+
+ 6
+ 30
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\src\components.c
+ components.c
+ 0
+ 0
+
+
+ 6
+ 31
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\src\idle.c
+ idle.c
+ 0
+ 0
+
+
+ 6
+ 32
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\src\mem.c
+ mem.c
+ 0
+ 0
+
+
+ 6
+ 33
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\src\thread.c
+ thread.c
+ 0
+ 0
+
+
+ 6
+ 34
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\src\irq.c
+ irq.c
+ 0
+ 0
+
+
+ 6
+ 35
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\src\kservice.c
+ kservice.c
+ 0
+ 0
+
+
+ 6
+ 36
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\src\clock.c
+ clock.c
+ 0
+ 0
+
+
+
+
+ :Renesas RA Smart Configurator:Common Sources
+ 0
+ 0
+ 0
+ 0
+
+ 7
+ 37
1
0
0