Recently we had a developer "mis-place" a project for a piece of manufacturing test equipment. We need to duplicate the firmware in that piece of equipment (in case of failure). Is there a way in uVision or a separate utility that would allow us to use the ULINK2 to read back the contents of the flash and write it to a bin file?
Any help or suggestions is greatly appreciated.
Don't you have the source code itself...?
Options, as far as I know: * Use Flash magic to read back flash content. * Correct a debugger to the target if it's not CRP enabled and use uv4 commands ("save") to store flash contents. * ...
Flash mafgic will only work with NXP controllers.
You'd probably have to connect the debugger to a running target - disable reset at startup, load application at startup and update target before debugging.
Unfortunately the developer failed to put the source code under source control and has since removed the project from his computer.
Its a most unfortunate incident that is going to cost me many hours beyond my own projects to correct.
I'm sure you realize that the best you can hope for it a .hex file. Good luck maintaining that.. Sounds like you're better off starting from scratch!
In this case, the goal wasn't to maintain, but to make sure a new factory test rig could be produced if something happens with the existing one.
I just hope the guilty developer didn't turn on code read protect when programming the chip...
Best is if all binaries ever used are automagically built on a build machine that just receives project name and tag and extracts the code and builds. That makes sure that the code in the repository is complete.
Alas, with the Keil tools, it costs one extra license to have a dedicated build machine :(
Not necessarily!
If you have a dedicated build machine, then you don't need licences for the build tools on the developers' machines.
The developers' machines could then use a free or cheap(er) editor/IDE
Then the question is, whether each developer needs a licence for debugging - or can you work with a lesser number of "debug stations"?
I guess you'll be reviewing your procedures & practices to ensure that code does get put under control?
"removed the project from his computer"
Was this malicious, or just grossly incompetent?
Do you know how long ago it was "removed"?
If it's not too long, it might be worth talking to a Data Recovery specialist...
I would definitely still want to have a full license for debugging, so a dedicated build machine would be one extra license (plus any extra library kits needed...)