Forum: ARM programming with GCC/GNU tools Need "no load"/"no fill" on unused sectors when programming

von Joe D. (jdupre)

Rate this post
0 useful
not useful
I have bootloader code that uses the first and last few sectors of flash 
on an LPC2xxx.

In the startup assembly file the vectors & protection code word load at 
0x0, then there is an .org 0x7b000 statement that puts the program code 
up high.  There is no specific "fill" command.

When I go to debug and the program loads to flash, all the sectors in 
the middle get erased and filled with 0.  I don't want that because it 
erases the "main" code that I have previously loaded.

Is there a way to tell the system to ignore the unused area?  Right now 
it thinks that the startup section includes all the empty space, rather 
than only the first 0x200 bytes.

I essentially need to define a "noload" section between 0x1000 and 
0x7b000 so that it will leave those sectors alone.  Is this possible???

(Using gcc & openocd)

von Joe D. (jdupre)

Rate this post
0 useful
not useful
Ah, was looking in the wrong place.  I just edited the linker script to 
remove the memory I didn't want touched:
  flash1   (rx) : ORIGIN = 0x00000000, LENGTH = 4K
  /* Sectors 1 - 24 reserved for main program code */
  flash2   (rx) : ORIGIN = 0x0007B000, LENGTH = 12K
  ram      (rw) : ORIGIN = 0x40000000, LENGTH = 30720
  usbram   (rw) : ORIGIN = 0x7FD00000, LENGTH = 8K
  ethram   (rw) : ORIGIN = 0x7FE00000, LENGTH = 16K

Vectors and reset handler go in flash1, everything else goes up in 


Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]

Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.