UsbSendPacket(packet, len);\r
}\r
\r
+extern char _osimage_entry;\r
void BootROM(void)\r
{\r
//------------\r
USB_D_PLUS_PULLUP_OFF();\r
LED_B_ON();\r
\r
- // jump to Flash address 0x10000 (LSBit set for thumb mode, 0x100000 added for Flash base address)\r
- asm("ldr r3, = 0x00110001\n");\r
- asm("bx r3\n");\r
+ // jump to Flash address of the osimage entry point (LSBit set for thumb mode)\r
+ asm("bx %0\n" : : "r" ( ((int)&_osimage_entry) | 0x1 ) );\r
}\r
}\r
}\r