nuttx/arch
chao an 9915b80e30 arch/sim: add custom data section support
The link script of NuttX Simulator is generated through compilation
options. This PR will support configure special data sections in
kconfig to meet the support of 3rd party applications.

we need to follow the syntax of linker script. In 3rd-party applications, some data will be labeled as section:

| a.c:
| struct task_s a __attribute__((section(".data.custom.taska")));
| b.c:
| struct task_s b __attribute__((section(".data.custom.taskb")));

Data of the same type struct can be placed in a fixed location to reduce the overhead caused by searching:

|   .data           :
|   {
|     _custom_data_table_start = .;
|     KEEP(*(.data.custom.*))
|     _custom_data_table_end = .;
|   }

Such section declare can be configured via Kconfig in the PR:

| CONFIG_SIM_CUSTOM_DATA_SECTION=" .data : { _custom_data_table_start = .; KEEP(*(.data.custom.*)) _custom_data_table_end = .; } "

Signed-off-by: chao an <anchao@lixiang.com>
2024-07-05 16:45:36 -03:00
..
arm arch/arm/stm32: Fix EXTI lines definitions for STM32G47XX. 2024-07-04 18:23:51 -03:00
arm64 arch/arm64/src/imx9/imx9_lowputc.c: Fix an arithmetic sign error in divisor calculation 2024-07-05 21:47:07 +08:00
avr sched: move nxsched_dumponexit() to task_exithook 2024-06-30 17:30:42 +08:00
ceva Revert "irq: remove restore_critical_section in irq" 2024-07-02 15:46:20 +08:00
dummy
hc sched: move nxsched_dumponexit() to task_exithook 2024-06-30 17:30:42 +08:00
mips sched: move nxsched_dumponexit() to task_exithook 2024-06-30 17:30:42 +08:00
misoc sched: move nxsched_dumponexit() to task_exithook 2024-06-30 17:30:42 +08:00
or1k sched: move nxsched_dumponexit() to task_exithook 2024-06-30 17:30:42 +08:00
renesas sched: move nxsched_dumponexit() to task_exithook 2024-06-30 17:30:42 +08:00
risc-v ox64: Add adc example config 2024-07-05 13:17:02 +08:00
sim arch/sim: add custom data section support 2024-07-05 16:45:36 -03:00
sparc Revert "irq: remove restore_critical_section in irq" 2024-07-02 15:46:20 +08:00
tricore sched: move nxsched_dumponexit() to task_exithook 2024-06-30 17:30:42 +08:00
x86 sched: move nxsched_dumponexit() to task_exithook 2024-06-30 17:30:42 +08:00
x86_64 arch/x86_64: addrenv support 2024-07-03 17:40:53 +08:00
xtensa esp32[s2|s3]: add volatile bitfields compilation flag 2024-07-04 18:22:24 -03:00
z16 sched: move nxsched_dumponexit() to task_exithook 2024-06-30 17:30:42 +08:00
z80 sched: move nxsched_dumponexit() to task_exithook 2024-06-30 17:30:42 +08:00
CMakeLists.txt build/cmake: add initial KERNEL mode support 2024-03-15 16:21:23 +08:00
Kconfig libc/x86_64: port string functions from bionic 2024-07-02 23:59:18 +08:00