i thought i should post this in the cenet section too, not just as a post in original jtag thread.
if your 900 or 900c suddenly stops powering up, maybe after a system crash or just on its own after a reboot, it probably has a corrupt bootloader image, but otherwise perfectly working hardware.
or if you flashed the device in the wrong way
(oops
) that resulted in corrupt bootloader...
here's the solution.
what you need
- PC with windows
(98 or later
), or linux works too, but this description applies to windows
- if you are on windows, then also cygwin from
http://cygwin.com
- parallel port on PC
- jtag cable, schematics for a working example
(very simple!!
) here:
http://hpcmonex.net/nec900/files/jtag/900c_jtag.jpg
this emulates a wiggler cable... you can also order some more serious type of wiggler but that costs more.
- soldering iron and the right screwdriver to disassemble the 900c
- bootloader files
http://hpcmonex.net/nec900/files/jtag/jtagbootloaders1.zip
- jtag tools 0.5.1, here's a version compiled for cygwin:
http://hpcmonex.net/jtag900cfinal.zip
steps
1. after you got all the above, disassemble the 900c, hpcnec has a guide here:
http://hpcnec.com/cgi-bin/hpcnec.cgi?fid=15&topic_id=1204570453
2. solder the jtag cable to the jtag pins on the 900c like this:
http://hpcmonex.net/nec900/files/jtag/nec900c_jtag.jpg and sort out the LPT end on the PC too.
3. now to make the software work... assuming you are on windows, download and install cygwin from
http://cygwin.com. when it gets to ask you about which packages to download, leave all that on default except for an extra package you need, it's ioperm under Devel packages.
4. cmd into cygwin\bin and run this command:
ioperm -i
5. after that, here is the already compiled jtag tools for cygwin in windows:
http://hpcmonex.net/jtag900cfinal.zip. unzip that to cygwin\home\yourusername\jtag. now it's all ready... to start jtag tools, run cygwin from the cygwin icon on desktop or start menu, and from the cmd it opens, issue this command:
cd jtag, then issue this command:
cd src, finally issue this:
./jtag
6. connect the 900c if you haven't already, and power it up by simply inserting the battery and putting it on AC power as well! type this command:
cable parallel 0x378 WIGGLER
(check if your parallel port is indeed on 0x378, in device manager, lpt port, resources
) it should say Initializing ...
of course, if you have a non wiggler cable that is supported by jtag tools then use the name of that instead.
7. then type this command:
detect
this should tell you your CPU is a PXA255A0. if it doesn't return anything, make sure the device is on AC properly / battery is fully charged
8. next command is:
detectflash
that should return lots of info on the flash
9. now try reading your current bootloader image:
readmem 0x0 0x80000 filename
you can check its contents or compare it to saboot.nb0 bootloader image to see if it is the same... if not then it's probably corrupt and you have a good chance to revive the device.
10. now if you had cmonex v2.0 rom when it died, you need to issue another command, otherwise not:
eraseflash 0x01F00000 4
11. after all this you are ready to flash a new bootloader in. it'll be in two parts until jtag tools is fixed
(it is buggy
). so you have to flash the bootloader like that. type this command first:
flashmem 0x0 sabootpatched01.nb0
12. if flashing and verification was OK, next and last command is:
flashmem 0x01F00000 sabootpatched03.nb0
if verification is ok, then you are almost finished now.
13. disconnect from the PC, remove power from 900c, and try reinserting battery and powering up. it should boot up now! if not then maybe something went wrong, try jtag again. note, it's fine if it doesn't boot to OS, just bootloader. just reflash an OS after completing step 14 below!!
14. you should reflash in the
normal way, from a CF card, with saboot.nb0 from the jtagbootloaders1.zip after you finished jtagging! otherwise when you flash an OS it'll overwrite second part of bootloader
that's all.
troubleshooting:
1. if verification fails after using flashmem command on 0x01F00000 address, then go to step 10 and use eraseflash command.
2. if cygwin won't run jtag tools then
http://www.hpcfactor.com/forums/forums/thread-view.asp?tid=9529&start=16&posts=35 has the solution
3. if you had a 900 running hpc2000 OS then the above posted bootloader will not boot the OS. but the solution is simple: you can choose to keep hpc2000 or upgrade to cenet. if you want hpc2000, then just download
http://hpcmonex.net/nec900/files/flash/XIP_hpc2000downgrade-v_6_0_for-cenetbootloader4_10_only.zip
if you want ce.net then download stock cenet rom from
http://hpcmonex.net/nec900/download.php (select any of the options except "Not listed"
)
flash the image from CF card using C+F method
(how to described on my site
http://hpcmonex.net).
Edited by cmonex 2008-03-21 2:37 AM