This one is kind of weird … we have a FreeRTOS project that runs find on an LPC2388 board, but when we ported it to an LPC2368 (by changing the memory allocation from 64K to 32K) it runs normally ONLY when you hit the RESET button.
With the 2388, you flash the board (we’re using an MCB2300 Keil Eval board for both), the flash finishes and then app comes up running (and everything works fine … LEDs, CAN, etc.). We do the same thing with the 2368 … flash the board but it just looks like it “stops” … push the RESET button and everything comes up and runs just fine.
I’ve combed thru the FreeRTOSConfig.h file and it is the same for both (and looks reasonable).
The lpc2368.ld file has only one small difference for the Memory:
flash : ORIGIN = 0x00000000, LENGTH = 500K
ram : ORIGIN = 0x40000000, LENGTH = 32K
usbram : ORIGIN = 0x7FD00000, LENGTH = 8K
ethram : ORIGIN = 0x7FE00000, LENGTH = 16K
__stack_end__ = 0x40000000 + 32K - 4;
**** Note 32K is for the 2368 … we use 64K for the 2388 ****
… and the boot.s file is the same for both 2368/88 and we have pretty small little stacks defined:
/* Stack Sizes */
.set UND_STACK_SIZE, 0x00000004
.set ABT_STACK_SIZE, 0x00000004
.set FIQ_STACK_SIZE, 0x00000004
.set IRQ_STACK_SIZE, 0X00000100
.set SVC_STACK_SIZE, 0x00000100
Any clues out there? THANKS!