From 2b18685cbffc039b7d27ada40183964bf3fde517 Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Sat, 29 Dec 2018 09:33:19 +0900 Subject: [PATCH] Use "System Control Block" instead of "System Control Registers". --- mcu/sys-mkl27z.c | 6 +++--- mcu/sys-stm32f0.c | 4 ++-- mcu/sys-stm32f103.c | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/mcu/sys-mkl27z.c b/mcu/sys-mkl27z.c index 84b38ab..cef6898 100644 --- a/mcu/sys-mkl27z.c +++ b/mcu/sys-mkl27z.c @@ -23,14 +23,14 @@ #include "board.h" #define ADDR_VECTORS (0x00000900) -#define ADDR_SCR_VTOR 0xe000ed08 +#define ADDR_SCB_VTOR 0xe000ed08 static void __attribute__ ((naked,section(".fixed_function.reset"))) reset (void) { - uint32_t r3 = ADDR_SCR_VTOR; + uint32_t r3 = ADDR_SCB_VTOR; - asm volatile ("str %2, [%0]\n\t" /* Set SCR->VTOR */ + asm volatile ("str %2, [%0]\n\t" /* Set SCB->VTOR */ "ldr %0, [%2]\n\t" /* Stack address */ "msr MSP, %0\n\t" /* Exception handler stack. */ "ldr %0, [%2, #4]\n\t" /* The entry address */ diff --git a/mcu/sys-stm32f0.c b/mcu/sys-stm32f0.c index d773c3c..cd3f60e 100644 --- a/mcu/sys-stm32f0.c +++ b/mcu/sys-stm32f0.c @@ -340,13 +340,13 @@ reset (void) #else extern const uint32_t FT0[256], FT1[256], FT2[256]; asm volatile ("cpsid i\n\t" /* Mask all interrupts. */ - "ldr r0, 1f\n\t" /* r0 = SCR */ + "ldr r0, 1f\n\t" /* r0 = SCB start */ "mov r1, pc\n\t" /* r1 = (PC + 0x1000) & ~0x0fff */ "mov r2, #0x1000\n\t" "add r1, r1, r2\n\t" "sub r2, r2, #1\n\t" "bic r1, r1, r2\n\t" - "str r1, [r0, #8]\n\t" /* Set SCR->VCR */ + "str r1, [r0, #8]\n\t" /* Set SCB->VTOR */ "ldr r0, [r1], #4\n\t" "msr MSP, r0\n\t" /* Main (exception handler) stack. */ "ldr r0, [r1]\n\t" /* Reset handler. */ diff --git a/mcu/sys-stm32f103.c b/mcu/sys-stm32f103.c index b958876..2884385 100644 --- a/mcu/sys-stm32f103.c +++ b/mcu/sys-stm32f103.c @@ -321,13 +321,13 @@ reset (void) * So, we take the address from PC. */ asm volatile ("cpsid i\n\t" /* Mask all interrupts. */ - "ldr r0, 1f\n\t" /* r0 = SCR */ + "ldr r0, 1f\n\t" /* r0 = SCB start */ "mov r1, pc\n\t" /* r1 = (PC + 0x1000) & ~0x0fff */ "mov r2, #0x1000\n\t" "add r1, r1, r2\n\t" "sub r2, r2, #1\n\t" "bic r1, r1, r2\n\t" - "str r1, [r0, #8]\n\t" /* Set SCR->VCR */ + "str r1, [r0, #8]\n\t" /* Set SCB->VTOR */ "ldr r0, [r1], #4\n\t" "msr MSP, r0\n\t" /* Main (exception handler) stack. */ "ldr r0, [r1]\n\t" /* Reset handler. */