Olimex arm-usb-tiny verify failed
Hello!
I'm working on a project with an AT91SAM7S256, and started with Yagarto. This worked fine except for Openocd, which became increasingly flaky with the project's growing complexity. Downloading code was slow, but reliable. Debugging was unreliable.
So I thought I'd check out Crossworks, and now I can't even download the application to the ARM.
I have JTAG clock divider = 20, nTRST open drain = No, and using LIBMEM RPC Loader.
The target connects OK, and I can reset the ARM with the reset button in CrossStudio, but that is all.
I'm sure I've missed something silly, just need to be pointed in the right direction.
-
The prototype is on an Olimex SAM7-P256, forgot to mention that, sorry.
But I tried one example for the SAM7-P64 board (changed the target processor to AT91SAM7S256), with the exact same result (verify failed).
Which loader file type should I choose? The example used Comms Channel Loader.
-
You shouldn't need to modify anything - I've just done the following:
- Installed CrossWorks for ARM 2.0.3
- Clicked Tools > Package Manager, selected Olimex SAM7-P64 Board Support Package, right clicked and selected Install Selected Package followed by Next, Next, Finish to install the latest SAM7-P64 board support package and Atmel AT91SAM7 CPU support package.
- Clicked Tools > Show Installed Packages, selected Olimex SAM7-P64 Board Support Package followed by SAM7-P64 Samples Solution to load the examples project.
- Right clicked on the debugio project in the project explorer and selected Set as Active Project.
- Right clicked on Olimex ARM-USB-TINY in the targets window and selected Connect to connect the target interface.
- Clicked the Debug > Go menu option to download the program and start debugging.
The program downloaded correctly with no problems and the debugger stopped at main. This was with an SAM7-P64 board, but I'd expect them to behave the same.
Can you verify you're doing the same?
Also, what is the exact error? Is the verify failing downloading the loader or downloading the program into FLASH?
Regards,
Jon Elliott
-
I tried the procedure you described, and then I right-clicked in the output window >Copy All and pasted it here:
Checking “debugio” in configuration “ARM Flash Debug”
Preparing target for download
Loading target script file AT91SAM7_Target.js
Executing reset script FLASHReset()
Downloading “Loader.elf” to Olimex ARM-USB-TINY
Programming completed in 94 ms — 56,978 bytes/sec
Programming 5.2 KB of addresses 00200000 — 002014eb
Verifying completed in 94 ms — 10 bytes/sec
Verifying completed in 94 ms — 56,978 bytes/sec
Verifying 5.2 KB of addresses 00200000 — 002014eb
Verify failedSmells like a hardware issue, but it still works in Yagarto, which is a bit strange. Yagarto (openOCD) is a lot slower though, maybe I should try slowing things down a bit.
-
It is obvious I know, but check you are powering your board correctly. You'd not believe how often this turns out to be the cause of this sort of problem.
One other thing, the speed of the JTAG clock frequency when targeting the AT91SAM7 is controlled by the TargetInterface.setMaximumJTAGFrequency() calls in the reset script not the JTAG clock divider. So if you want to slow the download you'll need to change the the TargetInterface.setMaximumJTAGFrequency(10000000); call to something smaller.
Regards,
Jon Elliott
Please sign in to leave a comment.
Comments
7 comments