This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Images for 16-bit flash?


Guys:


I'm pretty familiar with using objcopy to carve up an application
image into individual files for programming into a bank of 8-bit-wide
flash chips (distributed across a 16-bit data path, in this case):

  $ arm-elf-gcc -g -o hello hello.c
  $ arm-elf-objcopy --change-section-address .text=0 hello hello0
  $ arm-elf-objcopy --byte=0 --interleave=2 --output-target=srec \
     --only-section=.text hello0 hello-msb.srec
  $ arm-elf-objcopy --byte=1 --interleave=2 --output-target=srec \
     --only-section=.text hello0 hello-lsb.srec

That yields two output files, hello-msb.srec and hello-lsb.srec.  The
lsb file has the stuff that goes into the flash chip connected to the
lsb of the data bus; the msb file goes into the flash connected to the
msb of the bus.  Simple enough.

Now, what if I'm on a 32-bit bus, and I have two 16-bit flash chips?
I can't figure out how to extract bytes 0 *and* 1 with an interleave
of 4, and I also can't figure out how to crack the image apart into
four byte-wide files and then stitch them back together into two files
with the upper words in one and the lower words in the other.


I'm stumped.  Suggestions?  Or does objcopy just not go there yet?


Thanks!



b.g.
-- 
Bill Gatliff
bgat@billgatliff.com

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]