This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

LPC1778 can't start from any IROM Address only 0x0

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.

Parents
  • I add .ini file as initialization file in debug/simulator.
    //---------------------------------------------------------------------------------------------
    FUNC void Setup (void) { SP = _RDWORD(0x10000000); // Setup Stack Pointer PC = _RDWORD(0x10000004); // Setup Program Counter _WDWORD(0xE000ED08, 0x10000000); // Setup Vector Table Offset Register - VTOR
    }

    LOAD %L INCREMENTAL // load the application

    Setup(); // Setup for Running

    g, main

    //---------------------------------------------------------------------------------------------

    And try to run my programm in simulator. But it doesn't work even in simulator...
    It's stoped in 1st instruction :

    0x00000000 0000 MOVS r0,r0

    Where is my mistake??? Does anyone knows?

    With best regards, Vladimir

Reply
  • I add .ini file as initialization file in debug/simulator.
    //---------------------------------------------------------------------------------------------
    FUNC void Setup (void) { SP = _RDWORD(0x10000000); // Setup Stack Pointer PC = _RDWORD(0x10000004); // Setup Program Counter _WDWORD(0xE000ED08, 0x10000000); // Setup Vector Table Offset Register - VTOR
    }

    LOAD %L INCREMENTAL // load the application

    Setup(); // Setup for Running

    g, main

    //---------------------------------------------------------------------------------------------

    And try to run my programm in simulator. But it doesn't work even in simulator...
    It's stoped in 1st instruction :

    0x00000000 0000 MOVS r0,r0

    Where is my mistake??? Does anyone knows?

    With best regards, Vladimir

Children