Development Tools
  fast flash programming with banked application?

Post New Topic  Post A Reply
profile | register | preferences | faq | search

UBBFriend: Email This Page to Someone! next newest topic | next oldest topic
Author Topic:   fast flash programming with banked application?
a6dev
New Member
posted August 03, 2010 06:02 PM     Click Here to See the Profile for a6dev     Edit/Delete Message
I have an application that uses the 'F120 and all four banks of flash. I'm using the Keil IDE for debugging and burning the flash with an EC2 JTAG programmer.

The IDE programs the flash very nicely, with one button click to burn all four banks. I am paying somebody to program the multiple (100s) boards we need, and they are using the EC2 JTAG programmer with SiLabs' Flash Burning utility. The Flash utility from SiLabs requires each bank of flash to be programmed separately.

Is there a way to maybe use the Flash utility with a batch file in command line mode, and program all four banks with one command to save time and complexity? I would also like to use multiple EC2s if possible to burn more than one processor at a time, each using a different serial port or USB port. However, with the Silabs Flash utility, keeping track of which bank is being programmed for each board becomes time consuming and error prone. I could buy multiple Keil IDEs, but way too expensive!

Thanks for your help.

IP: Logged

erikm
Member
posted August 04, 2010 05:28 AM     Click Here to See the Profile for erikm   Click Here to Email erikm     Edit/Delete Message
Is there a way to maybe use the Flash utility with a batch file in command line mode, and program all four banks with one command to save time and complexity?
I would say yes. While I have not done what you want to do, I have with a .bat programmed two programs in the same chip (app and bootloader).

Erik

[This message has been edited by erikm (edited August 04, 2010).]

IP: Logged

Tsuneo
Member
posted August 04, 2010 06:27 AM     Click Here to See the Profile for Tsuneo   Click Here to Email Tsuneo     Edit/Delete Message
Production Programmer utility on SiLabs Software Downloads page will fit to your requirement. It is a customized version of FLASH utility for production.
https://www.silabs.com/products/mcu/Pages/SoftwareDownloads.aspx

Banked object has to be converted to HEX files using OC51 and OH51, before burning it on Production Programmer. OC51 split the original unified object (OMF) into object files for each bank. OH51 converts these split objects into HEX files.

You'll find these KEIL utilities in this folder,
C:\Keil\C51\BIN\
or
C:\SiLabs\MCU\IDEfiles\C51\BIN\

1) Apply OC51.exe to the banked object file.
> OC51 myObj.omf

myObj.B01, myObj.B02, myObj.B03 are generated.
- When the original banked-object file doesn't have corresponding bank, separated-object file isn't generated for the bank.

2) And then apply OH51 to each objects.
> OH51 myObj.B01 HEX (myObj_B01.hex)
> OH51 myObj.B02 HEX (myObj_B02.hex)
> OH51 myObj.B03 HEX (myObj_B03.hex)

Register these HEX files to the Production Programmer, "Common+Bank1", "Common+Bank2", "Common+Bank3", respectively. Leave "Not banked" empty.


You can make a "gang programmer" on single PC.
Connect multiple debug adapters to a PC. And then, run as many numbers of this application instances (double click the icon as many times). Configure each application window for each debug adapter.

Tsuneo

[This message has been edited by Tsuneo (edited August 04, 2010).]

IP: Logged

a6dev
New Member
posted August 04, 2010 12:50 PM     Click Here to See the Profile for a6dev     Edit/Delete Message
Tsuneo,

Wow. Very nice, easy to use, and exactly what I need.

Thanks very much.
Jeff

IP: Logged

All times are CT (US)

next newest topic | next oldest topic

Administrative Options: Close Topic | Archive/Move | Delete Topic
Post New Topic  Post A Reply
Hop to:

Contact Us | MCU User Forum

Have you seen our MCU Knowledge Base?


Ultimate Bulletin Board 5.47b