Procházet zdrojové kódy

[CPU/AARCH64] 增加 libcpu/aarch64 KERNEL_ASPACE_START 配置 #10757

针对不同的 Aarch64 BSP 针对 KERNEL_VADDR_START 宏定义进行区分
zhangyan před 3 měsíci
rodič
revize
cc72712173

+ 2 - 0
bsp/phytium/aarch32/README.md

@@ -67,6 +67,8 @@ rtthread_a32.elf
 rtthread_a32.map
 ```
 
+- 若需切换版本进行调试,请先在`bsp\phytium\libraries\phytium_standalone_sdk`目录下删除现有的`phytium_standalone_sdk`工具包,然后重新执行上述指令以拉取指定版本。
+
 ### RT-Thread env 环境
 
 #### RT-Thread

+ 3 - 0
bsp/phytium/aarch64/Kconfig

@@ -64,3 +64,6 @@ menu "Standalone Setting"
 
 endmenu
 
+config KERNEL_ASPACE_START
+    hex
+    default 0x1000

+ 2 - 0
bsp/phytium/aarch64/README.md

@@ -67,6 +67,8 @@ rtthread_a64.elf
 rtthread_a64.map
 ```
 
+- 若需切换版本进行调试,请先在`bsp\phytium\libraries\phytium_standalone_sdk`目录下删除现有的`phytium_standalone_sdk`工具包,然后重新执行上述指令以拉取指定版本。
+
 ### RT-Thread env 环境
 
 #### RT-Thread

+ 5 - 0
libcpu/aarch64/common/mmu.c

@@ -54,8 +54,13 @@
 
 /* restrict virtual address on usage of RT_NULL */
 #ifndef KERNEL_VADDR_START
+#ifdef  KERNEL_ASPACE_START
+#define KERNEL_VADDR_START KERNEL_ASPACE_START
+#else
 #define KERNEL_VADDR_START (ARCH_RAM_OFFSET + ARCH_TEXT_OFFSET)
 #endif
+#endif /* KERNEL_VADDR_START */
+
 
 volatile unsigned long MMUTable[512] __attribute__((aligned(4 * 1024)));