On 17 Feb 2003, Peter Riocreux wrote:

> 
> >> "DS" == Duncan Sands <[EMAIL PROTECTED]> writes:
> 
> >> However, being able to include the pppd code into the microcode so
> >> that the modem presents standard IP packets to the device driver
> >> would be nice and shouldn't be too difficult to achieve.
> 
> DS> Yes, this is a good idea.
> 
> >> I wonder how much DSP work the microcode has to do and how much is
> >> built into the ATM chipset?
> 
> DS> Given it is a cheap modem, I'm guessing the microcode does a lot.
> 
> I had not realised that there was an ARM core in there, and even if I
> had, I probably would have assumed that the microcode contains a lot
> of other stuff too. Is it known/believed/guessed that all/most of the
> microcode is ARM code?
> 
> Do we know what ARM core? 6, 7, 9? Thumb/non-Thumb?, with or without an
> MPU/MMU? If it does a lot of hard DSP stuff, that might point to it
> being a 9E core.
> 

One of the modems advertised on a press release - sorry you will
have to google for it and I can't remember the search terms I used -
definitely uses an ARM 9E core. No idea about Thumb/Non-Thumb.

I've managed to find an Arm 7 (psion 5?) GPLed disassembler on the
web that should be easy enough to interface with - basically you
pass it a 32 bit word and the routine disassembles that command.
(I've not done any ARM before but I've learned other assemblers by
debugging compilers output so it's nothing new ;-)

The real problem will be if most of the microcode is doing DSP magic.
You will need the detailed specs of the signalling etc on the line and
also the detailled specs of the ATM chips so you know what data you are
getting and what you need to do with it in order to make any sense of
most of the code.

Best hope is to spot bits like the 0xec -> ATM cell CRC code and then
"rip" big chunks of the microcode and use it unchanged.

IIRC, when doing a dump of the microcode there is significant amounts of
ASCII in there (but I might be getting confused with the mgmt.o file rather
than the microcode itself. ISTR that the microcode looked like it was 
probably similar to that used in the ethernet modems.)


> A trivial way to spot ARM code is places where a large proportion of
> the words have 0xE as the most significant nibble. (For the
> uninitiated, *all* [1] ARM instructions are contionally executed, and
> 0xE is the unconditional condition.) The start of ARM code will often
> contain words starting 0xEA (an unconditional branch) or 0xE59FF (load
> the PC from a PC-relative address) - and you get these in the bottom
> seven or eight words [2], possibly with a gap at address 0x14 [3], as
> these addresses are the exception vectors.
> 

Useful info. I might have a play sometime this week (and maybe buy
a book on ARM)

Regards,

Tim.

-- 
God said, "div D = rho, div B = 0, curl E = - @B/@t, curl H = J + @D/@t," 
and there was light.

     http://tjw.hn.org/      http://www.locofungus.btinternet.co.uk/



Liste de diffusion modem ALCATEL SpeedTouch USB
Pour se d�sinscrire : mailto:[EMAIL PROTECTED]?subject=unsubscribe

        

Reply via email to