diff --git a/README.md b/README.md index abadded5..408f484d 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,8 @@ $ sdk-bsp-psoc_e84-edgi-talk `sdk-bsp-psoc_e84-edgi-talk` supports development using **RT-Thread Studio**. +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + ## **RT-Thread Studio Development Steps** 1. Open RT-Thread Studio and install the Edgi-Talk BSP (latest version recommended). @@ -76,6 +78,8 @@ $ sdk-bsp-psoc_e84-edgi-talk ![Build](docs/figures/3.png) ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * To modify the **graphical configuration** of the project, use the following tool to open the configuration file: ``` diff --git a/README_zh.md b/README_zh.md index 1d8fb257..b872b942 100644 --- a/README_zh.md +++ b/README_zh.md @@ -63,6 +63,7 @@ $ sdk-bsp-psoc_e84-edgi-talk `sdk-bsp-psoc_e84-edgi-talk` 支持 **RT-Thread Studio**开发方式。 + ## **RT-Thread Studio 开发步骤** 1. 打开 RT-Thread Studio,安装 Edgi-Talk 开发板支持包(建议安装最新版本)。 @@ -76,6 +77,8 @@ $ sdk-bsp-psoc_e84-edgi-talk ## 注意事项 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + * 如需修改工程的 **图形化配置**,请使用以下工具打开配置文件: ``` diff --git a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_Extend_Screen/README.md b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_Extend_Screen/README.md index 5f6b3ae8..2e04996b 100644 --- a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_Extend_Screen/README.md +++ b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_Extend_Screen/README.md @@ -83,6 +83,8 @@ The M55 core depends on the M33 boot flow. Flash in this order: ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * This project targets the M55 core in USB device mode. * For host mode, see [projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_H/README.md](../Edgi_Talk_M55_USB_H/README.md). * For M33 device mode, see [projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_D/README.md](../Edgi_Talk_M33_USB_D/README.md). diff --git a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_Extend_Screen/README_zh.md b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_Extend_Screen/README_zh.md index 0f1336ce..19fabb58 100644 --- a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_Extend_Screen/README_zh.md +++ b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_Extend_Screen/README_zh.md @@ -55,6 +55,8 @@ Windows 间接显示驱动程序 (IDD) 模型提供简单的用户模式驱动 ### 注意事项 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + * 该驱动通过 VENDOR 接口与设备进行通信,支持多种分辨率和图片格式,通过接口字符描述符来控制,具体参考:https://github.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/blob/main/README.md * 驱动仅支持 Windows 10 及 Windows 11 系统,其他系统请自行测试。 diff --git a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_D/README.md b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_D/README.md index 5c7c1293..ea5cee3c 100644 --- a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_D/README.md +++ b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_D/README.md @@ -64,6 +64,8 @@ The M55 core depends on the M33 boot flow. Flash in this order: ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * This project targets the M33 core in USB device mode. * For host mode, see [projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_H/README.md](../Edgi_Talk_M33_USB_H/README.md). * For M55 device mode, see [projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_D/README.md](../Edgi_Talk_M55_USB_D/README.md). diff --git a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_D/README_zh.md b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_D/README_zh.md index b56457d1..06ba55fb 100644 --- a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_D/README_zh.md +++ b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_D/README_zh.md @@ -64,6 +64,8 @@ M55 依赖 M33 启动流程,烧录顺序如下: ## 说明 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + * 本工程面向 M33 核心的 USB 设备模式。 * 主机模式请参考 [projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_H/README.md](../Edgi_Talk_M33_USB_H/README.md)。 * M55 设备模式请参考 [projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_D/README.md](../Edgi_Talk_M55_USB_D/README.md)。 diff --git a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_D/board/linker_scripts/link.ld b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_D/board/linker_scripts/link.ld index ebd8aea0..434fb507 100644 --- a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_D/board/linker_scripts/link.ld +++ b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_D/board/linker_scripts/link.ld @@ -121,7 +121,7 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header(READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : ALIGN(MCUBOOT_HEADER_SIZE) { . += MCUBOOT_HEADER_SIZE; } > m33_nvm_sel @@ -188,14 +188,14 @@ SECTIONS } > m33_nvm_sel /* Exception tables for ARM architecture */ - .ARM.extab (READONLY): ALIGN(4) + .ARM.extab : ALIGN(4) { *(.ARM.extab* .gnu.linkonce.armextab.*) } > m33_nvm_sel /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY): ALIGN(4) + .ARM.exidx : ALIGN(4) { __exidx_start = .; @@ -206,7 +206,7 @@ SECTIONS } > m33_nvm_sel /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY): ALIGN(4) + .copy.table : ALIGN(4) { __copy_table_start__ = .; @@ -225,7 +225,7 @@ SECTIONS } > m33_nvm_sel /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : ALIGN(4) { __zero_table_start__ = .; diff --git a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_H/README.md b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_H/README.md index 3c52c93a..d1273b3c 100644 --- a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_H/README.md +++ b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_H/README.md @@ -65,6 +65,8 @@ The M55 core depends on the M33 boot flow. Flash in this order: ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * This project targets the M33 core in USB host mode. * For device mode, see [projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_D/README.md](../Edgi_Talk_M33_USB_D/README.md). * For M55 host mode, see [projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_H/README.md](../Edgi_Talk_M55_USB_H/README.md). diff --git a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_H/README_zh.md b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_H/README_zh.md index f50c644c..d79e25a7 100644 --- a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_H/README_zh.md +++ b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_H/README_zh.md @@ -65,6 +65,8 @@ M55 依赖 M33 启动流程,烧录顺序如下: ## 说明 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + * 本工程面向 M33 核心的 USB 主机模式。 * 设备模式请参考 [projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_D/README.md](../Edgi_Talk_M33_USB_D/README.md)。 * M55 主机模式请参考 [projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_H/README.md](../Edgi_Talk_M55_USB_H/README.md)。 diff --git a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_H/board/linker_scripts/link.ld b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_H/board/linker_scripts/link.ld index 18112819..45556408 100644 --- a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_H/board/linker_scripts/link.ld +++ b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_H/board/linker_scripts/link.ld @@ -121,7 +121,7 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header(READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : ALIGN(MCUBOOT_HEADER_SIZE) { . += MCUBOOT_HEADER_SIZE; } > m33_nvm_sel @@ -188,14 +188,14 @@ SECTIONS } > m33_nvm_sel /* Exception tables for ARM architecture */ - .ARM.extab (READONLY): ALIGN(4) + .ARM.extab : ALIGN(4) { *(.ARM.extab* .gnu.linkonce.armextab.*) } > m33_nvm_sel /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY): ALIGN(4) + .ARM.exidx : ALIGN(4) { __exidx_start = .; @@ -206,7 +206,7 @@ SECTIONS } > m33_nvm_sel /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY): ALIGN(4) + .copy.table : ALIGN(4) { __copy_table_start__ = .; @@ -225,7 +225,7 @@ SECTIONS } > m33_nvm_sel /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : ALIGN(4) { __zero_table_start__ = .; diff --git a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_D/README.md b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_D/README.md index cede7f12..f9d1b164 100644 --- a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_D/README.md +++ b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_D/README.md @@ -61,6 +61,8 @@ The M55 core depends on the M33 boot flow. Flash in this order: ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * This project targets the M55 core in USB device mode. * For host mode, see [projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_H/README.md](../Edgi_Talk_M55_USB_H/README.md). * For M33 device mode, see [projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_D/README.md](../Edgi_Talk_M33_USB_D/README.md). diff --git a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_D/README_zh.md b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_D/README_zh.md index 8b898ced..c3b78931 100644 --- a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_D/README_zh.md +++ b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_D/README_zh.md @@ -61,6 +61,8 @@ M55 依赖 M33 启动流程,烧录顺序如下: ## 说明 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + * 本工程面向 M55 核心的 USB 设备模式。 * 主机模式请参考 [projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_H/README.md](../Edgi_Talk_M55_USB_H/README.md)。 * M33 设备模式请参考 [projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_D/README.md](../Edgi_Talk_M33_USB_D/README.md)。 diff --git a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_D/board/linker_scripts/link.ld b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_D/board/linker_scripts/link.ld index 6384cdf1..e532a6d6 100644 --- a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_D/board/linker_scripts/link.ld +++ b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_D/board/linker_scripts/link.ld @@ -114,15 +114,18 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header (READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : { + . = ALIGN(MCUBOOT_HEADER_SIZE); . += MCUBOOT_HEADER_SIZE; } > m55_nvm_sel /* This section is intended to hold the main application code for the Cortex-M55 */ /* Performance-sensitive or critical functions that need to be executed in sram are manually excluded */ - .app_code_main : ALIGN(VECTORS_ALIGNMENT) + .app_code_main : { + . = ALIGN(VECTORS_ALIGNMENT); + _stext = .; __text_begin = .; __Vectors = . ; /* Keep the vector table */ @@ -206,14 +209,16 @@ SECTIONS } > m55_nvm_sel /* Exception tables for ARM architecture */ - .ARM.extab (READONLY) : ALIGN(4) + .ARM.extab : { + . = ALIGN(4); *(.ARM.extab* .gnu.linkonce.armextab.*) } > m55_nvm_sel /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY) : ALIGN(4) + .ARM.exidx : { + . = ALIGN(4); __exidx_start = .; *(.ARM.exidx* .gnu.linkonce.armexidx.*) @@ -223,8 +228,9 @@ SECTIONS /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY) : ALIGN(4) + .copy.table : { + . = ALIGN(4); __copy_table_start__ = .; /* Initialized data in DTCM */ @@ -251,8 +257,9 @@ SECTIONS } > m55_nvm_sel /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : { + . = ALIGN(4); __zero_table_start__ = .; LONG(__bss_start__) /* Start of the zero-initialized data section */ @@ -262,8 +269,9 @@ SECTIONS } > m55_nvm_sel /* A section for performance-sensitive or critical functions that need to be executed in ITCM */ - .app_code_itcm : ALIGN(16) + .app_code_itcm : { + . = ALIGN(16); /* Reserving the first 16 bytes to avoid debug symbols (that have default address 0x0) to be confused with actual code */ . += 16; KEEP(*(.cy_itcm)) @@ -291,8 +299,9 @@ SECTIONS } > m55_code_INTERNAL AT > m55_nvm_sel /* A section for the vector table */ - .ram_vectors (NOLOAD) : ALIGN(VECTORS_ALIGNMENT) + .ram_vectors (NOLOAD) : { + . = ALIGN(VECTORS_ALIGNMENT); __ram_vectors_start__ = .; KEEP(*(.ram_vectors)) @@ -301,16 +310,18 @@ SECTIONS } > m55_code_INTERNAL /* A section for less performance-sensitive or critical functions that might be executed in SOC memory */ - .app_code_socmem : ALIGN(4) + .app_code_socmem : { + . = ALIGN(4); KEEP(*(.cy_socmem_code)) . = ALIGN(4); } > m55_code_secondary AT > m55_nvm_sel /* A section for initialized data memory */ - .data : ALIGN(4) + .data : { + . = ALIGN(4); __data_start__ = .; *(vtable) @@ -358,8 +369,9 @@ SECTIONS } > m55_data_INTERNAL AT > m55_nvm_sel /* A section for variables that should not be initialized during the device startup */ - .noinit (NOLOAD) : ALIGN(8) + .noinit (NOLOAD) : { + . = ALIGN(8); __noinit_start__ = .; KEEP(*(.noinit)) @@ -370,14 +382,16 @@ SECTIONS } > m55_data_INTERNAL /* A section for non-initialized data memory */ - .bss(NOLOAD) : ALIGN(4) + .bss(NOLOAD) : { + . = ALIGN(4); __bss_start__ = .; *(.bss*) *(COMMON) . = ALIGN(4); + _sstack = .; __bss_end__ = .; } > m55_data_INTERNAL @@ -393,8 +407,9 @@ SECTIONS ) /* A section for SOC memory data */ - .cy_socmem_data : ALIGN(4) + .cy_socmem_data : { + . = ALIGN(4); KEEP(*(.cy_socmem_data)) . = ALIGN(4); @@ -402,8 +417,9 @@ SECTIONS } > m55_data_secondary AT > m55_nvm_sel /* A section for the heap memory */ - .heap(NOLOAD) : ALIGN(8) + .heap(NOLOAD) : { + . = ALIGN(8); __HeapBase = .; __end__ = .; end = __end__; @@ -428,8 +444,9 @@ SECTIONS /* A section for shared RAM memory where only the Cortex-M55 can allocate data but all cores can access */ - .cy_sharedmem(NOLOAD) : ALIGN(4) + .cy_sharedmem(NOLOAD) : { + . = ALIGN(4); KEEP(*(.cy_sharedmem)) . = ALIGN(4); diff --git a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_H/README.md b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_H/README.md index 48c0e09c..4f057239 100644 --- a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_H/README.md +++ b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_H/README.md @@ -42,6 +42,8 @@ If an IP/class requires extra parameters, edit: ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * This project targets the M55 core in USB host mode. * For device mode, see [projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_D/README.md](../Edgi_Talk_M55_USB_D/README.md). * For M33 host mode, see [projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_H/README.md](../Edgi_Talk_M33_USB_H/README.md). @@ -71,6 +73,8 @@ The M55 core depends on the M33 boot flow. Flash in this order: ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * If the M55 example does not run, flash **Edgi_Talk_M33_Blink_LED** first. * Enable CM55 in the M33 project: diff --git a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_H/README_zh.md b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_H/README_zh.md index 9141974f..04832bdc 100644 --- a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_H/README_zh.md +++ b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_H/README_zh.md @@ -38,6 +38,8 @@ RT-Thread Settings -> USB -> CherryUSB ## 说明 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + * 本工程面向 M55 核心的 USB 主机模式。 * 设备模式请参考 [projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_D/README.md](../Edgi_Talk_M55_USB_D/README.md)。 * M33 主机模式请参考 [projects/Edgi_Talk_CherryUSB/Edgi_Talk_M33_USB_H/README.md](../Edgi_Talk_M33_USB_H/README.md)。 @@ -71,6 +73,8 @@ M55 依赖 M33 启动流程,烧录顺序如下: ## 说明 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + * 若 M55 工程无法正常运行,建议先编译并烧录 **Edgi_Talk_M33_Blink_LED** 工程。 * 在 **M33 工程** 中开启 CM55: diff --git a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_H/board/linker_scripts/link.ld b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_H/board/linker_scripts/link.ld index cc092732..2b9bf639 100644 --- a/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_H/board/linker_scripts/link.ld +++ b/projects/Edgi_Talk_CherryUSB/Edgi_Talk_M55_USB_H/board/linker_scripts/link.ld @@ -114,15 +114,18 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header (READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : { + . = ALIGN(MCUBOOT_HEADER_SIZE); . += MCUBOOT_HEADER_SIZE; } > m55_nvm_sel /* This section is intended to hold the main application code for the Cortex-M55 */ /* Performance-sensitive or critical functions that need to be executed in sram are manually excluded */ - .app_code_main : ALIGN(VECTORS_ALIGNMENT) + .app_code_main : { + . = ALIGN(VECTORS_ALIGNMENT); + _stext = .; __text_begin = .; __Vectors = . ; /* Keep the vector table */ @@ -211,14 +214,16 @@ SECTIONS } > m55_nvm_sel /* Exception tables for ARM architecture */ - .ARM.extab (READONLY) : ALIGN(4) + .ARM.extab : { + . = ALIGN(4); *(.ARM.extab* .gnu.linkonce.armextab.*) } > m55_nvm_sel /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY) : ALIGN(4) + .ARM.exidx : { + . = ALIGN(4); __exidx_start = .; *(.ARM.exidx* .gnu.linkonce.armexidx.*) @@ -228,8 +233,9 @@ SECTIONS /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY) : ALIGN(4) + .copy.table : { + . = ALIGN(4); __copy_table_start__ = .; /* Initialized data in DTCM */ @@ -256,8 +262,9 @@ SECTIONS } > m55_nvm_sel /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : { + . = ALIGN(4); __zero_table_start__ = .; LONG(__bss_start__) /* Start of the zero-initialized data section */ @@ -267,8 +274,9 @@ SECTIONS } > m55_nvm_sel /* A section for performance-sensitive or critical functions that need to be executed in ITCM */ - .app_code_itcm : ALIGN(16) + .app_code_itcm : { + . = ALIGN(16); /* Reserving the first 16 bytes to avoid debug symbols (that have default address 0x0) to be confused with actual code */ . += 16; KEEP(*(.cy_itcm)) @@ -296,8 +304,9 @@ SECTIONS } > m55_code_INTERNAL AT > m55_nvm_sel /* A section for the vector table */ - .ram_vectors (NOLOAD) : ALIGN(VECTORS_ALIGNMENT) + .ram_vectors (NOLOAD) : { + . = ALIGN(VECTORS_ALIGNMENT); __ram_vectors_start__ = .; KEEP(*(.ram_vectors)) @@ -306,16 +315,18 @@ SECTIONS } > m55_code_INTERNAL /* A section for less performance-sensitive or critical functions that might be executed in SOC memory */ - .app_code_socmem : ALIGN(4) + .app_code_socmem : { + . = ALIGN(4); KEEP(*(.cy_socmem_code)) . = ALIGN(4); } > m55_code_secondary AT > m55_nvm_sel /* A section for initialized data memory */ - .data : ALIGN(4) + .data : { + . = ALIGN(4); __data_start__ = .; *(vtable) @@ -363,8 +374,9 @@ SECTIONS } > m55_data_INTERNAL AT > m55_nvm_sel /* A section for variables that should not be initialized during the device startup */ - .noinit (NOLOAD) : ALIGN(8) + .noinit (NOLOAD) : { + . = ALIGN(8); __noinit_start__ = .; KEEP(*(.noinit)) @@ -375,14 +387,16 @@ SECTIONS } > m55_data_INTERNAL /* A section for non-initialized data memory */ - .bss(NOLOAD) : ALIGN(4) + .bss(NOLOAD) : { + . = ALIGN(4); __bss_start__ = .; *(.bss*) *(COMMON) . = ALIGN(4); + _sstack = .; __bss_end__ = .; } > m55_data_INTERNAL @@ -398,8 +412,9 @@ SECTIONS ) /* A section for SOC memory data */ - .cy_socmem_data : ALIGN(4) + .cy_socmem_data : { + . = ALIGN(4); KEEP(*(.cy_socmem_data)) . = ALIGN(4); @@ -407,8 +422,9 @@ SECTIONS } > m55_data_secondary AT > m55_nvm_sel /* A section for the heap memory */ - .heap(NOLOAD) : ALIGN(8) + .heap(NOLOAD) : { + . = ALIGN(8); __HeapBase = .; __end__ = .; end = __end__; @@ -433,8 +449,9 @@ SECTIONS /* A section for shared RAM memory where only the Cortex-M55 can allocate data but all cores can access */ - .cy_sharedmem(NOLOAD) : ALIGN(4) + .cy_sharedmem(NOLOAD) : { + . = ALIGN(4); KEEP(*(.cy_sharedmem)) . = ALIGN(4); diff --git a/projects/Edgi_Talk_IPC/Edgi_Talk_M33_IPC/README.md b/projects/Edgi_Talk_IPC/Edgi_Talk_M33_IPC/README.md index 4aa74e2e..afd2b09f 100644 --- a/projects/Edgi_Talk_IPC/Edgi_Talk_M33_IPC/README.md +++ b/projects/Edgi_Talk_IPC/Edgi_Talk_M33_IPC/README.md @@ -193,6 +193,8 @@ The following parameters can be modified in `libraries/HAL_Drivers/ipc_common.h` ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * This project targets M33 core as IPC sender. * For M55 receiver, see [projects/Edgi_Talk_IPC/Edgi_Talk_M55_IPC/README.md](../Edgi_Talk_M55_IPC/README.md). * IPC driver is located at `libraries/HAL_Drivers/drv_ipc.c`. diff --git a/projects/Edgi_Talk_IPC/Edgi_Talk_M33_IPC/README_zh.md b/projects/Edgi_Talk_IPC/Edgi_Talk_M33_IPC/README_zh.md index 041b5fea..7fef12eb 100644 --- a/projects/Edgi_Talk_IPC/Edgi_Talk_M33_IPC/README_zh.md +++ b/projects/Edgi_Talk_IPC/Edgi_Talk_M33_IPC/README_zh.md @@ -25,6 +25,8 @@ M33 作为**发送端**,定期向 M55 发送 "Hello M33" 消息,并接收 M5 ## 注意事项 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + ### 串口连接 本工程使用 **UART5** 作为调试串口,需要外接 **CH340 USB 转串��模块**: diff --git a/projects/Edgi_Talk_IPC/Edgi_Talk_M33_IPC/board/linker_scripts/link.ld b/projects/Edgi_Talk_IPC/Edgi_Talk_M33_IPC/board/linker_scripts/link.ld index 18112819..45556408 100644 --- a/projects/Edgi_Talk_IPC/Edgi_Talk_M33_IPC/board/linker_scripts/link.ld +++ b/projects/Edgi_Talk_IPC/Edgi_Talk_M33_IPC/board/linker_scripts/link.ld @@ -121,7 +121,7 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header(READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : ALIGN(MCUBOOT_HEADER_SIZE) { . += MCUBOOT_HEADER_SIZE; } > m33_nvm_sel @@ -188,14 +188,14 @@ SECTIONS } > m33_nvm_sel /* Exception tables for ARM architecture */ - .ARM.extab (READONLY): ALIGN(4) + .ARM.extab : ALIGN(4) { *(.ARM.extab* .gnu.linkonce.armextab.*) } > m33_nvm_sel /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY): ALIGN(4) + .ARM.exidx : ALIGN(4) { __exidx_start = .; @@ -206,7 +206,7 @@ SECTIONS } > m33_nvm_sel /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY): ALIGN(4) + .copy.table : ALIGN(4) { __copy_table_start__ = .; @@ -225,7 +225,7 @@ SECTIONS } > m33_nvm_sel /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : ALIGN(4) { __zero_table_start__ = .; diff --git a/projects/Edgi_Talk_IPC/Edgi_Talk_M55_IPC/board/linker_scripts/link.ld b/projects/Edgi_Talk_IPC/Edgi_Talk_M55_IPC/board/linker_scripts/link.ld index cc092732..e532a6d6 100644 --- a/projects/Edgi_Talk_IPC/Edgi_Talk_M55_IPC/board/linker_scripts/link.ld +++ b/projects/Edgi_Talk_IPC/Edgi_Talk_M55_IPC/board/linker_scripts/link.ld @@ -114,15 +114,18 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header (READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : { + . = ALIGN(MCUBOOT_HEADER_SIZE); . += MCUBOOT_HEADER_SIZE; } > m55_nvm_sel /* This section is intended to hold the main application code for the Cortex-M55 */ /* Performance-sensitive or critical functions that need to be executed in sram are manually excluded */ - .app_code_main : ALIGN(VECTORS_ALIGNMENT) + .app_code_main : { + . = ALIGN(VECTORS_ALIGNMENT); + _stext = .; __text_begin = .; __Vectors = . ; /* Keep the vector table */ @@ -183,11 +186,6 @@ SECTIONS KEEP(*(SORT(.rti_fn*))) __rt_init_end = .; - . = ALIGN(4); - __usbh_class_info_start__ = .; - KEEP(*(.usbh_class_info)) - __usbh_class_info_end__ = .; - __text_end = .; _etext = .; _estack = .; @@ -211,14 +209,16 @@ SECTIONS } > m55_nvm_sel /* Exception tables for ARM architecture */ - .ARM.extab (READONLY) : ALIGN(4) + .ARM.extab : { + . = ALIGN(4); *(.ARM.extab* .gnu.linkonce.armextab.*) } > m55_nvm_sel /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY) : ALIGN(4) + .ARM.exidx : { + . = ALIGN(4); __exidx_start = .; *(.ARM.exidx* .gnu.linkonce.armexidx.*) @@ -228,8 +228,9 @@ SECTIONS /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY) : ALIGN(4) + .copy.table : { + . = ALIGN(4); __copy_table_start__ = .; /* Initialized data in DTCM */ @@ -256,8 +257,9 @@ SECTIONS } > m55_nvm_sel /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : { + . = ALIGN(4); __zero_table_start__ = .; LONG(__bss_start__) /* Start of the zero-initialized data section */ @@ -267,8 +269,9 @@ SECTIONS } > m55_nvm_sel /* A section for performance-sensitive or critical functions that need to be executed in ITCM */ - .app_code_itcm : ALIGN(16) + .app_code_itcm : { + . = ALIGN(16); /* Reserving the first 16 bytes to avoid debug symbols (that have default address 0x0) to be confused with actual code */ . += 16; KEEP(*(.cy_itcm)) @@ -296,8 +299,9 @@ SECTIONS } > m55_code_INTERNAL AT > m55_nvm_sel /* A section for the vector table */ - .ram_vectors (NOLOAD) : ALIGN(VECTORS_ALIGNMENT) + .ram_vectors (NOLOAD) : { + . = ALIGN(VECTORS_ALIGNMENT); __ram_vectors_start__ = .; KEEP(*(.ram_vectors)) @@ -306,16 +310,18 @@ SECTIONS } > m55_code_INTERNAL /* A section for less performance-sensitive or critical functions that might be executed in SOC memory */ - .app_code_socmem : ALIGN(4) + .app_code_socmem : { + . = ALIGN(4); KEEP(*(.cy_socmem_code)) . = ALIGN(4); } > m55_code_secondary AT > m55_nvm_sel /* A section for initialized data memory */ - .data : ALIGN(4) + .data : { + . = ALIGN(4); __data_start__ = .; *(vtable) @@ -363,8 +369,9 @@ SECTIONS } > m55_data_INTERNAL AT > m55_nvm_sel /* A section for variables that should not be initialized during the device startup */ - .noinit (NOLOAD) : ALIGN(8) + .noinit (NOLOAD) : { + . = ALIGN(8); __noinit_start__ = .; KEEP(*(.noinit)) @@ -375,14 +382,16 @@ SECTIONS } > m55_data_INTERNAL /* A section for non-initialized data memory */ - .bss(NOLOAD) : ALIGN(4) + .bss(NOLOAD) : { + . = ALIGN(4); __bss_start__ = .; *(.bss*) *(COMMON) . = ALIGN(4); + _sstack = .; __bss_end__ = .; } > m55_data_INTERNAL @@ -398,8 +407,9 @@ SECTIONS ) /* A section for SOC memory data */ - .cy_socmem_data : ALIGN(4) + .cy_socmem_data : { + . = ALIGN(4); KEEP(*(.cy_socmem_data)) . = ALIGN(4); @@ -407,8 +417,9 @@ SECTIONS } > m55_data_secondary AT > m55_nvm_sel /* A section for the heap memory */ - .heap(NOLOAD) : ALIGN(8) + .heap(NOLOAD) : { + . = ALIGN(8); __HeapBase = .; __end__ = .; end = __end__; @@ -433,8 +444,9 @@ SECTIONS /* A section for shared RAM memory where only the Cortex-M55 can allocate data but all cores can access */ - .cy_sharedmem(NOLOAD) : ALIGN(4) + .cy_sharedmem(NOLOAD) : { + . = ALIGN(4); KEEP(*(.cy_sharedmem)) . = ALIGN(4); diff --git a/projects/Edgi_Talk_M33_ADC/README.md b/projects/Edgi_Talk_M33_ADC/README.md index 18bdb12d..c9267f41 100644 --- a/projects/Edgi_Talk_M33_ADC/README.md +++ b/projects/Edgi_Talk_M33_ADC/README.md @@ -89,6 +89,8 @@ ADC operation typically involves the following stages: ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * To modify the **graphical configuration** of the project, open the configuration file using the following tool: ``` diff --git a/projects/Edgi_Talk_M33_ADC/README_zh.md b/projects/Edgi_Talk_M33_ADC/README_zh.md index 7c75d403..4730b72c 100644 --- a/projects/Edgi_Talk_M33_ADC/README_zh.md +++ b/projects/Edgi_Talk_M33_ADC/README_zh.md @@ -72,6 +72,8 @@ ADC通常分为几个阶段: ## 注意事项 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + * 如需修改工程的 **图形化配置**,请使用以下工具打开配置文件: ``` diff --git a/projects/Edgi_Talk_M33_ADC/board/linker_scripts/link.ld b/projects/Edgi_Talk_M33_ADC/board/linker_scripts/link.ld index ebd8aea0..434fb507 100644 --- a/projects/Edgi_Talk_M33_ADC/board/linker_scripts/link.ld +++ b/projects/Edgi_Talk_M33_ADC/board/linker_scripts/link.ld @@ -121,7 +121,7 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header(READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : ALIGN(MCUBOOT_HEADER_SIZE) { . += MCUBOOT_HEADER_SIZE; } > m33_nvm_sel @@ -188,14 +188,14 @@ SECTIONS } > m33_nvm_sel /* Exception tables for ARM architecture */ - .ARM.extab (READONLY): ALIGN(4) + .ARM.extab : ALIGN(4) { *(.ARM.extab* .gnu.linkonce.armextab.*) } > m33_nvm_sel /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY): ALIGN(4) + .ARM.exidx : ALIGN(4) { __exidx_start = .; @@ -206,7 +206,7 @@ SECTIONS } > m33_nvm_sel /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY): ALIGN(4) + .copy.table : ALIGN(4) { __copy_table_start__ = .; @@ -225,7 +225,7 @@ SECTIONS } > m33_nvm_sel /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : ALIGN(4) { __zero_table_start__ = .; diff --git a/projects/Edgi_Talk_M33_AHT20/README.md b/projects/Edgi_Talk_M33_AHT20/README.md index 6b0d9fc4..287cafd3 100644 --- a/projects/Edgi_Talk_M33_AHT20/README.md +++ b/projects/Edgi_Talk_M33_AHT20/README.md @@ -76,6 +76,8 @@ msh >[I/aht10] AHT10 has been initialized! ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * To modify the **graphical configuration** of the project, open the configuration file using the following tool: ``` diff --git a/projects/Edgi_Talk_M33_AHT20/README_zh.md b/projects/Edgi_Talk_M33_AHT20/README_zh.md index 6b253d13..68912a9a 100644 --- a/projects/Edgi_Talk_M33_AHT20/README_zh.md +++ b/projects/Edgi_Talk_M33_AHT20/README_zh.md @@ -60,6 +60,8 @@ msh >[I/aht10] AHT10 has been initialized! ``` ## 注意事项 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + * 如需修改工程的 **图形化配置**,请使用以下工具打开配置文件: ``` diff --git a/projects/Edgi_Talk_M33_AHT20/board/linker_scripts/link.ld b/projects/Edgi_Talk_M33_AHT20/board/linker_scripts/link.ld index ebd8aea0..434fb507 100644 --- a/projects/Edgi_Talk_M33_AHT20/board/linker_scripts/link.ld +++ b/projects/Edgi_Talk_M33_AHT20/board/linker_scripts/link.ld @@ -121,7 +121,7 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header(READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : ALIGN(MCUBOOT_HEADER_SIZE) { . += MCUBOOT_HEADER_SIZE; } > m33_nvm_sel @@ -188,14 +188,14 @@ SECTIONS } > m33_nvm_sel /* Exception tables for ARM architecture */ - .ARM.extab (READONLY): ALIGN(4) + .ARM.extab : ALIGN(4) { *(.ARM.extab* .gnu.linkonce.armextab.*) } > m33_nvm_sel /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY): ALIGN(4) + .ARM.exidx : ALIGN(4) { __exidx_start = .; @@ -206,7 +206,7 @@ SECTIONS } > m33_nvm_sel /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY): ALIGN(4) + .copy.table : ALIGN(4) { __copy_table_start__ = .; @@ -225,7 +225,7 @@ SECTIONS } > m33_nvm_sel /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : ALIGN(4) { __zero_table_start__ = .; diff --git a/projects/Edgi_Talk_M33_Audio/README.md b/projects/Edgi_Talk_M33_Audio/README.md index 3b7deab4..62748aff 100644 --- a/projects/Edgi_Talk_M33_Audio/README.md +++ b/projects/Edgi_Talk_M33_Audio/README.md @@ -85,6 +85,8 @@ The RT-Thread Audio device driver framework forms the low-level foundation of th ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * To modify the **graphical configuration** of the project, open the configuration file using the following tool: ``` diff --git a/projects/Edgi_Talk_M33_Audio/README_zh.md b/projects/Edgi_Talk_M33_Audio/README_zh.md index 0c32967d..e33801a4 100644 --- a/projects/Edgi_Talk_M33_Audio/README_zh.md +++ b/projects/Edgi_Talk_M33_Audio/README_zh.md @@ -65,6 +65,8 @@ RT-Thread Audio 设备驱动框架是 Audio 框架的底层部分,主要负责 ## 注意事项 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + * 如需修改工程的 **图形化配置**,请使用以下工具打开配置文件: ``` diff --git a/projects/Edgi_Talk_M33_Audio/board/linker_scripts/link.ld b/projects/Edgi_Talk_M33_Audio/board/linker_scripts/link.ld index ebd8aea0..434fb507 100644 --- a/projects/Edgi_Talk_M33_Audio/board/linker_scripts/link.ld +++ b/projects/Edgi_Talk_M33_Audio/board/linker_scripts/link.ld @@ -121,7 +121,7 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header(READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : ALIGN(MCUBOOT_HEADER_SIZE) { . += MCUBOOT_HEADER_SIZE; } > m33_nvm_sel @@ -188,14 +188,14 @@ SECTIONS } > m33_nvm_sel /* Exception tables for ARM architecture */ - .ARM.extab (READONLY): ALIGN(4) + .ARM.extab : ALIGN(4) { *(.ARM.extab* .gnu.linkonce.armextab.*) } > m33_nvm_sel /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY): ALIGN(4) + .ARM.exidx : ALIGN(4) { __exidx_start = .; @@ -206,7 +206,7 @@ SECTIONS } > m33_nvm_sel /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY): ALIGN(4) + .copy.table : ALIGN(4) { __copy_table_start__ = .; @@ -225,7 +225,7 @@ SECTIONS } > m33_nvm_sel /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : ALIGN(4) { __zero_table_start__ = .; diff --git a/projects/Edgi_Talk_M33_Blink_LED/README.md b/projects/Edgi_Talk_M33_Blink_LED/README.md index 3c3b13ee..5602188c 100644 --- a/projects/Edgi_Talk_M33_Blink_LED/README.md +++ b/projects/Edgi_Talk_M33_Blink_LED/README.md @@ -68,6 +68,8 @@ The LED location on the board is shown below: ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * To modify the **graphical configuration** of the project, open the configuration file using the following tool: ``` diff --git a/projects/Edgi_Talk_M33_Blink_LED/README_zh.md b/projects/Edgi_Talk_M33_Blink_LED/README_zh.md index 85e2a986..4efab0c7 100644 --- a/projects/Edgi_Talk_M33_Blink_LED/README_zh.md +++ b/projects/Edgi_Talk_M33_Blink_LED/README_zh.md @@ -62,6 +62,8 @@ LED在开发板中的位置如下图所示: ## 注意事项 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + * 如需修改工程的 **图形化配置**,请使用以下工具打开配置文件: ``` diff --git a/projects/Edgi_Talk_M33_Blink_LED/board/linker_scripts/link.ld b/projects/Edgi_Talk_M33_Blink_LED/board/linker_scripts/link.ld index ebd8aea0..434fb507 100644 --- a/projects/Edgi_Talk_M33_Blink_LED/board/linker_scripts/link.ld +++ b/projects/Edgi_Talk_M33_Blink_LED/board/linker_scripts/link.ld @@ -121,7 +121,7 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header(READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : ALIGN(MCUBOOT_HEADER_SIZE) { . += MCUBOOT_HEADER_SIZE; } > m33_nvm_sel @@ -188,14 +188,14 @@ SECTIONS } > m33_nvm_sel /* Exception tables for ARM architecture */ - .ARM.extab (READONLY): ALIGN(4) + .ARM.extab : ALIGN(4) { *(.ARM.extab* .gnu.linkonce.armextab.*) } > m33_nvm_sel /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY): ALIGN(4) + .ARM.exidx : ALIGN(4) { __exidx_start = .; @@ -206,7 +206,7 @@ SECTIONS } > m33_nvm_sel /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY): ALIGN(4) + .copy.table : ALIGN(4) { __copy_table_start__ = .; @@ -225,7 +225,7 @@ SECTIONS } > m33_nvm_sel /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : ALIGN(4) { __zero_table_start__ = .; diff --git a/projects/Edgi_Talk_M33_CDC_Echo/README.md b/projects/Edgi_Talk_M33_CDC_Echo/README.md index 838b1978..bce11ff6 100644 --- a/projects/Edgi_Talk_M33_CDC_Echo/README.md +++ b/projects/Edgi_Talk_M33_CDC_Echo/README.md @@ -37,6 +37,7 @@ Through this project, users can quickly experience USB CDC device communication * The project structure is clear, making it easy to understand how the USB device driver runs on the **M33 core**. ## Usage +n> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. ### Build and Download @@ -81,6 +82,8 @@ hello ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * **Echo trigger condition**: Echo occurs only when the last character of the received data is a **newline `\n`**. If the input does not include `\n`, the data is stored in the buffer and will not be echoed immediately. diff --git a/projects/Edgi_Talk_M33_CDC_Echo/README_zh.md b/projects/Edgi_Talk_M33_CDC_Echo/README_zh.md index d73e9294..fed67c81 100644 --- a/projects/Edgi_Talk_M33_CDC_Echo/README_zh.md +++ b/projects/Edgi_Talk_M33_CDC_Echo/README_zh.md @@ -67,6 +67,8 @@ hello ## 注意事项 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + * **回显触发条件**: 只有当接收数据的最后一个字符为 **换行符 `\n`** 时,才会触发一次完整回显。 如果输入未包含 `\n`,数据会暂存于缓冲区,不会立即回显。 diff --git a/projects/Edgi_Talk_M33_CDC_Echo/board/linker_scripts/link.ld b/projects/Edgi_Talk_M33_CDC_Echo/board/linker_scripts/link.ld index ebd8aea0..434fb507 100644 --- a/projects/Edgi_Talk_M33_CDC_Echo/board/linker_scripts/link.ld +++ b/projects/Edgi_Talk_M33_CDC_Echo/board/linker_scripts/link.ld @@ -121,7 +121,7 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header(READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : ALIGN(MCUBOOT_HEADER_SIZE) { . += MCUBOOT_HEADER_SIZE; } > m33_nvm_sel @@ -188,14 +188,14 @@ SECTIONS } > m33_nvm_sel /* Exception tables for ARM architecture */ - .ARM.extab (READONLY): ALIGN(4) + .ARM.extab : ALIGN(4) { *(.ARM.extab* .gnu.linkonce.armextab.*) } > m33_nvm_sel /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY): ALIGN(4) + .ARM.exidx : ALIGN(4) { __exidx_start = .; @@ -206,7 +206,7 @@ SECTIONS } > m33_nvm_sel /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY): ALIGN(4) + .copy.table : ALIGN(4) { __copy_table_start__ = .; @@ -225,7 +225,7 @@ SECTIONS } > m33_nvm_sel /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : ALIGN(4) { __zero_table_start__ = .; diff --git a/projects/Edgi_Talk_M33_HyperRam/README.md b/projects/Edgi_Talk_M33_HyperRam/README.md index 52da650a..f4755eac 100644 --- a/projects/Edgi_Talk_M33_HyperRam/README.md +++ b/projects/Edgi_Talk_M33_HyperRam/README.md @@ -43,6 +43,7 @@ INIT_BOARD_EXPORT(hyperam_init); ``` ## Usage +n> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. ### Build and Download @@ -56,6 +57,8 @@ INIT_BOARD_EXPORT(hyperam_init); ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * To modify the **graphical configuration** of the project, open the configuration file using the following tool: ``` diff --git a/projects/Edgi_Talk_M33_HyperRam/README_zh.md b/projects/Edgi_Talk_M33_HyperRam/README_zh.md index dc7a5921..e5c6c9cd 100644 --- a/projects/Edgi_Talk_M33_HyperRam/README_zh.md +++ b/projects/Edgi_Talk_M33_HyperRam/README_zh.md @@ -54,6 +54,8 @@ INIT_BOARD_EXPORT(hyperam_init); ## 注意事项 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + * 如需修改工程的 **图形化配置**,请使用以下工具打开配置文件: ``` diff --git a/projects/Edgi_Talk_M33_HyperRam/board/linker_scripts/link.ld b/projects/Edgi_Talk_M33_HyperRam/board/linker_scripts/link.ld index ebd8aea0..434fb507 100644 --- a/projects/Edgi_Talk_M33_HyperRam/board/linker_scripts/link.ld +++ b/projects/Edgi_Talk_M33_HyperRam/board/linker_scripts/link.ld @@ -121,7 +121,7 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header(READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : ALIGN(MCUBOOT_HEADER_SIZE) { . += MCUBOOT_HEADER_SIZE; } > m33_nvm_sel @@ -188,14 +188,14 @@ SECTIONS } > m33_nvm_sel /* Exception tables for ARM architecture */ - .ARM.extab (READONLY): ALIGN(4) + .ARM.extab : ALIGN(4) { *(.ARM.extab* .gnu.linkonce.armextab.*) } > m33_nvm_sel /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY): ALIGN(4) + .ARM.exidx : ALIGN(4) { __exidx_start = .; @@ -206,7 +206,7 @@ SECTIONS } > m33_nvm_sel /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY): ALIGN(4) + .copy.table : ALIGN(4) { __copy_table_start__ = .; @@ -225,7 +225,7 @@ SECTIONS } > m33_nvm_sel /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : ALIGN(4) { __zero_table_start__ = .; diff --git a/projects/Edgi_Talk_M33_Key_Irq/README.md b/projects/Edgi_Talk_M33_Key_Irq/README.md index 16b67c4f..b95168cb 100644 --- a/projects/Edgi_Talk_M33_Key_Irq/README.md +++ b/projects/Edgi_Talk_M33_Key_Irq/README.md @@ -66,6 +66,7 @@ Key interrupt features: * Blue LED blinks at a 500ms period, indicating normal system operation ## Usage +n> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. ### Build and Download @@ -85,6 +86,8 @@ The button is pressed ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * To modify the **graphical configuration**, open the configuration file using the following tool: ``` diff --git a/projects/Edgi_Talk_M33_Key_Irq/README_zh.md b/projects/Edgi_Talk_M33_Key_Irq/README_zh.md index 009d7067..7bc223cd 100644 --- a/projects/Edgi_Talk_M33_Key_Irq/README_zh.md +++ b/projects/Edgi_Talk_M33_Key_Irq/README_zh.md @@ -70,6 +70,8 @@ ## 注意事项 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + * 如需修改工程的 **图形化配置**,请使用以下工具打开配置文件: ``` diff --git a/projects/Edgi_Talk_M33_Key_Irq/board/linker_scripts/link.ld b/projects/Edgi_Talk_M33_Key_Irq/board/linker_scripts/link.ld index ebd8aea0..434fb507 100644 --- a/projects/Edgi_Talk_M33_Key_Irq/board/linker_scripts/link.ld +++ b/projects/Edgi_Talk_M33_Key_Irq/board/linker_scripts/link.ld @@ -121,7 +121,7 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header(READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : ALIGN(MCUBOOT_HEADER_SIZE) { . += MCUBOOT_HEADER_SIZE; } > m33_nvm_sel @@ -188,14 +188,14 @@ SECTIONS } > m33_nvm_sel /* Exception tables for ARM architecture */ - .ARM.extab (READONLY): ALIGN(4) + .ARM.extab : ALIGN(4) { *(.ARM.extab* .gnu.linkonce.armextab.*) } > m33_nvm_sel /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY): ALIGN(4) + .ARM.exidx : ALIGN(4) { __exidx_start = .; @@ -206,7 +206,7 @@ SECTIONS } > m33_nvm_sel /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY): ALIGN(4) + .copy.table : ALIGN(4) { __copy_table_start__ = .; @@ -225,7 +225,7 @@ SECTIONS } > m33_nvm_sel /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : ALIGN(4) { __zero_table_start__ = .; diff --git a/projects/Edgi_Talk_M33_LSM6DS3/README.md b/projects/Edgi_Talk_M33_LSM6DS3/README.md index 26eb8b78..c80bd41b 100644 --- a/projects/Edgi_Talk_M33_LSM6DS3/README.md +++ b/projects/Edgi_Talk_M33_LSM6DS3/README.md @@ -60,6 +60,7 @@ Through this example, users can learn to: * Print sensor data to the serial terminal ## Usage +n> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. ### Build and Download @@ -83,6 +84,8 @@ Temperature [degC]: 26.54 ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * To modify the **graphical configuration**, open the configuration file using the following tool: ``` diff --git a/projects/Edgi_Talk_M33_LSM6DS3/README_zh.md b/projects/Edgi_Talk_M33_LSM6DS3/README_zh.md index 49634e33..645ef87c 100644 --- a/projects/Edgi_Talk_M33_LSM6DS3/README_zh.md +++ b/projects/Edgi_Talk_M33_LSM6DS3/README_zh.md @@ -75,6 +75,8 @@ Temperature [degC]: 26.54 ## 注意事项 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + * 如需修改工程的 **图形化配置**,请使用以下工具打开配置文件: ``` diff --git a/projects/Edgi_Talk_M33_LSM6DS3/board/linker_scripts/link.ld b/projects/Edgi_Talk_M33_LSM6DS3/board/linker_scripts/link.ld index ebd8aea0..434fb507 100644 --- a/projects/Edgi_Talk_M33_LSM6DS3/board/linker_scripts/link.ld +++ b/projects/Edgi_Talk_M33_LSM6DS3/board/linker_scripts/link.ld @@ -121,7 +121,7 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header(READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : ALIGN(MCUBOOT_HEADER_SIZE) { . += MCUBOOT_HEADER_SIZE; } > m33_nvm_sel @@ -188,14 +188,14 @@ SECTIONS } > m33_nvm_sel /* Exception tables for ARM architecture */ - .ARM.extab (READONLY): ALIGN(4) + .ARM.extab : ALIGN(4) { *(.ARM.extab* .gnu.linkonce.armextab.*) } > m33_nvm_sel /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY): ALIGN(4) + .ARM.exidx : ALIGN(4) { __exidx_start = .; @@ -206,7 +206,7 @@ SECTIONS } > m33_nvm_sel /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY): ALIGN(4) + .copy.table : ALIGN(4) { __copy_table_start__ = .; @@ -225,7 +225,7 @@ SECTIONS } > m33_nvm_sel /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : ALIGN(4) { __zero_table_start__ = .; diff --git a/projects/Edgi_Talk_M33_RTC/README.md b/projects/Edgi_Talk_M33_RTC/README.md index c7a8cc7d..78ab0c68 100644 --- a/projects/Edgi_Talk_M33_RTC/README.md +++ b/projects/Edgi_Talk_M33_RTC/README.md @@ -84,6 +84,7 @@ RTC consists of a **low-power oscillator + counter**: * The structure clearly demonstrates RTC driver usage on **M33 core**. ## Usage +n> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. ### Build and Download @@ -117,6 +118,8 @@ Tue Jul 1 23:59:53 2025 ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * Ensure RTC is properly connected and recognized by the system. * To modify the graphical configuration: diff --git a/projects/Edgi_Talk_M33_RTC/README_zh.md b/projects/Edgi_Talk_M33_RTC/README_zh.md index 47aeaa2c..7fa84dd3 100644 --- a/projects/Edgi_Talk_M33_RTC/README_zh.md +++ b/projects/Edgi_Talk_M33_RTC/README_zh.md @@ -118,6 +118,8 @@ Tue Jul 1 23:59:53 2025 ## 注意事项 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + * 请确保 RTC 设备已正确连接并可被系统识别。 * 如需修改工程的 **图形化配置**,请使用以下工具打开配置文件: diff --git a/projects/Edgi_Talk_M33_RTC/board/linker_scripts/link.ld b/projects/Edgi_Talk_M33_RTC/board/linker_scripts/link.ld index ebd8aea0..434fb507 100644 --- a/projects/Edgi_Talk_M33_RTC/board/linker_scripts/link.ld +++ b/projects/Edgi_Talk_M33_RTC/board/linker_scripts/link.ld @@ -121,7 +121,7 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header(READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : ALIGN(MCUBOOT_HEADER_SIZE) { . += MCUBOOT_HEADER_SIZE; } > m33_nvm_sel @@ -188,14 +188,14 @@ SECTIONS } > m33_nvm_sel /* Exception tables for ARM architecture */ - .ARM.extab (READONLY): ALIGN(4) + .ARM.extab : ALIGN(4) { *(.ARM.extab* .gnu.linkonce.armextab.*) } > m33_nvm_sel /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY): ALIGN(4) + .ARM.exidx : ALIGN(4) { __exidx_start = .; @@ -206,7 +206,7 @@ SECTIONS } > m33_nvm_sel /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY): ALIGN(4) + .copy.table : ALIGN(4) { __copy_table_start__ = .; @@ -225,7 +225,7 @@ SECTIONS } > m33_nvm_sel /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : ALIGN(4) { __zero_table_start__ = .; diff --git a/projects/Edgi_Talk_M33_SDCARD/README.md b/projects/Edgi_Talk_M33_SDCARD/README.md index c5433151..fefc1313 100644 --- a/projects/Edgi_Talk_M33_SDCARD/README.md +++ b/projects/Edgi_Talk_M33_SDCARD/README.md @@ -91,6 +91,7 @@ Key features: * Provides a clear example of **RT-Thread filesystem and SD card interface usage**. ## Usage +n> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. ### Build and Download @@ -137,6 +138,8 @@ Hello RT-Thread SDCARD! ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * Ensure the SD card is inserted and formatted with FAT filesystem (FAT16/FAT32). * To modify graphical configuration: diff --git a/projects/Edgi_Talk_M33_SDCARD/README_zh.md b/projects/Edgi_Talk_M33_SDCARD/README_zh.md index ad3dbde6..032867fd 100644 --- a/projects/Edgi_Talk_M33_SDCARD/README_zh.md +++ b/projects/Edgi_Talk_M33_SDCARD/README_zh.md @@ -159,6 +159,8 @@ Hello RT-Thread SDCARD! ## 注意事项 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + * 请确保 SD 卡已正确插入且格式化为 FAT 文件系统(FAT16/FAT32)。 * 如需修改工程的 **图形化配置**,请使用以下工具打开配置文件: diff --git a/projects/Edgi_Talk_M33_SDCARD/board/linker_scripts/link.ld b/projects/Edgi_Talk_M33_SDCARD/board/linker_scripts/link.ld index ebd8aea0..434fb507 100644 --- a/projects/Edgi_Talk_M33_SDCARD/board/linker_scripts/link.ld +++ b/projects/Edgi_Talk_M33_SDCARD/board/linker_scripts/link.ld @@ -121,7 +121,7 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header(READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : ALIGN(MCUBOOT_HEADER_SIZE) { . += MCUBOOT_HEADER_SIZE; } > m33_nvm_sel @@ -188,14 +188,14 @@ SECTIONS } > m33_nvm_sel /* Exception tables for ARM architecture */ - .ARM.extab (READONLY): ALIGN(4) + .ARM.extab : ALIGN(4) { *(.ARM.extab* .gnu.linkonce.armextab.*) } > m33_nvm_sel /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY): ALIGN(4) + .ARM.exidx : ALIGN(4) { __exidx_start = .; @@ -206,7 +206,7 @@ SECTIONS } > m33_nvm_sel /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY): ALIGN(4) + .copy.table : ALIGN(4) { __copy_table_start__ = .; @@ -225,7 +225,7 @@ SECTIONS } > m33_nvm_sel /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : ALIGN(4) { __zero_table_start__ = .; diff --git a/projects/Edgi_Talk_M33_S_HyperRam/README.md b/projects/Edgi_Talk_M33_S_HyperRam/README.md index e20e7c56..b98c8e8f 100644 --- a/projects/Edgi_Talk_M33_S_HyperRam/README.md +++ b/projects/Edgi_Talk_M33_S_HyperRam/README.md @@ -102,6 +102,7 @@ Internally it uses DRAM technology with **self-refresh**, but externally it beha * The project code structure is simple and clear, making it easy to understand and port. ## Usage +n> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. ### Build and Download @@ -116,6 +117,8 @@ Internally it uses DRAM technology with **self-refresh**, but externally it beha ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * To modify the **graphical configuration**, open the configuration file using the following tool: ``` diff --git a/projects/Edgi_Talk_M33_S_HyperRam/README_zh.md b/projects/Edgi_Talk_M33_S_HyperRam/README_zh.md index 9d95b3ea..1b826bc0 100644 --- a/projects/Edgi_Talk_M33_S_HyperRam/README_zh.md +++ b/projects/Edgi_Talk_M33_S_HyperRam/README_zh.md @@ -105,6 +105,8 @@ HyperRAM 通过 **命令+地址+数据** 的方式访问: ## 注意事项 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + * 如需修改工程的 **图形化配置**,请使用以下工具打开配置文件: ``` diff --git a/projects/Edgi_Talk_M33_S_HyperRam/linkscripts/pse84_s_cm33.ld b/projects/Edgi_Talk_M33_S_HyperRam/linkscripts/pse84_s_cm33.ld index d00de4c1..4448310d 100644 --- a/projects/Edgi_Talk_M33_S_HyperRam/linkscripts/pse84_s_cm33.ld +++ b/projects/Edgi_Talk_M33_S_HyperRam/linkscripts/pse84_s_cm33.ld @@ -398,7 +398,7 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header(READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : ALIGN(MCUBOOT_HEADER_SIZE) { . += MCUBOOT_HEADER_SIZE; } > m33s_nvm_sel_S @@ -487,14 +487,14 @@ SECTIONS } > m33s_nvm_sel_S /* Exception tables for ARM architecture */ - .ARM.extab (READONLY): ALIGN(4) + .ARM.extab : ALIGN(4) { *(.ARM.extab* .gnu.linkonce.armextab.*) } > m33s_nvm_sel_S /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY): ALIGN(4) + .ARM.exidx : ALIGN(4) { __exidx_start = .; @@ -505,7 +505,7 @@ SECTIONS /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY): ALIGN(4) + .copy.table : ALIGN(4) { __copy_table_start__ = .; @@ -523,7 +523,7 @@ SECTIONS } > m33s_nvm_sel_S /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : ALIGN(4) { __zero_table_start__ = .; diff --git a/projects/Edgi_Talk_M33_S_Template/README.md b/projects/Edgi_Talk_M33_S_Template/README.md index a31121f2..099870aa 100644 --- a/projects/Edgi_Talk_M33_S_Template/README.md +++ b/projects/Edgi_Talk_M33_S_Template/README.md @@ -19,6 +19,7 @@ It can also serve as a **template** for further development or project creation, * The project code is structured clearly, making it easy to understand and port. ## Usage +n> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. ### Build and Download @@ -33,6 +34,8 @@ It can also serve as a **template** for further development or project creation, ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * To modify the **graphical configuration**, use the following tools: ```text diff --git a/projects/Edgi_Talk_M33_S_Template/README_zh.md b/projects/Edgi_Talk_M33_S_Template/README_zh.md index dbcf1171..254658cb 100644 --- a/projects/Edgi_Talk_M33_S_Template/README_zh.md +++ b/projects/Edgi_Talk_M33_S_Template/README_zh.md @@ -31,6 +31,8 @@ ## 注意事项 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + * 如需修改工程的 **图形化配置**,请使用以下工具打开配置文件: ``` diff --git a/projects/Edgi_Talk_M33_S_Template/linkscripts/pse84_s_cm33.ld b/projects/Edgi_Talk_M33_S_Template/linkscripts/pse84_s_cm33.ld index d00de4c1..4448310d 100644 --- a/projects/Edgi_Talk_M33_S_Template/linkscripts/pse84_s_cm33.ld +++ b/projects/Edgi_Talk_M33_S_Template/linkscripts/pse84_s_cm33.ld @@ -398,7 +398,7 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header(READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : ALIGN(MCUBOOT_HEADER_SIZE) { . += MCUBOOT_HEADER_SIZE; } > m33s_nvm_sel_S @@ -487,14 +487,14 @@ SECTIONS } > m33s_nvm_sel_S /* Exception tables for ARM architecture */ - .ARM.extab (READONLY): ALIGN(4) + .ARM.extab : ALIGN(4) { *(.ARM.extab* .gnu.linkonce.armextab.*) } > m33s_nvm_sel_S /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY): ALIGN(4) + .ARM.exidx : ALIGN(4) { __exidx_start = .; @@ -505,7 +505,7 @@ SECTIONS /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY): ALIGN(4) + .copy.table : ALIGN(4) { __copy_table_start__ = .; @@ -523,7 +523,7 @@ SECTIONS } > m33s_nvm_sel_S /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : ALIGN(4) { __zero_table_start__ = .; diff --git a/projects/Edgi_Talk_M33_Template/README.md b/projects/Edgi_Talk_M33_Template/README.md index c4c7bb4f..f3620298 100644 --- a/projects/Edgi_Talk_M33_Template/README.md +++ b/projects/Edgi_Talk_M33_Template/README.md @@ -24,6 +24,7 @@ This project can also serve as a **template** for further development or project * The project structure is clear, making it a good starting point for learning RT-Thread or developing applications. ## Usage +n> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. ### Build and Download @@ -46,6 +47,8 @@ This project can also serve as a **template** for further development or project ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * To modify the **graphical configuration**, use the following tools: ```text diff --git a/projects/Edgi_Talk_M33_Template/README_zh.md b/projects/Edgi_Talk_M33_Template/README_zh.md index 0049115b..259a8309 100644 --- a/projects/Edgi_Talk_M33_Template/README_zh.md +++ b/projects/Edgi_Talk_M33_Template/README_zh.md @@ -40,6 +40,8 @@ ## 注意事项 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + * 如需修改工程的 **图形化配置**,请使用以下工具打开配置文件: diff --git a/projects/Edgi_Talk_M33_Template/board/linker_scripts/link.ld b/projects/Edgi_Talk_M33_Template/board/linker_scripts/link.ld index ebd8aea0..434fb507 100644 --- a/projects/Edgi_Talk_M33_Template/board/linker_scripts/link.ld +++ b/projects/Edgi_Talk_M33_Template/board/linker_scripts/link.ld @@ -121,7 +121,7 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header(READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : ALIGN(MCUBOOT_HEADER_SIZE) { . += MCUBOOT_HEADER_SIZE; } > m33_nvm_sel @@ -188,14 +188,14 @@ SECTIONS } > m33_nvm_sel /* Exception tables for ARM architecture */ - .ARM.extab (READONLY): ALIGN(4) + .ARM.extab : ALIGN(4) { *(.ARM.extab* .gnu.linkonce.armextab.*) } > m33_nvm_sel /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY): ALIGN(4) + .ARM.exidx : ALIGN(4) { __exidx_start = .; @@ -206,7 +206,7 @@ SECTIONS } > m33_nvm_sel /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY): ALIGN(4) + .copy.table : ALIGN(4) { __copy_table_start__ = .; @@ -225,7 +225,7 @@ SECTIONS } > m33_nvm_sel /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : ALIGN(4) { __zero_table_start__ = .; diff --git a/projects/Edgi_Talk_M33_WavPlayer/README.md b/projects/Edgi_Talk_M33_WavPlayer/README.md index 0600ab92..6b6c2904 100644 --- a/projects/Edgi_Talk_M33_WavPlayer/README.md +++ b/projects/Edgi_Talk_M33_WavPlayer/README.md @@ -49,6 +49,7 @@ It allows users to experience WAV file parsing, playback mechanism, and verify a * Provides a clear example of **audio playback driver integration with RT-Thread filesystem**. ## Usage +n> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. ### Build and Download diff --git a/projects/Edgi_Talk_M33_WavPlayer/board/linker_scripts/link.ld b/projects/Edgi_Talk_M33_WavPlayer/board/linker_scripts/link.ld index ebd8aea0..434fb507 100644 --- a/projects/Edgi_Talk_M33_WavPlayer/board/linker_scripts/link.ld +++ b/projects/Edgi_Talk_M33_WavPlayer/board/linker_scripts/link.ld @@ -121,7 +121,7 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header(READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : ALIGN(MCUBOOT_HEADER_SIZE) { . += MCUBOOT_HEADER_SIZE; } > m33_nvm_sel @@ -188,14 +188,14 @@ SECTIONS } > m33_nvm_sel /* Exception tables for ARM architecture */ - .ARM.extab (READONLY): ALIGN(4) + .ARM.extab : ALIGN(4) { *(.ARM.extab* .gnu.linkonce.armextab.*) } > m33_nvm_sel /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY): ALIGN(4) + .ARM.exidx : ALIGN(4) { __exidx_start = .; @@ -206,7 +206,7 @@ SECTIONS } > m33_nvm_sel /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY): ALIGN(4) + .copy.table : ALIGN(4) { __copy_table_start__ = .; @@ -225,7 +225,7 @@ SECTIONS } > m33_nvm_sel /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : ALIGN(4) { __zero_table_start__ = .; diff --git a/projects/Edgi_Talk_M55_Blink_LED/README.md b/projects/Edgi_Talk_M55_Blink_LED/README.md index 932ba89d..7ae502af 100644 --- a/projects/Edgi_Talk_M55_Blink_LED/README.md +++ b/projects/Edgi_Talk_M55_Blink_LED/README.md @@ -52,6 +52,7 @@ The position of the LEDs on the development board is shown below: * The project structure is simple and helps users understand LED control logic and hardware driver interfaces. ## Usage +n> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. ### Build and Download @@ -67,6 +68,8 @@ The position of the LEDs on the development board is shown below: ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * To modify the **graphical configuration** of the project, open the configuration file using the following tool: ``` diff --git a/projects/Edgi_Talk_M55_Blink_LED/README_zh.md b/projects/Edgi_Talk_M55_Blink_LED/README_zh.md index 8d6dec56..7cea34c1 100644 --- a/projects/Edgi_Talk_M55_Blink_LED/README_zh.md +++ b/projects/Edgi_Talk_M55_Blink_LED/README_zh.md @@ -62,6 +62,8 @@ LED在开发板中的位置如下图所示: ## 注意事项 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + * 如需修改工程的 **图形化配置**,请使用以下工具打开配置文件: ``` diff --git a/projects/Edgi_Talk_M55_Blink_LED/board/linker_scripts/link.ld b/projects/Edgi_Talk_M55_Blink_LED/board/linker_scripts/link.ld index 6384cdf1..e532a6d6 100644 --- a/projects/Edgi_Talk_M55_Blink_LED/board/linker_scripts/link.ld +++ b/projects/Edgi_Talk_M55_Blink_LED/board/linker_scripts/link.ld @@ -114,15 +114,18 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header (READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : { + . = ALIGN(MCUBOOT_HEADER_SIZE); . += MCUBOOT_HEADER_SIZE; } > m55_nvm_sel /* This section is intended to hold the main application code for the Cortex-M55 */ /* Performance-sensitive or critical functions that need to be executed in sram are manually excluded */ - .app_code_main : ALIGN(VECTORS_ALIGNMENT) + .app_code_main : { + . = ALIGN(VECTORS_ALIGNMENT); + _stext = .; __text_begin = .; __Vectors = . ; /* Keep the vector table */ @@ -206,14 +209,16 @@ SECTIONS } > m55_nvm_sel /* Exception tables for ARM architecture */ - .ARM.extab (READONLY) : ALIGN(4) + .ARM.extab : { + . = ALIGN(4); *(.ARM.extab* .gnu.linkonce.armextab.*) } > m55_nvm_sel /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY) : ALIGN(4) + .ARM.exidx : { + . = ALIGN(4); __exidx_start = .; *(.ARM.exidx* .gnu.linkonce.armexidx.*) @@ -223,8 +228,9 @@ SECTIONS /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY) : ALIGN(4) + .copy.table : { + . = ALIGN(4); __copy_table_start__ = .; /* Initialized data in DTCM */ @@ -251,8 +257,9 @@ SECTIONS } > m55_nvm_sel /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : { + . = ALIGN(4); __zero_table_start__ = .; LONG(__bss_start__) /* Start of the zero-initialized data section */ @@ -262,8 +269,9 @@ SECTIONS } > m55_nvm_sel /* A section for performance-sensitive or critical functions that need to be executed in ITCM */ - .app_code_itcm : ALIGN(16) + .app_code_itcm : { + . = ALIGN(16); /* Reserving the first 16 bytes to avoid debug symbols (that have default address 0x0) to be confused with actual code */ . += 16; KEEP(*(.cy_itcm)) @@ -291,8 +299,9 @@ SECTIONS } > m55_code_INTERNAL AT > m55_nvm_sel /* A section for the vector table */ - .ram_vectors (NOLOAD) : ALIGN(VECTORS_ALIGNMENT) + .ram_vectors (NOLOAD) : { + . = ALIGN(VECTORS_ALIGNMENT); __ram_vectors_start__ = .; KEEP(*(.ram_vectors)) @@ -301,16 +310,18 @@ SECTIONS } > m55_code_INTERNAL /* A section for less performance-sensitive or critical functions that might be executed in SOC memory */ - .app_code_socmem : ALIGN(4) + .app_code_socmem : { + . = ALIGN(4); KEEP(*(.cy_socmem_code)) . = ALIGN(4); } > m55_code_secondary AT > m55_nvm_sel /* A section for initialized data memory */ - .data : ALIGN(4) + .data : { + . = ALIGN(4); __data_start__ = .; *(vtable) @@ -358,8 +369,9 @@ SECTIONS } > m55_data_INTERNAL AT > m55_nvm_sel /* A section for variables that should not be initialized during the device startup */ - .noinit (NOLOAD) : ALIGN(8) + .noinit (NOLOAD) : { + . = ALIGN(8); __noinit_start__ = .; KEEP(*(.noinit)) @@ -370,14 +382,16 @@ SECTIONS } > m55_data_INTERNAL /* A section for non-initialized data memory */ - .bss(NOLOAD) : ALIGN(4) + .bss(NOLOAD) : { + . = ALIGN(4); __bss_start__ = .; *(.bss*) *(COMMON) . = ALIGN(4); + _sstack = .; __bss_end__ = .; } > m55_data_INTERNAL @@ -393,8 +407,9 @@ SECTIONS ) /* A section for SOC memory data */ - .cy_socmem_data : ALIGN(4) + .cy_socmem_data : { + . = ALIGN(4); KEEP(*(.cy_socmem_data)) . = ALIGN(4); @@ -402,8 +417,9 @@ SECTIONS } > m55_data_secondary AT > m55_nvm_sel /* A section for the heap memory */ - .heap(NOLOAD) : ALIGN(8) + .heap(NOLOAD) : { + . = ALIGN(8); __HeapBase = .; __end__ = .; end = __end__; @@ -428,8 +444,9 @@ SECTIONS /* A section for shared RAM memory where only the Cortex-M55 can allocate data but all cores can access */ - .cy_sharedmem(NOLOAD) : ALIGN(4) + .cy_sharedmem(NOLOAD) : { + . = ALIGN(4); KEEP(*(.cy_sharedmem)) . = ALIGN(4); diff --git a/projects/Edgi_Talk_M55_CoreMark/README.md b/projects/Edgi_Talk_M55_CoreMark/README.md index 1c989d4b..c615a8c7 100644 --- a/projects/Edgi_Talk_M55_CoreMark/README.md +++ b/projects/Edgi_Talk_M55_CoreMark/README.md @@ -47,6 +47,7 @@ The output is represented as **CoreMark/MHz** or **CoreMark**, which allows perf * The project has a clean structure, making it easy to understand the M55 startup process and performance testing method. ## Usage +n> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. ### Build and Download @@ -99,6 +100,8 @@ CoreMark 1.0 : 1200 / GCC10.2.1 20201103 (release) / STACK ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * To modify the **graphical configuration** of the project, open the configuration file using the following tool: ``` diff --git a/projects/Edgi_Talk_M55_CoreMark/README_zh.md b/projects/Edgi_Talk_M55_CoreMark/README_zh.md index cd929620..4fc27cd3 100644 --- a/projects/Edgi_Talk_M55_CoreMark/README_zh.md +++ b/projects/Edgi_Talk_M55_CoreMark/README_zh.md @@ -93,6 +93,8 @@ CoreMark 1.0 : 1200 / GCC10.2.1 20201103 (release) / STACK ## 注意事项 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + * 如需修改工程的 **图形化配置**,请使用以下工具打开配置文件: ``` diff --git a/projects/Edgi_Talk_M55_CoreMark/board/linker_scripts/link.ld b/projects/Edgi_Talk_M55_CoreMark/board/linker_scripts/link.ld index 6384cdf1..e532a6d6 100644 --- a/projects/Edgi_Talk_M55_CoreMark/board/linker_scripts/link.ld +++ b/projects/Edgi_Talk_M55_CoreMark/board/linker_scripts/link.ld @@ -114,15 +114,18 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header (READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : { + . = ALIGN(MCUBOOT_HEADER_SIZE); . += MCUBOOT_HEADER_SIZE; } > m55_nvm_sel /* This section is intended to hold the main application code for the Cortex-M55 */ /* Performance-sensitive or critical functions that need to be executed in sram are manually excluded */ - .app_code_main : ALIGN(VECTORS_ALIGNMENT) + .app_code_main : { + . = ALIGN(VECTORS_ALIGNMENT); + _stext = .; __text_begin = .; __Vectors = . ; /* Keep the vector table */ @@ -206,14 +209,16 @@ SECTIONS } > m55_nvm_sel /* Exception tables for ARM architecture */ - .ARM.extab (READONLY) : ALIGN(4) + .ARM.extab : { + . = ALIGN(4); *(.ARM.extab* .gnu.linkonce.armextab.*) } > m55_nvm_sel /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY) : ALIGN(4) + .ARM.exidx : { + . = ALIGN(4); __exidx_start = .; *(.ARM.exidx* .gnu.linkonce.armexidx.*) @@ -223,8 +228,9 @@ SECTIONS /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY) : ALIGN(4) + .copy.table : { + . = ALIGN(4); __copy_table_start__ = .; /* Initialized data in DTCM */ @@ -251,8 +257,9 @@ SECTIONS } > m55_nvm_sel /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : { + . = ALIGN(4); __zero_table_start__ = .; LONG(__bss_start__) /* Start of the zero-initialized data section */ @@ -262,8 +269,9 @@ SECTIONS } > m55_nvm_sel /* A section for performance-sensitive or critical functions that need to be executed in ITCM */ - .app_code_itcm : ALIGN(16) + .app_code_itcm : { + . = ALIGN(16); /* Reserving the first 16 bytes to avoid debug symbols (that have default address 0x0) to be confused with actual code */ . += 16; KEEP(*(.cy_itcm)) @@ -291,8 +299,9 @@ SECTIONS } > m55_code_INTERNAL AT > m55_nvm_sel /* A section for the vector table */ - .ram_vectors (NOLOAD) : ALIGN(VECTORS_ALIGNMENT) + .ram_vectors (NOLOAD) : { + . = ALIGN(VECTORS_ALIGNMENT); __ram_vectors_start__ = .; KEEP(*(.ram_vectors)) @@ -301,16 +310,18 @@ SECTIONS } > m55_code_INTERNAL /* A section for less performance-sensitive or critical functions that might be executed in SOC memory */ - .app_code_socmem : ALIGN(4) + .app_code_socmem : { + . = ALIGN(4); KEEP(*(.cy_socmem_code)) . = ALIGN(4); } > m55_code_secondary AT > m55_nvm_sel /* A section for initialized data memory */ - .data : ALIGN(4) + .data : { + . = ALIGN(4); __data_start__ = .; *(vtable) @@ -358,8 +369,9 @@ SECTIONS } > m55_data_INTERNAL AT > m55_nvm_sel /* A section for variables that should not be initialized during the device startup */ - .noinit (NOLOAD) : ALIGN(8) + .noinit (NOLOAD) : { + . = ALIGN(8); __noinit_start__ = .; KEEP(*(.noinit)) @@ -370,14 +382,16 @@ SECTIONS } > m55_data_INTERNAL /* A section for non-initialized data memory */ - .bss(NOLOAD) : ALIGN(4) + .bss(NOLOAD) : { + . = ALIGN(4); __bss_start__ = .; *(.bss*) *(COMMON) . = ALIGN(4); + _sstack = .; __bss_end__ = .; } > m55_data_INTERNAL @@ -393,8 +407,9 @@ SECTIONS ) /* A section for SOC memory data */ - .cy_socmem_data : ALIGN(4) + .cy_socmem_data : { + . = ALIGN(4); KEEP(*(.cy_socmem_data)) . = ALIGN(4); @@ -402,8 +417,9 @@ SECTIONS } > m55_data_secondary AT > m55_nvm_sel /* A section for the heap memory */ - .heap(NOLOAD) : ALIGN(8) + .heap(NOLOAD) : { + . = ALIGN(8); __HeapBase = .; __end__ = .; end = __end__; @@ -428,8 +444,9 @@ SECTIONS /* A section for shared RAM memory where only the Cortex-M55 can allocate data but all cores can access */ - .cy_sharedmem(NOLOAD) : ALIGN(4) + .cy_sharedmem(NOLOAD) : { + . = ALIGN(4); KEEP(*(.cy_sharedmem)) . = ALIGN(4); diff --git a/projects/Edgi_Talk_M55_LVGL/README.md b/projects/Edgi_Talk_M55_LVGL/README.md index a8105f76..f7faabe4 100644 --- a/projects/Edgi_Talk_M55_LVGL/README.md +++ b/projects/Edgi_Talk_M55_LVGL/README.md @@ -82,6 +82,7 @@ LVGL is **MIT licensed** and supported by **SquareLine Studio** for GUI design a * Code structure is clear for understanding display driver integration and LVGL porting. ## Usage +n> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. ### Build and Download @@ -96,6 +97,8 @@ LVGL is **MIT licensed** and supported by **SquareLine Studio** for GUI design a ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * To modify the **graphical configuration**, use: ``` diff --git a/projects/Edgi_Talk_M55_LVGL/README_zh.md b/projects/Edgi_Talk_M55_LVGL/README_zh.md index f05d7560..6d7426d5 100644 --- a/projects/Edgi_Talk_M55_LVGL/README_zh.md +++ b/projects/Edgi_Talk_M55_LVGL/README_zh.md @@ -75,6 +75,8 @@ LVGL 作为一个开源项目,采用 **MIT License** 开源协议,既适合 ## 注意事项 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + * 如需修改工程的 **图形化配置**,请使用以下工具打开配置文件: ``` diff --git a/projects/Edgi_Talk_M55_LVGL/board/linker_scripts/link.ld b/projects/Edgi_Talk_M55_LVGL/board/linker_scripts/link.ld index 6384cdf1..e532a6d6 100644 --- a/projects/Edgi_Talk_M55_LVGL/board/linker_scripts/link.ld +++ b/projects/Edgi_Talk_M55_LVGL/board/linker_scripts/link.ld @@ -114,15 +114,18 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header (READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : { + . = ALIGN(MCUBOOT_HEADER_SIZE); . += MCUBOOT_HEADER_SIZE; } > m55_nvm_sel /* This section is intended to hold the main application code for the Cortex-M55 */ /* Performance-sensitive or critical functions that need to be executed in sram are manually excluded */ - .app_code_main : ALIGN(VECTORS_ALIGNMENT) + .app_code_main : { + . = ALIGN(VECTORS_ALIGNMENT); + _stext = .; __text_begin = .; __Vectors = . ; /* Keep the vector table */ @@ -206,14 +209,16 @@ SECTIONS } > m55_nvm_sel /* Exception tables for ARM architecture */ - .ARM.extab (READONLY) : ALIGN(4) + .ARM.extab : { + . = ALIGN(4); *(.ARM.extab* .gnu.linkonce.armextab.*) } > m55_nvm_sel /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY) : ALIGN(4) + .ARM.exidx : { + . = ALIGN(4); __exidx_start = .; *(.ARM.exidx* .gnu.linkonce.armexidx.*) @@ -223,8 +228,9 @@ SECTIONS /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY) : ALIGN(4) + .copy.table : { + . = ALIGN(4); __copy_table_start__ = .; /* Initialized data in DTCM */ @@ -251,8 +257,9 @@ SECTIONS } > m55_nvm_sel /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : { + . = ALIGN(4); __zero_table_start__ = .; LONG(__bss_start__) /* Start of the zero-initialized data section */ @@ -262,8 +269,9 @@ SECTIONS } > m55_nvm_sel /* A section for performance-sensitive or critical functions that need to be executed in ITCM */ - .app_code_itcm : ALIGN(16) + .app_code_itcm : { + . = ALIGN(16); /* Reserving the first 16 bytes to avoid debug symbols (that have default address 0x0) to be confused with actual code */ . += 16; KEEP(*(.cy_itcm)) @@ -291,8 +299,9 @@ SECTIONS } > m55_code_INTERNAL AT > m55_nvm_sel /* A section for the vector table */ - .ram_vectors (NOLOAD) : ALIGN(VECTORS_ALIGNMENT) + .ram_vectors (NOLOAD) : { + . = ALIGN(VECTORS_ALIGNMENT); __ram_vectors_start__ = .; KEEP(*(.ram_vectors)) @@ -301,16 +310,18 @@ SECTIONS } > m55_code_INTERNAL /* A section for less performance-sensitive or critical functions that might be executed in SOC memory */ - .app_code_socmem : ALIGN(4) + .app_code_socmem : { + . = ALIGN(4); KEEP(*(.cy_socmem_code)) . = ALIGN(4); } > m55_code_secondary AT > m55_nvm_sel /* A section for initialized data memory */ - .data : ALIGN(4) + .data : { + . = ALIGN(4); __data_start__ = .; *(vtable) @@ -358,8 +369,9 @@ SECTIONS } > m55_data_INTERNAL AT > m55_nvm_sel /* A section for variables that should not be initialized during the device startup */ - .noinit (NOLOAD) : ALIGN(8) + .noinit (NOLOAD) : { + . = ALIGN(8); __noinit_start__ = .; KEEP(*(.noinit)) @@ -370,14 +382,16 @@ SECTIONS } > m55_data_INTERNAL /* A section for non-initialized data memory */ - .bss(NOLOAD) : ALIGN(4) + .bss(NOLOAD) : { + . = ALIGN(4); __bss_start__ = .; *(.bss*) *(COMMON) . = ALIGN(4); + _sstack = .; __bss_end__ = .; } > m55_data_INTERNAL @@ -393,8 +407,9 @@ SECTIONS ) /* A section for SOC memory data */ - .cy_socmem_data : ALIGN(4) + .cy_socmem_data : { + . = ALIGN(4); KEEP(*(.cy_socmem_data)) . = ALIGN(4); @@ -402,8 +417,9 @@ SECTIONS } > m55_data_secondary AT > m55_nvm_sel /* A section for the heap memory */ - .heap(NOLOAD) : ALIGN(8) + .heap(NOLOAD) : { + . = ALIGN(8); __HeapBase = .; __end__ = .; end = __end__; @@ -428,8 +444,9 @@ SECTIONS /* A section for shared RAM memory where only the Cortex-M55 can allocate data but all cores can access */ - .cy_sharedmem(NOLOAD) : ALIGN(4) + .cy_sharedmem(NOLOAD) : { + . = ALIGN(4); KEEP(*(.cy_sharedmem)) . = ALIGN(4); diff --git a/projects/Edgi_Talk_M55_MIPI_LCD/README.md b/projects/Edgi_Talk_M55_MIPI_LCD/README.md index 41ba32f3..72ce3534 100644 --- a/projects/Edgi_Talk_M55_MIPI_LCD/README.md +++ b/projects/Edgi_Talk_M55_MIPI_LCD/README.md @@ -44,6 +44,7 @@ It allows users to quickly validate the **MIPI DSI interface driver** and **LCD * The project structure is simple, making it easy to understand the **MIPI DSI initialization** and **LCD refresh logic**. ## Usage +n> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. ### Build and Download @@ -59,6 +60,8 @@ It allows users to quickly validate the **MIPI DSI interface driver** and **LCD ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * To modify the **graphical configuration**, use the following tools: ```text diff --git a/projects/Edgi_Talk_M55_MIPI_LCD/README_zh.md b/projects/Edgi_Talk_M55_MIPI_LCD/README_zh.md index 0e8dcc28..d99cb0e9 100644 --- a/projects/Edgi_Talk_M55_MIPI_LCD/README_zh.md +++ b/projects/Edgi_Talk_M55_MIPI_LCD/README_zh.md @@ -47,6 +47,8 @@ ## 注意事项 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + * 如需修改工程的 **图形化配置**,请使用以下工具打开配置文件: ``` diff --git a/projects/Edgi_Talk_M55_MIPI_LCD/board/linker_scripts/link.ld b/projects/Edgi_Talk_M55_MIPI_LCD/board/linker_scripts/link.ld index 6384cdf1..e532a6d6 100644 --- a/projects/Edgi_Talk_M55_MIPI_LCD/board/linker_scripts/link.ld +++ b/projects/Edgi_Talk_M55_MIPI_LCD/board/linker_scripts/link.ld @@ -114,15 +114,18 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header (READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : { + . = ALIGN(MCUBOOT_HEADER_SIZE); . += MCUBOOT_HEADER_SIZE; } > m55_nvm_sel /* This section is intended to hold the main application code for the Cortex-M55 */ /* Performance-sensitive or critical functions that need to be executed in sram are manually excluded */ - .app_code_main : ALIGN(VECTORS_ALIGNMENT) + .app_code_main : { + . = ALIGN(VECTORS_ALIGNMENT); + _stext = .; __text_begin = .; __Vectors = . ; /* Keep the vector table */ @@ -206,14 +209,16 @@ SECTIONS } > m55_nvm_sel /* Exception tables for ARM architecture */ - .ARM.extab (READONLY) : ALIGN(4) + .ARM.extab : { + . = ALIGN(4); *(.ARM.extab* .gnu.linkonce.armextab.*) } > m55_nvm_sel /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY) : ALIGN(4) + .ARM.exidx : { + . = ALIGN(4); __exidx_start = .; *(.ARM.exidx* .gnu.linkonce.armexidx.*) @@ -223,8 +228,9 @@ SECTIONS /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY) : ALIGN(4) + .copy.table : { + . = ALIGN(4); __copy_table_start__ = .; /* Initialized data in DTCM */ @@ -251,8 +257,9 @@ SECTIONS } > m55_nvm_sel /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : { + . = ALIGN(4); __zero_table_start__ = .; LONG(__bss_start__) /* Start of the zero-initialized data section */ @@ -262,8 +269,9 @@ SECTIONS } > m55_nvm_sel /* A section for performance-sensitive or critical functions that need to be executed in ITCM */ - .app_code_itcm : ALIGN(16) + .app_code_itcm : { + . = ALIGN(16); /* Reserving the first 16 bytes to avoid debug symbols (that have default address 0x0) to be confused with actual code */ . += 16; KEEP(*(.cy_itcm)) @@ -291,8 +299,9 @@ SECTIONS } > m55_code_INTERNAL AT > m55_nvm_sel /* A section for the vector table */ - .ram_vectors (NOLOAD) : ALIGN(VECTORS_ALIGNMENT) + .ram_vectors (NOLOAD) : { + . = ALIGN(VECTORS_ALIGNMENT); __ram_vectors_start__ = .; KEEP(*(.ram_vectors)) @@ -301,16 +310,18 @@ SECTIONS } > m55_code_INTERNAL /* A section for less performance-sensitive or critical functions that might be executed in SOC memory */ - .app_code_socmem : ALIGN(4) + .app_code_socmem : { + . = ALIGN(4); KEEP(*(.cy_socmem_code)) . = ALIGN(4); } > m55_code_secondary AT > m55_nvm_sel /* A section for initialized data memory */ - .data : ALIGN(4) + .data : { + . = ALIGN(4); __data_start__ = .; *(vtable) @@ -358,8 +369,9 @@ SECTIONS } > m55_data_INTERNAL AT > m55_nvm_sel /* A section for variables that should not be initialized during the device startup */ - .noinit (NOLOAD) : ALIGN(8) + .noinit (NOLOAD) : { + . = ALIGN(8); __noinit_start__ = .; KEEP(*(.noinit)) @@ -370,14 +382,16 @@ SECTIONS } > m55_data_INTERNAL /* A section for non-initialized data memory */ - .bss(NOLOAD) : ALIGN(4) + .bss(NOLOAD) : { + . = ALIGN(4); __bss_start__ = .; *(.bss*) *(COMMON) . = ALIGN(4); + _sstack = .; __bss_end__ = .; } > m55_data_INTERNAL @@ -393,8 +407,9 @@ SECTIONS ) /* A section for SOC memory data */ - .cy_socmem_data : ALIGN(4) + .cy_socmem_data : { + . = ALIGN(4); KEEP(*(.cy_socmem_data)) . = ALIGN(4); @@ -402,8 +417,9 @@ SECTIONS } > m55_data_secondary AT > m55_nvm_sel /* A section for the heap memory */ - .heap(NOLOAD) : ALIGN(8) + .heap(NOLOAD) : { + . = ALIGN(8); __HeapBase = .; __end__ = .; end = __end__; @@ -428,8 +444,9 @@ SECTIONS /* A section for shared RAM memory where only the Cortex-M55 can allocate data but all cores can access */ - .cy_sharedmem(NOLOAD) : ALIGN(4) + .cy_sharedmem(NOLOAD) : { + . = ALIGN(4); KEEP(*(.cy_sharedmem)) . = ALIGN(4); diff --git a/projects/Edgi_Talk_M55_WIFI/README.md b/projects/Edgi_Talk_M55_WIFI/README.md index 3e18e9ae..8c364b78 100644 --- a/projects/Edgi_Talk_M55_WIFI/README.md +++ b/projects/Edgi_Talk_M55_WIFI/README.md @@ -34,6 +34,7 @@ It allows users to quickly test Wi-Fi scanning, connection, and performance, ver * Provides a clear example of **Wi-Fi driver integration with RT-Thread**. ## Usage +n> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. ### Build and Download diff --git a/projects/Edgi_Talk_M55_WIFI/board/linker_scripts/link.ld b/projects/Edgi_Talk_M55_WIFI/board/linker_scripts/link.ld index 6384cdf1..e532a6d6 100644 --- a/projects/Edgi_Talk_M55_WIFI/board/linker_scripts/link.ld +++ b/projects/Edgi_Talk_M55_WIFI/board/linker_scripts/link.ld @@ -114,15 +114,18 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header (READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : { + . = ALIGN(MCUBOOT_HEADER_SIZE); . += MCUBOOT_HEADER_SIZE; } > m55_nvm_sel /* This section is intended to hold the main application code for the Cortex-M55 */ /* Performance-sensitive or critical functions that need to be executed in sram are manually excluded */ - .app_code_main : ALIGN(VECTORS_ALIGNMENT) + .app_code_main : { + . = ALIGN(VECTORS_ALIGNMENT); + _stext = .; __text_begin = .; __Vectors = . ; /* Keep the vector table */ @@ -206,14 +209,16 @@ SECTIONS } > m55_nvm_sel /* Exception tables for ARM architecture */ - .ARM.extab (READONLY) : ALIGN(4) + .ARM.extab : { + . = ALIGN(4); *(.ARM.extab* .gnu.linkonce.armextab.*) } > m55_nvm_sel /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY) : ALIGN(4) + .ARM.exidx : { + . = ALIGN(4); __exidx_start = .; *(.ARM.exidx* .gnu.linkonce.armexidx.*) @@ -223,8 +228,9 @@ SECTIONS /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY) : ALIGN(4) + .copy.table : { + . = ALIGN(4); __copy_table_start__ = .; /* Initialized data in DTCM */ @@ -251,8 +257,9 @@ SECTIONS } > m55_nvm_sel /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : { + . = ALIGN(4); __zero_table_start__ = .; LONG(__bss_start__) /* Start of the zero-initialized data section */ @@ -262,8 +269,9 @@ SECTIONS } > m55_nvm_sel /* A section for performance-sensitive or critical functions that need to be executed in ITCM */ - .app_code_itcm : ALIGN(16) + .app_code_itcm : { + . = ALIGN(16); /* Reserving the first 16 bytes to avoid debug symbols (that have default address 0x0) to be confused with actual code */ . += 16; KEEP(*(.cy_itcm)) @@ -291,8 +299,9 @@ SECTIONS } > m55_code_INTERNAL AT > m55_nvm_sel /* A section for the vector table */ - .ram_vectors (NOLOAD) : ALIGN(VECTORS_ALIGNMENT) + .ram_vectors (NOLOAD) : { + . = ALIGN(VECTORS_ALIGNMENT); __ram_vectors_start__ = .; KEEP(*(.ram_vectors)) @@ -301,16 +310,18 @@ SECTIONS } > m55_code_INTERNAL /* A section for less performance-sensitive or critical functions that might be executed in SOC memory */ - .app_code_socmem : ALIGN(4) + .app_code_socmem : { + . = ALIGN(4); KEEP(*(.cy_socmem_code)) . = ALIGN(4); } > m55_code_secondary AT > m55_nvm_sel /* A section for initialized data memory */ - .data : ALIGN(4) + .data : { + . = ALIGN(4); __data_start__ = .; *(vtable) @@ -358,8 +369,9 @@ SECTIONS } > m55_data_INTERNAL AT > m55_nvm_sel /* A section for variables that should not be initialized during the device startup */ - .noinit (NOLOAD) : ALIGN(8) + .noinit (NOLOAD) : { + . = ALIGN(8); __noinit_start__ = .; KEEP(*(.noinit)) @@ -370,14 +382,16 @@ SECTIONS } > m55_data_INTERNAL /* A section for non-initialized data memory */ - .bss(NOLOAD) : ALIGN(4) + .bss(NOLOAD) : { + . = ALIGN(4); __bss_start__ = .; *(.bss*) *(COMMON) . = ALIGN(4); + _sstack = .; __bss_end__ = .; } > m55_data_INTERNAL @@ -393,8 +407,9 @@ SECTIONS ) /* A section for SOC memory data */ - .cy_socmem_data : ALIGN(4) + .cy_socmem_data : { + . = ALIGN(4); KEEP(*(.cy_socmem_data)) . = ALIGN(4); @@ -402,8 +417,9 @@ SECTIONS } > m55_data_secondary AT > m55_nvm_sel /* A section for the heap memory */ - .heap(NOLOAD) : ALIGN(8) + .heap(NOLOAD) : { + . = ALIGN(8); __HeapBase = .; __end__ = .; end = __end__; @@ -428,8 +444,9 @@ SECTIONS /* A section for shared RAM memory where only the Cortex-M55 can allocate data but all cores can access */ - .cy_sharedmem(NOLOAD) : ALIGN(4) + .cy_sharedmem(NOLOAD) : { + . = ALIGN(4); KEEP(*(.cy_sharedmem)) . = ALIGN(4); diff --git a/projects/Edgi_Talk_M55_XiaoZhi/README.md b/projects/Edgi_Talk_M55_XiaoZhi/README.md index 65b612e7..ef836daa 100644 --- a/projects/Edgi_Talk_M55_XiaoZhi/README.md +++ b/projects/Edgi_Talk_M55_XiaoZhi/README.md @@ -17,6 +17,7 @@ With this project, users can quickly verify the device’s **WiFi connection**, * Device state management (standby, listening, sleep, etc.) ## Usage +n> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. ### Prepare Wi-Fi resources (first-time setup) @@ -92,6 +93,8 @@ Each command switches to YMODEM mode. Use a terminal that supports YMODEM upload ## Notes +> **⚠️ Note:** This project requires **RT-Thread Studio 2.2.9** or higher. + * For first-time use, visit the [XiaoZhi official website](https://xiaozhi.me/) to complete backend binding. ![alt text](figures/2.png) Press the user button to display the verification code on the screen. diff --git a/projects/Edgi_Talk_M55_XiaoZhi/README_zh.md b/projects/Edgi_Talk_M55_XiaoZhi/README_zh.md index 18dc1a16..8bb3ce88 100644 --- a/projects/Edgi_Talk_M55_XiaoZhi/README_zh.md +++ b/projects/Edgi_Talk_M55_XiaoZhi/README_zh.md @@ -93,6 +93,8 @@ whd_res_download whd_nvram ## 注意事项 +> **⚠️ 注意:** 本工程要求使用 **RT-Thread Studio 2.2.9** 或以上版本。 + * 第一次需要进入 [小智官网](https://xiaozhi.me/) 进行后台绑定 ![alt text](figures/2.png) 按下用户按键屏幕显示验证码 diff --git a/projects/Edgi_Talk_M55_XiaoZhi/board/linker_scripts/link.ld b/projects/Edgi_Talk_M55_XiaoZhi/board/linker_scripts/link.ld index 0e005f0f..467b8fe8 100644 --- a/projects/Edgi_Talk_M55_XiaoZhi/board/linker_scripts/link.ld +++ b/projects/Edgi_Talk_M55_XiaoZhi/board/linker_scripts/link.ld @@ -117,15 +117,18 @@ MCUBOOT_HEADER_SIZE = 0x400; SECTIONS { /* This section reserves a space for MCUBoot header */ - .mcu_boot_header (READONLY) : ALIGN(MCUBOOT_HEADER_SIZE) + .mcu_boot_header : { + . = ALIGN(MCUBOOT_HEADER_SIZE); . += MCUBOOT_HEADER_SIZE; } > m55_nvm_sel /* This section is intended to hold the main application code for the Cortex-M55 */ /* Performance-sensitive or critical functions that need to be executed in sram are manually excluded */ - .app_code_main : ALIGN(VECTORS_ALIGNMENT) + .app_code_main : { + . = ALIGN(VECTORS_ALIGNMENT); + _stext = .; __text_begin = .; __Vectors = . ; /* Keep the vector table */ @@ -209,14 +212,16 @@ SECTIONS } > m55_nvm_sel /* Exception tables for ARM architecture */ - .ARM.extab (READONLY) : ALIGN(4) + .ARM.extab : { + . = ALIGN(4); *(.ARM.extab* .gnu.linkonce.armextab.*) } > m55_nvm_sel /* Exception index tables for ARM architecture */ - .ARM.exidx (READONLY) : ALIGN(4) + .ARM.exidx : { + . = ALIGN(4); __exidx_start = .; *(.ARM.exidx* .gnu.linkonce.armexidx.*) @@ -226,8 +231,9 @@ SECTIONS /* Define copying of data from flash memory to RAM during the startup */ - .copy.table (READONLY) : ALIGN(4) + .copy.table : { + . = ALIGN(4); __copy_table_start__ = .; /* Initialized data in DTCM */ @@ -254,8 +260,9 @@ SECTIONS } > m55_nvm_sel /* Define zeroing of the uninitialized data section */ - .zero.table (READONLY): ALIGN(4) + .zero.table : { + . = ALIGN(4); __zero_table_start__ = .; LONG(__bss_start__) /* Start of the zero-initialized data section */ @@ -265,8 +272,9 @@ SECTIONS } > m55_nvm_sel /* A section for performance-sensitive or critical functions that need to be executed in ITCM */ - .app_code_itcm : ALIGN(16) + .app_code_itcm : { + . = ALIGN(16); /* Reserving the first 16 bytes to avoid debug symbols (that have default address 0x0) to be confused with actual code */ . += 16; KEEP(*(.cy_itcm)) @@ -294,8 +302,9 @@ SECTIONS } > m55_code_INTERNAL AT > m55_nvm_sel /* A section for the vector table */ - .ram_vectors (NOLOAD) : ALIGN(VECTORS_ALIGNMENT) + .ram_vectors (NOLOAD) : { + . = ALIGN(VECTORS_ALIGNMENT); __ram_vectors_start__ = .; KEEP(*(.ram_vectors)) @@ -304,16 +313,18 @@ SECTIONS } > m55_code_INTERNAL /* A section for less performance-sensitive or critical functions that might be executed in SOC memory */ - .app_code_socmem : ALIGN(4) + .app_code_socmem : { + . = ALIGN(4); KEEP(*(.cy_socmem_code)) . = ALIGN(4); } > m55_code_secondary AT > m55_nvm_sel /* A section for initialized data memory */ - .data : ALIGN(4) + .data : { + . = ALIGN(4); __data_start__ = .; *(vtable) @@ -361,8 +372,9 @@ SECTIONS } > m55_data_INTERNAL AT > m55_nvm_sel /* A section for variables that should not be initialized during the device startup */ - .noinit (NOLOAD) : ALIGN(8) + .noinit (NOLOAD) : { + . = ALIGN(8); __noinit_start__ = .; KEEP(*(.noinit)) @@ -373,14 +385,16 @@ SECTIONS } > m55_data_INTERNAL /* A section for non-initialized data memory */ - .bss(NOLOAD) : ALIGN(4) + .bss(NOLOAD) : { + . = ALIGN(4); __bss_start__ = .; *(.bss*) *(COMMON) . = ALIGN(4); + _sstack = .; __bss_end__ = .; } > m55_data_INTERNAL @@ -396,8 +410,9 @@ SECTIONS ) /* A section for SOC memory data */ - .cy_socmem_data : ALIGN(4) + .cy_socmem_data : { + . = ALIGN(4); KEEP(*(.cy_socmem_data)) . = ALIGN(4); @@ -405,8 +420,9 @@ SECTIONS } > m55_data_secondary AT > m55_nvm_sel /* A section for the heap memory */ - .heap(NOLOAD) : ALIGN(8) + .heap(NOLOAD) : { + . = ALIGN(8); __HeapBase = .; __end__ = .; end = __end__; @@ -431,8 +447,9 @@ SECTIONS /* A section for shared RAM memory where only the Cortex-M55 can allocate data but all cores can access */ - .cy_sharedmem(NOLOAD) : ALIGN(4) + .cy_sharedmem(NOLOAD) : { + . = ALIGN(4); KEEP(*(.cy_sharedmem)) . = ALIGN(4);