so, cosmo0 suggested we make a separate thread on this..
sum up: i got a dead mobo for this, a friend of mine desoldered the cpu, another one measured the pins
(scroll down for pinout
) and now trying to get jtag software to talk to the 900.. PROPERLY.
here is the stuff done / talked about so far:
1. cosmo0:
re JTAG I noticed two 12 pin headers on the back of the motherboard, one labelled PIC CN18
(interface to program the pic chip?
) - would be cool if the other one is JTAG. cmonex if you've desoldered the CPU from a board you could check with a multimeter if any of the header pins connect to the CPU JTAG pads
from the PXA255 design guide from Intel:
H11 is nTRST - jtag reset
H12 TCK - jtag clock
H13 TMS - jtag mode select
H15 TDI - data input
H16 TDO - data output
2. cosmo0:
BTW I removed what looks like the modem daughtercard from the MB and sure enough the magic letters JTAG are printed above the header CN10
(which is next to PIC CN18
)
3. cosmo0:
http://www.hpcfactor.com/forums/forums/get-attachment.asp?action=view&attachmentid=1516
4. cosmo0:
have a look at this link to a gumstix page about JTAG. They seem to be using OCD Commander to flash the bootloader even though OCD Commander
(free software
) claims not to do flashing. They mention a couple other softwares too and the hardware info is very interesting, although Gumstix specific ...
(link:
http://docwiki.gumstix.org/JTAG)
5. cmonex:
what do you think about jtag tools 0.5.x? my problem is that my friend probably won't install linux to use this one
6. cmonex:
the jtag connector is the other special
(white
) connector beside the PIC connector. it is also under the CF slot too
(easily accessible in the slot itself
).
the pinout is: 8 - test, H11-ntrst 9, H12-tck 1, H13-tms 3, H15-tdi 5, H16-tdo 10, A1-DC3,3V
now could someone just tell me what software can be used for this flash+cpu
reminder: flash is intel nor flash 28f128j3c150
(2x16mb chips
)
7. cosmo0:
AFAIK gumstix people ARE using ocd commander
(uncracked
) to rescue bricked gumstix ... after all if you have JTAG interface to the PXA can't you feed code to it to write to the flash chip?
(ie you don't write direct to flash chip but write a script to go through PXA ...
)
8. cmonex:
ok, if anyone has a chance to try ocd commander before i try
(or cosmo0
) : initialize the ram with some commands
(gumstix macro file is a good template
) then download the updater bootloader
(updbl.nb0
) to ram and try to boot that by jumping to it
(base address is 0xA00E0000
). see if it boots make sure you do NOT have a saboot.nb0 on your cf card, just for first test not needed
9. cmonex:
of course the normal bootloader
(saboot.nb0
) can be downloaded too
(base 0xA0060000
). hopefully one of them runs ok without modifications
(but saboot might need some
)
10. cmonex:
we
(friend and i
) have managed to get OCD commander connected to the 900c over jtag!
(using wiggler cable
)
OCD can't flash the rom, but this is the first software that does handle the xscale alright. so we'll want to initialize the RAM and then download a bootloader into ram and jump to it! heheh.
situation now: flash can be read OK. i'm just not sure if the values given are valid. tried a download and run bootloader code, but the thing
(900c
) does nothing, probably i got the ram stuff wrong. i'm still a beginner with ram controllers...
(and this OCD thing does no standard initialization thing, commands resembling ASM have to be given.
)
or the bootloader code needs to be modified.
or maybe i got the file format wrong. OCD wants .s19 and similar, i used .s19..
not giving up..
edit: anyone well versed with this srec format crap here? i used s19convert.exe to convert the raw binary file into s19, giving the start address as 0xA00E0000
(which is bootloader start in this case
). hmm did i do anything wrong? the file starts this way
(plain ascii
):
S0030000FC
S123A00E0000FE0300EA00000000000000000000000000000000000000000000000000000000F1
S123A00E00200000000000000000000000000000000000000000000000000000000000000000BC
S123A00E004045434543A0450F9000000000000000000000000000000000000000000000000008
the original binary is FE 03 00 EA then lots of zero's then at offset 0x40 45434543 etc. so that looks ok.
11. cmonex:
update 2.... tried to write into ram and then read that value, no write happened accordingly to that or i screwed up the write command
(not exactly clear how it has to be written for the OCD program
).
back to drawingboard
(ram stuff
) :/
12. cmonex:
with the jtag, i'm really about to give up. we hooked up another 900c
(one that was 100% working
), and the OCD software still will not read the known proper values from flash. i know what is atwhich location and it just gives nonsense.
the other jtag programs will not even detect the cpu
any better software? doesnt anyone else want to try?
this is important for linux too.
13. cmonex:
here is a pic of the ocd commander thing
(as said, it's the only one that would detect the target
)
tried to read the romhdr signature as thats a sure point
(the E0 and E1 it threw at me is meaningless
), then tried to read OS start
(21 is no good
), then tried to write into PC and LR... no luck and i dont know what the errors mean, no help file is included with the program and google is useless
pic:
http://www.hpcfactor.com/forums/forums/get-attachment.asp?action=view&attachmentid=1621
14. cmonex:
(in answer to a question
): ...so thats alright, the software is the problem we've tried two kinds of wiggler cables, and one more
(not wiggler
) and no go
15. cosmo0:
Cmonex I agree about jtag importance - we need jtag if we want to flash custom linux roms onto the mp900c flash, and I think that's an area where mp900 is superior to jornadas
(correct me if I'm wrong
) Also we need to know if we brick our mp900's during linux development there is a way to save them.
Cmonex jtag is REALLY tricky and not many people have the skills you do to figure it out so please don't give up
(I know you won't really - hey all the best with exams
) - at least OCD commander is recognising the cpu, sounds like timing issues
(pxa memory register initialising
) maybe
16. cosmo0:
And I've started building a jtag cable so I can try that out. One thing - I think I forgot to mention the nRESET signal which should connect to pad J13 on the PXA I suspect pin 2 of the 12 pin header is nRESET...
17. cosmo0:
Yes cmonex finally, finally jtag
Guess what - I can confirm your results so far ! it's damn frustrating
I've put together a buffered wiggler type cable with nRESET wired in as I think it should be
(actually nRESET signal is not considered essential for jtag but better to have it wired in than not i guess
) and OCD commander just won't talk to it
(nor will linux jtag-tools
)
I tried every variation of parport mode in bios, different speeds, nothing informative ...
So I don't know if it's the software, my cable or the mp900c. Next I'm gonna try hooking up my gumstix through this wiggler ... that should work
(if not I know it's software or the cable
)
MobilePro900c JTAG could do with it's own thread maybe some people who actually know JTAG will see it and help us out - or maybe we want to crack this problem first and then go public with a complete HOWTO
I'll let you know how I go with the gumstix.
18. cmonex:
damn so it isn't too easy did you use the right version of jtag tools, i assume..? has to specifically support the pxa255.
did OCD at least find the target? it did for us.
ok. i'm going to make a jtag thread now and will copy the relevant stuff there from here.
(link:
http://www.hpcfactor.com/forums/forums/thread-view.asp?tid=8389&start=166)
....so there we are
please anyone, ideas?
Edited by cmonex 2007-07-06 3:49 AM