OK, I've written my code, compiled it, programmed it into my board and everything works. Now I need to hand over the binary code to our subcontractor, so he can program up a few thousand boards, while I get going on the next piece of code. I don't want the subcontractor to be able to change, re-compile, or even see the source code. I have a spare ULINK box for the subcontractor, but what software will he need, and how can he load the .hex, .elf or whatever into it?
for programming chips, all you need is the .hex file. If anything else is needed that would be totally ridiculous, so get another programmer if it is so. I have worked with BP micro Xeltek, needhems and many more and none have needed more than a .hex file Erik
Thanks Erik, The way the boards are put together, the only convenient way to program them is via JTAG. (Programming the chips before they are soldered onto the board might be possible, but it would make me very unpopular with our production people.) I already have the ideal hardware for JTAG programming - or so I thought - namely the ULINK box. With other types of tool, e.g. our FPGA toolchain, there is a standalone programming mode for the software, which takes a .pof file and programs it into the config device. (It even does standalone programming without the dongle so it doesn't tie up a seat if you don't need to compile, but that's a side issue.) By analogy, I thought that maybe UVision 3 might have a similar mode. The problem is that if I give UVision a .hex file, but no source code, the flash load button is greyed out. This happens regardless of whether the IDE is running as eval or fully licensed. I can't seem to find any way of programming a board through JTAG unless the code was compiled on the same machine that is being used with ULINK. Maybe I will need to get another programmer, but before I do, does anyone know how to work around this?
ULINK can be used as Device Programmer for various Flash devices including the on-chip Flash of several 8051, XC16x, and ARM devices. Flash programming is even possible with an Evaluation Version. It is not required to have a full version of the Keil uVision for Flash programming. You may use the uVision Batch mode during production. See also: http://www.keil.com/support/docs/3061.htm
Thanks Reinhard, I still couldn't get it to work with only a .hex file, but by using a .elf file I managed to get it to work. I hadn't realized that I still had to create a local project, even though I wasn't compiling there, and then rename the .elf file to match the project name. Anyway, it works now, so many thanks. Paul.