I just got a KEIL eval kit (MCBSTM32), and I'm having a little trouble getting started. Initially, I built the Blinky app and downloaded it into the eval board with no problems. I modified the program, and downloaded it without any problems too. Then I copied the project to a new directory to start making significant changes to it. Unfortunately, after it built with no errors or warnings, I couldn't load it into the eval board. I get a series of dialog boxes that say (in order)...
"Emulator lookup failed" + "Emu=JTAGjet;Port=USB emulator cannot be found" (with Retry and Cancel buttons).
After pressing Cancel...
"Select Communication Interface" shows up, with no available devices in the list, and pressing "Re-Scan devices" doesn't make any show up.
"Target Initialization Error" + "Cannot connect - ISigConnect::Connect() failed"
followed by...
"uVision3" + "Error:Flash Download failed - C:\Keil\ARM\Signum|SigUV3Arm.dll"
Sigh...
Going back to the original Blinky project, now that won't download to the target either. I checked *ALL* the project options between the two project and they're the same.
Now for the wierd part...
I can create a project from scratch for the part on the eval board, and it builds and downloads into the eval board just fine. The original and copied/modified Blinky projects won't though.
Anyone have any suggestions for making the Blinky project work again (besides re-installing the eval tools)...?
Okay... a coworker suggested that I re-select the microcontroller device type in the project options, because that had worked for him for other bizzare problems he'd had with his KEIL tools.
Well... I did that... and then both the original and modified Blinky programs can be downloaded into the eval board once more.
His theory is that doing so resets some hidden settings in the project that you otherwise have no direct control over.
Don't know if that's right or not, but doing so did allow me to once more load the program into the micro on the eval board again. All is well, sort-of.
(...theme from "The Twilight Zone" plays softly in the background...)
Dave, no need to play the "The Twilight Zone" here. if you played with your clock settings, you might have rendered the entire device unusable - even for JTAG ! that happened to me yesterday with a MCBSTR9, due to invalid SCU_CLKCNTR register settings. next time you get into trouble, maybe something like this can help you out: http://www.keil.com/support/docs/3215.htm
note that this procedure applies only to the MCBSTR9, but could apply fully/partially to your board as well.
Greetings,
Tamir
Thanks Tamir, but I did not play with the clock settings, so I don't think that could've been the cause. Besides...
(1) As soon as I created a dummy project from scratch, it worked right away (i.e., I was able to download code into the eval board just fine). So, it would seem that nothing on the board was "damaged", or otherwise rendered inoperable.
(2) Without making any other change to the original, but now dysfunctional Blinky project, just re-selecting the device type via the project-options dialog box rendered the project "downloadable" again (i.e., without requiring any code changes).
Any other suggestions...?
why don't you compare the project files of the working and the dysfunctional projects? actually, why don't you compare just about everything. There must be something wrong - maybe with the toolchain, which is worth reporting to Keil.
I meant, of course, that you compare the project file itself, and any other file as well to pinpoint the problem.
Tamir, the symptom is now gone, so there's not much I can do to try to look into it further. I had not realized that the project files (*.uv*) were saved in a human readable format. If the problem comes back, I'll save the project file to a different name, and try switching the device database again to see if that makes it work again, and if so... compare the project files and post the results of that comparison, and possibly generate a request for tech support too.
I have two times earlier had an ARM project suddenly die on me. Both times, the solution was to open the project and reselect the correct target processor. I don't know how the project could suddenly forget the target, but as soon as I reselected the correct target, I could build working binaries again, and run in the simulator or in the real hardware.