Bootloader
TFTP
JTag
Miscellaneous
I cannot get the release 7.1 bootldr to install on the stargate. When I try and upload, I get the following message:
boot> load bootldr 0x00040000 0x00000000loading flash region bootldr using xmodem C0002EE80 bytes loaded to A0000400 Not loading bootldr into flash Downloaded image does not have ARCHITECTURE_MAGIC=01050059 Instead found=0104000E
You have to load it through JTAG the first time according to the README file because magic numbers don't match. Do to some complications, we can not use "load bootldr" to upgrade the bootldr. Basically, the old bootldr thought it was a SA-1110, so it won't let us upgrade to the PXA.
There is another way which is a bit more complicated but easier in some ways.
Just be careful -- if you screw this up, then you *will* need to go find a jtag. However, then you're just back to where you were before :-).
I am trying to load a root partition via TFTP and getting retries as shown below. Does this mean it's getting timeouts (e.g. tftp server not responding)? Or some sort of NACK or other hard error (e.g. failed check, permission denied, etc)?
boot> load root partition root is a jffs2 partition: expecting .jffs2 or wince_image.gz. After receiving file, will automatically uncompress .gz images loading flash region root using tftp IP: 131.179.144.51 netmask: 255.255.255.0 gateway: 131.179.144.1 Boot server: 131.179.144.22 TFTP loading 'stargate/root.jffs2' to a0000400 eth addr: 00:b0:d0:71:26:34 TFTP from server 131.179.144.22 Filename 'stargate/root.jffs2'. Load address: 0xa0000400 Loading: T T T T T T T T T Retry count exceeded; starting again eth addr: 00:b0:d0:71:26:34 TFTP from server 131.179.144.22 Filename 'stargate/root.jffs2'. Load address: 0xa0000400 Loading: T T T T T T T T T Retry count exceeded; starting again ...
The "T"s are timeouts. I got these continuously when my license to WinAgents expired. I also got them intermittently when I used the TFTP server in Santa Clara while I was in Hillsboro.
For those that use the JTAG cable (MEMEC Model IJC-2), you may have issues getting access to the parallel port if the parallel port mode in the BIOS is set to 'Bi-Directional'.
To fix this, set the parallel port mode to 'ECP' in the machine BIOS.
I can't seem to find the JTAG cable IJC-2 mentioned in the JTAG programming guide at either www.memecdesign.com or www.insight-electronics.com.
I didn't make any head way on their web site in mid 2003 so I called them at 888 488 4133. I asked for a JTAG Cable (IJC-2). The associated part numbers on my packing invoice are:
You need both pieces. It were $60 plus $15 shipping in 2003.
Using JFlash_mm from Intel and the JTAG connector, I have so far been unable to successfully transfer the full ~190K bootldr that comes with release 7.0. Using three different stargates (Rev. 1.1 and Rev. 1.1 w/ the green wire fix) and a total of approx. 10 attempts, it seems to never get the whole thing over successfully and fails at random places. I can transfer the much smaller bootldr that comes with Release 5 probably 80% of the time (it's about 100K). I've tried the following things:
Questions:
I've seen the verify problem when loading larger images via JFlash. The JFlash verify process that immediately follows the write process will show errors. However, if you rerun JFlash with the verify-only option, everything checks out OK. My guess is that the flash does not get put back into normal read mode before the first verify and JFlash shows fictitious errors...
I loaded a new bootldr onto my Stargate. It will not come up to the prompt correctly. So I tried to flash a good one in with JTAG. But I can't get it to load. Has anyone ever seen the following error and have worked around it.
C:\Program Files\Intel Corporation\JFlash_MM>jflashmm dbpxa250_C bootldr JFLASH Version 5.01.006 COPYRIGHT (C) 2000 - 2003 Intel Corporation PLATFORM SELECTION: Processor= DBPXA250 Development System= Lubbock Data Version= 1.0 DBPXA250 revision ?? Found flash type: 28F128J3A Erasing block at address 0 Error, Block erase timed out C:\Program Files\Intel Corporation\JFlash_MM>
Yes, I have seen this one. Something went wrong in programming the bootloader and the JTAG pod that we use couldn't get control of the board to program it over.
I had to use a better JTAG probe (one from Corelis) to recover from this. For example:
PCI-1149.1/Turbo
http://www.corelis.com/products/JTAG_Controllers.htm
How do I protect flash partitions?
To protect the flash, you can type something like:
pflash 0 0x140000 1
Which will protect the bootldr, params, and kernel -- which should make them read-only at a hardware level, I think.
So undo it, simply use a "0" instead of a "1" in the last column
My attempt to load the bootldr from the kernel isn't working. Can you tell be what I am doing wrong? See below.
stargate:~# cd /tmp stargate:/tmp#scp root@clyde:/stargate/bootldr . root@clyde.jf.intel.com's password: bootldr 100% |*****************************| 188 KB 00:01 stargate:/tmp# cat bootldr > /dev/mtdblock/0 cat: write error: Operation not permitted
The bootldr FLASH sectors are probably protected -- but, you can't unprotect them through linux, so you're kinda not in a good place. Basically, you either need a working bootldr command prompt, or a working JTAG… :-(