Starting freeRTOS from a bootloader
Posted by ARMinator
on May 17, 2010
My ARM7 board comes with a USB bootloader preloaded in flash. I am able to compile and run applications that are I can burn and invok in/to flash by the bootloader.
My application runs freeRTOS, so I would like freeRTOS to start booting once called by the bootloader. I have modified a demo loader file so the freeRTOS boot.s and the user application are relocated where the bootloader is expecting to load/find the user application. I use the GCC toolchain.
I can see the bootloader invoking the user application, since I can run the blinky tests from the main function. If I let the main function call vTaskStartScheduler then my board will not run any of the freeRTOS task (and will hang).
I added code to blink whenever a tick is announced, but it does not look like I am getting any interrupts. I am thinking the interrupt vectors are not configured properly...
Here are the only modification I made so far from the original demo folder:
- in ld file, changed "flash(rx) : ORIGIN = 0, LENGTH = 380K" to "flash(rx) : ORIGIN = 0x10000, LENGTH = 380K"
Anything else I should have done to configure the interrupts? Or is it a totally different issue I am seeing here?
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.