Hi, i've got 2 seperate compiled and linked applications on my TMS570LS3137. The bootloader resides at 0x00000000.
See Linkerfile:
/*----------------------------------------------------------------------------*/ /* Memory Map */ MEMORY { VECTORS (X) : origin=0x00000000 length=0x00000020 FLASH0 (RX) : origin=0x00000020 length=0x0017FFE0 FLASH1 (RX) : origin=0x00180000 length=0x00180000 STACKS (RW) : origin=0x08000000 length=0x00001500 RAM (RW) : origin=0x08001500 length=0x00026B00 /* USER CODE BEGIN (2) */ /* USER CODE END */ } /* USER CODE BEGIN (3) */ /* USER CODE END */ /*----------------------------------------------------------------------------*/ /* Section Configuration */ SECTIONS { .intvecs : palign(32), fill =0xffffffff {} > VECTORS .text : palign(32), fill =0xffffffff {} > FLASH0 | FLASH1 .const : palign(32), fill =0xffffffff {} > FLASH0 | FLASH1 .cinit : palign(32), fill =0xffffffff {} > FLASH0 | FLASH1 .pinit : palign(32), fill =0xffffffff {} > FLASH0 | FLASH1 .bss : {} > RAM .data : {} > RAM /* USER CODE BEGIN (4) */ /* USER CODE END */ }
The application resides at 0x00020000.
See Linkerfile:
/*----------------------------------------------------------------------------*/ /* Memory Map */ MEMORY { /* USER CODE BEGIN (2) */ VECTORS (X) : origin=0x00020000 length=0x00000020 FLASH0 (RX) : origin=0x00020020 length=0x0015FFE0 FLASH1 (RX) : origin=0x00180000 length=0x00180000 STACKS (RW) : origin=0x08000000 length=0x00001500 RAM (RW) : origin=0x08001500 length=0x00026B00 /* USER CODE END */ } /* USER CODE BEGIN (3) */ /* USER CODE END */ /*----------------------------------------------------------------------------*/ /* Section Configuration */ SECTIONS { .intvecs : palign(32), fill =0xffffffff {} > VECTORS .text : palign(32), fill =0xffffffff {} > FLASH0 | FLASH1 .const : palign(32), fill =0xffffffff {} > FLASH0 | FLASH1 .cinit : palign(32), fill =0xffffffff {} > FLASH0 | FLASH1 .pinit : palign(32), fill =0xffffffff {} > FLASH0 | FLASH1 .bss : {} > RAM .data : {} > RAM /* USER CODE BEGIN (4) */ /* USER CODE END */ }
The jump from application to bootloader is working very fine with
systemREG1->SYSECR=0x0000C000;
But, how can i jump from Bootloader to Application?