I try to use the above mentioned parts. When I start HJtag it’s detecting the controller and says it’s an ARM7TDMI with the ID 0x3F0F0F0F. The board has an AT91SAM7S256 controller. When I start the Flasher, select the AT91SAM7S256 and then try to “check” the memory I get an error “Flash ID does not match.”. I think this is the difference between 0x3F0F0F0F and the expected 0x270D0940.
What is going wrong here? Can anybody give me a hint please?
Gerhard
gbalzarek:
I try to use the above mentioned parts. When I start HJtag it’s detecting the controller and says it’s an ARM7TDMI with the ID 0x3F0F0F0F. The board has an AT91SAM7S256 controller. When I start the Flasher, select the AT91SAM7S256 and then try to “check” the memory I get an error “Flash ID does not match.”. I think this is the difference between 0x3F0F0F0F and the expected 0x270D0940.
What is going wrong here? Can anybody give me a hint please?
Gerhard
The 0x3F0F0F0F ID you are seeing very suspicious looking. Usually HJTAG gives it's "Unable to find target" message when there are data errors on the JTAG hardware signals, but that hardware ID sure looks like data transmission errors were occuring. Maybe too long a parallel port cable, or a very slow ARM clock on the target?????????????????????????????????
–Dave
I do not use a parallel cable. The ARM-Jtag is directly plugged into the printer-port of my computer and the flatribboncable of the adapter is about 20cm short. The evaluationboard doesn’t even reach the table surface.
The external quartz is a 18,432 mhz type.
I’ve never used the H-JTAG stuff, but the “Flash ID” seems to be the Device ID reported by the LPC on-chip bootloader. H-JTAG, like all other JTAG tools for LPC devices, has to talk to the bootloader for flash operation.
Maybe the H-JTAG flasher isn’t aware of your particular AT91SAM7 device, or you didn’t select the correct one?
Regards,
Dominic
gbalzarek:
I do not use a parallel cable. The ARM-Jtag is directly plugged into the printer-port of my computer and the flatribboncable of the adapter is about 20cm short. The evaluationboard doesn’t even reach the table surface.
The external quartz is a 18,432 mhz type.
The version of HJTAG that I have here says that it expects 0x270B0940 for your Atmel AT91SAM7S256, so reading 0x3F0F0F0F will definately cause it to fail. Your short connection path and relatively high basic CPU clock frequency should not be causing the problem then. That still leaves possible power supply problems or programming jumper settings on the target as possible problem areas??? When you start the H-JTAG server does it correctly identify the correct CPU in the graphic shown in the center of the server screen?? That MUST be correct before anything else can be done. If that is correct, then the JTAG hardware is very likely to be correctly set up.
– Dave
dshuman:
That still leaves possible power supply problems or programming jumper settings on the target as possible problem areas??? When you start the H-JTAG server does it correctly identify the correct CPU in the graphic shown in the center of the server screen?? That MUST be correct before anything else can be done. If that is correct, then the JTAG hardware is very likely to be correctly set up.
No, HJtag-Server autodetects an ARM7TDMI with the ID 0x3F0F0F0F. I also tried to set the Target, but that doesn’t change the ID. But when I start the Flasher, set the AT91-controller and then klick “check” in the programming menu I get the error “ID does not match”. Flasher has found the correct ID for the flash memory (0x270D0940). I don’t know if this was read from the controller or comes from my controller selection.
On my board are two jumpers called TEST (connected to pin 40) and BDS (connected to pin 50). They are both open, so the pins are open too (setting a jumper connects the pins to 3V3. I checked all possible settings with no success.
I really shouldn’t write forum replies after coming home from an evening of texas hold’em and several beer.
Talking about the LPC bootloader in the context of an AT91SAM7 probably doesn’t make sense…
Anyway, the 0x270d0940 is the value from the AT91SAM7S256’s CIDR register. This encodes (among other things) the architecture (AT91SAM7S) and the size (256KB). There might be a bug in H-JTAG that prevents it from working correctly with the 256KB variant. According to a thread at mikrocontroller.net (a german board), it works with the 64KB variant.
I would guess that your JTAG setup is working fine. Try getting in contact with the H-JTAG developer, maybe he can help.
Regards,
Dominic
Dominic:
Anyway, the 0x270d0940 is the value from the AT91SAM7S256’s CIDR register. This encodes (among other things) the architecture (AT91SAM7S) and the size (256KB). There might be a bug in H-JTAG that prevents it from working correctly with the 256KB variant. According to a thread at mikrocontroller.net (a german board), it works with the 64KB variant.
I would guess that your JTAG setup is working fine. Try getting in contact with the H-JTAG developer, maybe he can help.
Regards,
Dominic
Dominic, you are probably right about a possible ATISAMxxxx bug in H-JTAG. Apparently, Twentyone just added support for ATI in release 0.4.1 of H-JTAG, and he had this to say in the notes: “The programming of AT91SAM chips may have some problem. I am looking for some boards for testing. I will correct the problem asap.” Release 0.4.2 is available on his web site, with mention of improved ATI support.
–Dave
OK, I’m using version 0.4.2, so I will have to wait until the bug is fixed.