Dear All,
I use LPC1778 and try to divide internal flash memory for my handmade bootloader and firmware. And when i set another IROM1 start address for my firmware (for example 0x1000) i see SWD Communication Failure message in window "Building Output". After that i can't debug or update my mcu. Can use only ISP. Why changing IROM1 start address is stopping MCU? What i have to do to run my code from any address? P.S. When i use LPC2367 there is no these problems. P.P.S. My version 4.53
I trying apply RAM_MODE, REMAP commands for my startup file. But doesn't work. With best regards, Vladimir.
I removed .ini file. And created bootloader with next code:
#define NVIC_VectTab_FLASH 0x10000 #define SP_OFFS 0 #define RESET_OFFS 4 int main (void) { //========== NEW BOOTLOADER FOR CORTEX-M3 ================= void (*user_code_entry)(void); register uint32_t MSP __ASM("msp"); SCB->VTOR = NVIC_VectTab_FLASH; user_code_entry = (void (*)(void))(( *((unsigned int *)(NVIC_VectTab_FLASH + RESET_OFFS))) ); MSP = *((unsigned int *)(NVIC_VectTab_FLASH + SP_OFFS)); user_code_entry(); }
And after burning my programm from: 0x10000 address I see next message:
SWD Communication Failure.
Where is my mistake? Please help.