IXP425 Little Endian/ Big Endian
CASTalk.com Forum Index CASTalk.com
Discussion of DSP, FPGA, storage and embedded system.
 
 FAQFAQ   MemberlistMemberlist     RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 
Google
 
Web castalk.com
IXP425 Little Endian/ Big Endian

 
Post new topic   Reply to topic    CASTalk.com Forum Index -> Embedded System
Author Message
A Beaujean
Guest





Posted: Tue Jan 04, 2005 4:11 pm    Post subject: IXP425 Little Endian/ Big Endian Reply with quote

Having developed a new IXP425 based card, we now face the problem of
writing the BSP for it.

Actually, the main problem at this very moment is understanding the
real issues with Endianess.

Indeed, primary tests made with the ARM MultiIce emulator appear to
clearly indicate that Big Endian is required if wanting to access the
IXP425 expansion bus with correct addressing (bytewise or wordwise).

As known, the boot device(s) on the IXP425 CPU must be located on the
expansion bus. We selected 16 bits wide for the boot device.

However, at reset, the CPU defaults to Little Endian mode.

There comes then the issue of coherent switching from the Little to
Big Endian mode.

More precisely :

A) Is the bootloader to be generated in Little or Big Endian ?
B) How to handle the copy to SDRAM (byte swapping or not) ?
C) How and when to switch Endian mode to constantly keep data
coherency ?

Is anyone aware of a good explanatory document dealing with the
problem, or better an example of a startup code ?

Your help will be greatly appreciated.

A. Beaujean
Back to top
Michael N. Moran
Guest





Posted: Tue Jan 04, 2005 5:19 pm    Post subject: Re: IXP425 Little Endian/ Big Endian Reply with quote

A Beaujean wrote:
Quote:
However, at reset, the CPU defaults to Little Endian mode.

There comes then the issue of coherent switching from the Little to
Big Endian mode.

I've got an old project that does this:

reset_vector:
// set big-endian
mrc p15, 0, r0, c1, c0, 0
orr r0, r0, #0x80
mcr p15, 0, r0, c1, c0, 0
CPWAIT r0

YMMV

--
Michael N. Moran (h) 770 516 7918
5009 Old Field Ct. (c) 678 521 5460
Kennesaw, GA, USA 30144 http://mnmoran.org

"So often times it happens, that we live our lives in chains
and we never even know we have the key."
The Eagles, "Already Gone"

The Beatles were wrong: 1 & 1 & 1 is 1
Back to top
 
Post new topic   Reply to topic    CASTalk.com Forum Index -> Embedded System All times are GMT
Page 1 of 1

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum




VoIP Electronics Powered by phpBB