From 16f9e3be585e364c3ed5293507d3d2576a47a61a Mon Sep 17 00:00:00 2001 From: Sadeep Madurange Date: Wed, 11 Sep 2024 17:45:19 +0800 Subject: Rename stack top to sp and try to add a blink. --- main.c | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) (limited to 'main.c') diff --git a/main.c b/main.c index 89c1e15..4272fd8 100644 --- a/main.c +++ b/main.c @@ -16,42 +16,36 @@ #define PMC_PID 13 #define PMC_WPKEY 0x504D43u -#define PMC_WPMR *((volatile unsigned int *)(PORT + 0x400E06E4u)) -#define PMC_PCER0 *((volatile unsigned int *)(PORT + 0x400E0610u)) +#define PMC_WPMR *((volatile unsigned int *)(PORT + 0x400E06E4u)) +#define PMC_PCER0 *((volatile unsigned int *)(PORT + 0x400E0610u)) #define GPIO_NUM 1 #define GPIO_MASK (1u << GPIO_NUM) int main(void) { - // enable peripheral clock - //PMC_WPMR = PMC_WPKEY << 8; - //PMC_PCER0 |= (1u << PMC_PID); - //PMC_WPMR = (PMC_WPKEY << 8) | 1u; + volatile int i; - // enable port, set to output, disable pull-up PIO_WPMR = PIO_WPKEY << 8; PIO_PER |= GPIO_MASK; PIO_OER |= GPIO_MASK; PIO_PUDR |= GPIO_MASK; PIO_WPMR = (PIO_WPKEY << 8) | 1u; - - // set pin to logic 1 - PIO_SODR |= GPIO_MASK; - for (;;) - ; + for (;;) { + PIO_SODR ^= GPIO_MASK; + + for (i = 0; 1000000; i++) + ; + } return 0; } -extern const unsigned int StackTop; +extern const unsigned int sp; __attribute__ ((section(".vtor"))) const void* VectorTable[] = { - &StackTop, /* CPU will automatically * - * set stack its pointer * - * to this value */ - - main, /* -15: Reset_IRQn */ + &sp, + main }; -- cgit v1.2.3