From cc72712173c610494bf32f8113a968c3ece5aee2 Mon Sep 17 00:00:00 2001 From: zhangyan <103986797+messigogogo@users.noreply.github.com> Date: Fri, 10 Oct 2025 11:02:28 +0800 Subject: [PATCH] =?UTF-8?q?[CPU/AARCH64]=20=E5=A2=9E=E5=8A=A0=20libcpu/aar?= =?UTF-8?q?ch64=20KERNEL=5FASPACE=5FSTART=20=E9=85=8D=E7=BD=AE=20#10757?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 针对不同的 Aarch64 BSP 针对 KERNEL_VADDR_START 宏定义进行区分 --- bsp/phytium/aarch32/README.md | 2 ++ bsp/phytium/aarch64/Kconfig | 3 +++ bsp/phytium/aarch64/README.md | 2 ++ libcpu/aarch64/common/mmu.c | 5 +++++ 4 files changed, 12 insertions(+) diff --git a/bsp/phytium/aarch32/README.md b/bsp/phytium/aarch32/README.md index d1edf14e2e..11349f56a6 100644 --- a/bsp/phytium/aarch32/README.md +++ b/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 diff --git a/bsp/phytium/aarch64/Kconfig b/bsp/phytium/aarch64/Kconfig index 0bb44f3565..5e689d7134 100644 --- a/bsp/phytium/aarch64/Kconfig +++ b/bsp/phytium/aarch64/Kconfig @@ -64,3 +64,6 @@ menu "Standalone Setting" endmenu +config KERNEL_ASPACE_START + hex + default 0x1000 \ No newline at end of file diff --git a/bsp/phytium/aarch64/README.md b/bsp/phytium/aarch64/README.md index f2aa224ccd..3a00b6d0a2 100644 --- a/bsp/phytium/aarch64/README.md +++ b/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 diff --git a/libcpu/aarch64/common/mmu.c b/libcpu/aarch64/common/mmu.c index afa70cb90d..d394cda403 100644 --- a/libcpu/aarch64/common/mmu.c +++ b/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)));