summaryrefslogtreecommitdiff
path: root/bsp/cvitek/cv18xx_risc-v/SConstruct
AgeCommit message (Collapse)Author
2025-04-22bsp: cvitek: riscv: use marco for linker scriptChen Wang
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 <[email protected]>
2024-09-05bsp: cvitek: clean up useless variable assignments in SConstructChen Wang
CV18xx RISC-V C906L. Configuration value for CPU and ARCH are already defined in rtconfig.py. Remove these duplication from SConstruct. Signed-off-by: Chen Wang <[email protected]>
2024-08-12bsp: cvitek: SConstruct: optimize drivers_path_prefixChen Wang
For bsp/cvitek, all drivers related files are moved to the directory bsp/cvitek/drivers, so the drivers_path_prefix processing in the SConstruct of the three bsp projects can be simplified. Signed-off-by: Chen Wang <[email protected]>
2024-07-29bsp: enable KERNEL_REMAP for cvitek platformShell
Changes: - board.c: add static assert for KERNEL_VADDR_START to check if it's valid - board.h: updated deafult KERNEL_VADDR_START for standard version - config bsp for v5.2.0 smart requirements - kconfig: update bsp Kconfig for remap kernel Signed-off-by: Shell <[email protected]> Reviewed-on: https://github.com/RT-Thread/rt-thread/pull/9229 Reviewed-by: Chen Wang <[email protected]>
2024-07-24bsp: cvitek: fixed stacksize issueChen Wang
In the original Sconstruct script, `GetDepend('__STACKSIZE__')` is placed before the call to `PrepareBuilding()`, which causes the value of `GetDepend('__STACKSIZE__')` to always be False, and the value of `__STACKSIZE__` in `link_stacksize.lds` will not be updated. Solution: move the call if `PrepareBuilding()` ahead. Also sync and update the .config and rtconfig.h, plus the link_stacksize.lds. Signed-off-by: Chen Wang <[email protected]>
2024-04-03support cv181x-riscv for RT-SMART (#8724)flyingcys