mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2026-02-05 21:41:43 +00:00
Regarding link script, some memory offsets and sizes are different between the standard version and the smart version (such as "__STACKSIZE__", kernel start address, kernel memory size, etc.). Original solution is replacing link scripts and use INCLUDE, which is relatively complicated. This improvement uses macros to replace constants in the link script. The preprocessing mechanism provided by gcc is used to dynamically replace constant values during the build process. In addition, the kernel load address (the corresponding KERNEL_VADDR_START for smart) was originally configured as 0xFFFFFFC000200000, which is default value of riscv with kernelmap enabled (0xffffffc000000000) plus offset to skip over bootloader (0x200000). This caused a trouble: due to default bsp configuration is for smart, if we switched to the standard version and build, and then switched back to the smart version, the value of KERNEL_VADDR_START will be default back to 0xffffffc000000000, which is different from the original configuration value, resulting in the need to manually reconfigure it, which is easy to forget and cause problems. The current solution is to use the default value 0xffffffc000000000 in the configuration. Add offset to the code and link script when using it. This patch update the default .config and rtconfig.h for cv18xx_riscv. Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
RT-THREAD bsp company list
- Simulator
- STM32
- stm32 series
- NXP
- nxp series
- Renesas
- renesas series
- rx series
- upd70f3454
- m16c62p
- Nordic
- nrf5x series
- raspberry
- raspberry-pi series
- raspberry-pico
- TI
- Samsung
- Synopsys
- synopsys series
- Espressif
- MAXIM
- maxim series
- Microchip
- Infineon
- SiFive
- ADI
- Silicon Labs
- efm32 series
- Ambiq Micro
- Xilinx
- Altera
- Nuclei
- 灵动微MM32
- 兆易创新GD32
- gd32 series
- Realtek
- 国民科技N32
- 小华HC32
- 全志Allwinner
- allwinner series
- allwinner_tina
- 雅特力AT32
- at32 series
- rockchip
- rockchip serise
- 先楫
- hpmicro series
- 东软EastSoft
- essemi series
- 嘉楠canaan
- 沁恒WCH
- wch series
- 联德盛winnermicro
- 泰为
- Nuvoton
- nuvoton series
- 飞腾
- 合宙
- airm2m series
- ACM32 航芯
- acm32 series
- APM32 极海
- apm32 series
- 紫芯
- 博流
- bouffalo_lab series
- 航顺
- hk32 series
- 辉芒微
- ft32 series
- 华芯微特
- synwit series
- 龙芯
- loongson series
- 中科蓝讯
- bluetrum series
- 易兆微
- yichip series
- 杭州万高科技
- Vango series
- 平头哥
- 复旦微
- 无锡纳瓦特Navota
- 杭州中天微
- 中国航天科技集团
- 东南芯
- 京微雅格
- 好钜润 TIKY
- Milk-V