I've got some questions around programming STM32-based systems in production using scripts or other automated methods. I'm currently using UV4 with ULINK2 and ULINK-Pro. I think it would be ok to require the operator during intial proto builds to click the "Load" button or run a script.While it's easy to load the main flash I'm missing some other pieces for our particular situation.
I've got an external eMMC flash chip that also wants to be programmed during production. I have code on the micro that writes and reads the external flash but I'm not sure how to tie it into the initial setup and make it easy to automate. We could have some init code that launches when it sees that the flash chip is empty but I don't know how to best shuttle the data for the flash chip from the PC to the micro's RAM.
I know about the STM32 factory programmed bootloader and the USART-based ISP protocol but I'm wondering whether there is a way to do this with the Keil tools, e.g. with the "LOAD" command or similar. It would be advantageous to have the debugger available for diagnostics.
What I'm really looking for is a PC-side API for the ULINK that let's me write my own tools to do production test and programming. One of my options is to go to an open platform like OCD or use the more expensive tools like RealView ICE or similar but I'd like to minimize the number of different tools we use.
What are other people doing?
Thanks, Andrew
"What I'm really looking for is a PC-side API for the ULINK"
uLink is really a development tool - not a production tool.
There are several Cortex-M3 production programming companies mentioned here:
www.luminarymicro.com/.../3rd_party_products.html
You could also look at suppliers of JTAG production test tools; eg,
http://www.xjtag.com http://www.jtag.com
Depending on your volumes, you should also talk to your supplier about having them program the chips (or get the chips programmed) for you - so that they are delivered to your line "ready-to-go".
A contract manufacturer should be able to offer programming.