Marvell

Alex Gibson agibson at eng.uts.edu.au
Sat Jan 12 06:10:47 EST 2008


Trying to reply to both your emails in one.

Quoting Edward Cherlin <echerlin at gmail.com>:

> 
> OK, my hand is up.
> 
> I started a Wiki page, Marvell microkernel, and pulled together
> various references to what we know and don't know, including a link to
> the 88W8388 page, which says that it is the only public documentation
> in the world on that chip.
> 
> First thing, we need to know who has OLPC's copy of the Marvell
> developer's kit, and what's in it.
> 
> Do we have to sign an NDA to use the kit?

I don't know about the kit.

To get access to the chip docs(datasheet) and even then an NDA is no guarantee
of receiving the docs as in our(UTS's) case.

> 
> We apparently need more detail on the particular version of the
> ARM946E-S core on the chip. There are a number of hardware options.

We need the datasheet , peripherals and memory/register map.

Marvell does not give out this information.
They do not provide source code or FULL
register information to anyone outside of marvell.
And for those of us who have signed an NDA with Marvell, reverse engineering is
forbidden.

> The code evidently mixes 32-bit ARM instructions and 16-bit thumb
> instructions with data. We need a fairly smart disassembler. And a
> legal opinion about reverse engineering.

Need internetworking support (mixing of arm and thumb code).

We hit a brickwall in terms of the docs.

We signed an NDA with Marvell but the last time I checked
had not received access to any docs for chip/s used by olpc
just for some other product families.

Marvell was trying to encourage us to participate in open802.11s
started by Javier Cardona

http://open80211s.org/


For toolchains there are a few options for opensource arm gcc builds.
Can expect pretty much none of them will directly support marvells 
extended ARM946E-S (by extended I mean the extra registers).

Note you want arm-elf-gcc not arm-elf-linux-gcc .
A few I know of include 

code sourcery lite http://www.codesourcery.com/gnu_toolchains/arm
has support for arm946es. Usually have the most up to date 
in terms of chip support and optimisation as they work closely with arm.
Note https://support.codesourcery.com/GNUToolchain/kbentry51

gnu arm   www.gnuarm.com - has support for arm946es
What I usually use for embedded work as it provides a known working package for
linux , mac osx and windows.

build yourself from source , must make sure you end up with support for 
arm946es (if that is what Marvell have used).
No easy way to verify that yur self built tool chain is working properly on
arm946es
See http://www.gnuarm.com/support.html on build process

commercial tools  
http://www.rowley.co.uk/arm/index.htm  cross works for arm
arm gcc + libraries + ide

full version of code sourcery g++ http://www.codesourcery.com

You have to be careful as not all arm gcc varieties floating around on the web
have support or have been tested on a variety of arm9 cores.


Next question is which micro kernal/rtos to use ?

I don't see the need to rewrite one from scratch, there are a few opensource
rtos available that have been previously ported to arm9, not arm946es.

ecos http://ecos.sourceware.org/
free rtos  www.freertos.org
tinyos - xscale not arm9
http://nuttx.sourceforge.net/  
???

One other question is how much of the spectrum management is in software ?

re:Microkernel documentation from owner
Some of the threadx docs can be downloaded from www.rtos.com once
you have registered.

The big question is can the OLPC use and or distribute firmware that has been
produced by reverse engineering, considering their agreement/s/NDA/s ??
with Marvell, which from memory(don't have our NDA at hand) prohibit such
activities.

One option that may be workable is Marvell provide binaries or objects for the
parts of the chip they will not give out the docs for.
This was raised previously I think by Dan Williams ?

In my opinion there is no point in reverse engineering or developing firmware if
olpc can't legally distribute and use it.

Alex Gibson



--
UTS CRICOS Provider Code:  00099F
DISCLAIMER: This email message and any accompanying attachments may contain
confidential information.  If you are not the intended recipient, do not
read, use, disseminate, distribute or copy this message or attachments.  If
you have received this message in error, please notify the sender
immediately and delete this message. Any views expressed in this message
are those of the individual sender, except where the sender expressly, and
with authority, states them to be the views the University of Technology,
Sydney. Before opening any attachments, please check them for viruses and
defects.



More information about the Devel mailing list