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

Memory exceeded but program still build

Flash = Code + RW data + RO data
Ram = RW data + ZI data

right??

I am using LPC1317 with 64K flash & 10K sram.

After build keil shows :
code : 63450
ro : 9566
rw : 376
zi : 3120

So flash = 73392 ram = 3496

How does code get build if memory exceeds it limit. I haven't changed map file .

  • What memory settings do you have in the "Target" tab of "Options for Target"? Does the size of IROM1 exceed 0x10000?

  • Yes its 0x10000.
    I haven't change any default setting

  • So normal build with 4.70, total size 0xA23C

    From .MAP Total ROM Size (Code + RO Data + RW Data) 41532 ( 40.56kB)

    Modifying target IROM1 details to 0xA200 size

    Build target 'test'
    linking...
    .\test\test.axf: Error: L6220E: Load region LR_IROM1 size (41516 bytes) exceeds limit (41472 bytes). Region contains 63 bytes of padding and 0 bytes of veneers (total 63 bytes of linker generated content).
    Target not created

    If you're using a scatter file, check the parameters in that, not the GUI representation.

  • I didn't find sct file in my current program.

    My earlier codes build on previous versions of keil had sct file. I checked that & its right configured.

    Now I found that there is no limit with code that I can build. I had build larger than 80KB of code.

    I had checked map file & it shows:

    
    ==============================================================================
    
        Total RO  Size (Code + RO Data)                82612 (  80.68kB)
        Total RW  Size (RW Data + ZI Data)              3528 (   3.45kB)
        Total ROM Size (Code + RO Data + RW Data)      82752 (  80.81kB)
    
    ==============================================================================