From 3f7cc54449e158974f35aaf510dc2934cb38232f Mon Sep 17 00:00:00 2001 From: changzehai <857891854@qq.com> Date: Tue, 5 Apr 2022 10:26:12 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E8=A7=A3=E5=86=B3=E6=9C=AA=E5=9C=A8r?= =?UTF-8?q?tconfig.h=E4=B8=AD=E5=AE=9A=E4=B9=89=E2=80=9CRT=5FUSING=5FCPU?= =?UTF-8?q?=5FFFS=E2=80=9D=E5=AE=8F=E6=97=B6=EF=BC=8C=E4=BD=BF=E7=94=A8arm?= =?UTF-8?q?-gcc=E7=BC=96=E8=AF=91=E4=BC=9A=E5=87=BA=E7=8E=B0=5F=5Frt=5Fffs?= =?UTF-8?q?()=20=E5=87=BD=E6=95=B0=E9=87=8D=E5=AE=9A=E4=B9=89=EF=BC=8C?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E7=BC=96=E8=AF=91=E4=B8=8D=E9=80=9A=E8=BF=87?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=9B=20(#5755)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2、解决bsp/rm48x50工程使用arm-gcc编译下载后,程序运行出现prefetch abort异常的问题。 --- libcpu/arm/cortex-r4/cpu.c | 2 ++ libcpu/arm/cortex-r4/start_gcc.S | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/libcpu/arm/cortex-r4/cpu.c b/libcpu/arm/cortex-r4/cpu.c index dd82ef1cf4..b63a07732d 100644 --- a/libcpu/arm/cortex-r4/cpu.c +++ b/libcpu/arm/cortex-r4/cpu.c @@ -87,9 +87,11 @@ void rt_hw_cpu_dcache_disable() } #elif __GNUC__ +#ifdef RT_USING_CPU_FFS int __rt_ffs(int value) { return __builtin_ffs(value); } #endif +#endif /*@}*/ diff --git a/libcpu/arm/cortex-r4/start_gcc.S b/libcpu/arm/cortex-r4/start_gcc.S index de3059e821..10a74b251a 100644 --- a/libcpu/arm/cortex-r4/start_gcc.S +++ b/libcpu/arm/cortex-r4/start_gcc.S @@ -54,6 +54,23 @@ _reset: @------------------------------------------------------------------------------- @ Initialize CPU Registers @ After reset, the CPU is in the Supervisor mode (M = 10011) + mov r0, #0x0000 + mov r1, #0x0000 + mov r2, #0x0000 + mov r3, #0x0000 + mov r4, #0x0000 + mov r5, #0x0000 + mov r6, #0x0000 + mov r7, #0x0000 + mov r8, #0x0000 + mov r9, #0x0000 + mov r10, #0x0000 + mov r11, #0x0000 + mov r12, #0x0000 + mov r13, #0x0000 + mrs r1, cpsr + msr spsr_cxsf, r1 + cpsid if, #19 #if defined (__VFP_FP__) && !defined(__SOFTFP__) && defined(RT_VFP_LAZY_STACKING)