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


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

Re: Byte-swapping S-record output in objcopy?


"Zack Weinberg" <zack@codesourcery.com> writes:

> One of CodeSourcery's customers has asked us for ideas about how to
> handle a fairly peculiar situation, to wit:  There are ARM embedded
> systems where the initial boot (from ROM) is in big-endian mode, but
> after everything comes up the operating system runs in little-endian
> mode.  To handle this properly, the ROM image needs to be generated
> little-endian and then byte-swapped before the ROM is burnt.  

It seems to me that you would need to compile/assemble the ROM in
big-endian mode, and the rest in little-endian mode.  Is simple byte
swapping enough?  Maybe it is if the ROM is all assembly code.

> The image is compiled to ELF, the ROM burner takes S-records, so one
> obvious approach is to add a byte-swapping mode to objcopy -O srec.  I
> was wondering, first, whether there is already a way to do something
> like that, and second, if there isn't, whether a patch to add such a
> feature would be accepted.

I don't think there is a feature like that now.  It would be pretty
simple to write a program to byte-swap S-records.  You could almost do
it in sed.  But I suppose another objcopy argument would be OK too.

Ian


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