On the Cortex-M3 the initialization stack pointer is at location 0x00000000, the following is from the Cortex-M3 interrupt vector list (this table is at location 0x00000000 in Flash):
__cs3_interrupt_vector_cortex_m:
.long __cs3_stack /* Top of Stack */
.long __cs3_reset /* Reset Handler */
.long NMI_Handler /* NMI Handler */
.long HardFault_Handler /* Hard Fault Handler */
.long MemManage_Handler /* MPU Fault Handler */
.long BusFault_Handler /* Bus Fault Handler */
.long UsageFault_Handler /* Usage Fault Handler */
.long 0 /* Reserved */
.long 0 /* Reserved */
.long 0 /* Reserved */
.long 0 /* Reserved */
.long SVC_Handler /* SVCall Handler */
.long DebugMon_Handler /* Debug Monitor Handler */
.long 0 /* Reserved */
.long PendSV_Handler /* PendSV Handler */
.long SysTick_Handler /* SysTick Handler */
At reset, the Cortex-M3 sets the stack pointer to the location stored at 0x00000000.
You could redefine the __cs3_stack symbol to be at 0x20080000 for example. I'm not sure how to do this with the mbed compiler, but with GCC you could modify the link script as follows
__cs3_stack = 0x20080000;
or just hard code it above.
Dan