slicetex wrote on Monday, February 08, 2010:
Hi,
I cannot get a FreeRTOS system to work from starting
address 0x8000 with a secondary bootloader.
I’m using a NXP LPC2148 microcontroller.
My application program crash when vTaskStartScheduler()
is called.
If application program is located on flash address 0x0000,
FreeRTOS works.
Anyone did something like this ?.
NOTES:
1) vTaskStartScheduler() is called in supervisor mode.
Interrupt disabled.
2) Interrupt vector table is remaped to RAM with MEMMAP=2.
First 64 bytes, from address 0x8000 are copied to RAM
address 0x40000000.
3) Linker script memory areas:
MEMORY
{
flash (rx): ORIGIN = 0x00008000, LENGTH = 468K
ram_ivt(rwx): ORIGIN = 0x40000000, LENGTH = 64
ram (rwx): ORIGIN = 0x40000040, LENGTH = 32K-64
}
4) Secondary bootloader, jumps to user program (0x8000)
in supervisor mode also.
5) FreeRTOS version: 6.0.2
6) Toolchain: GCC 4.1.1
7) MCU: LPC2148.
Thanks in advance.
Regards,
Boris Estudiez.-
–
Slicetex Electronics
www.slicetex.com.ar