Pleaase help programming a C8051F347 through its' USB interface. - Page 1
Forum section: electronics / general

author: LDSisHere
author_rank: Contributor
timestamp: September 24, 2012, 12:18:51 pm
content: Hello,I have a microcontroller problem and I have no idea what I need to do to solve it. I am hoping that someone with way more experience than me can explain what I need to do to resolve my problem. I do not know if what I need to accomplish is simple or complex so any productive feedback would be greatly appreciated.I need to replace the firmware on a C8051F347 microcontroller using the chips on board USB port. The port is up, the chip is working it just has the wrong firmware for its’ application. It will need to be programmed using Windows. I do not have any information on the Windows driver installed for this device. I do have the firmware that is supposed to go on the chip.Is what I need to do a major task or even possible without knowing a lot about the driver, or could the driver be bypassed? I would like to provide more detail but I do not know what would be relevant so please ask questions if it will help, I will do my best to provide answers.Thanks you,Lloyd

author: free_electron
author_rank: Super Contributor
timestamp: September 24, 2012, 03:08:55 pm
content: If the chip does not have a bootloader then you can't do this.It depends on how the software is written that sits in the chip.

author: LDSisHere
author_rank: Contributor
timestamp: September 24, 2012, 04:02:58 pm
content: The code for the firmware is proprietary all I have is the HEX file. It already sounds like this will be almost impossible without knowing more about the code. Thanks for taking the time to read and reply.

author: free_electron
author_rank: Super Contributor
timestamp: September 24, 2012, 07:42:36 pm
content: if you have the hex file then you can use the Silabs Jtag probe to flash this in the device.

author: LDSisHere
author_rank: Contributor
timestamp: September 24, 2012, 08:12:08 pm
content: This chip has a C2 interface which is what I normally use to apply the firmware. The problem is that this device is currently 1000 miles away so I do not have physical access to it and I was just trying to find a way to reprogram it remotely which would require using its' USB port. I was just trying to avoid having to have physical access to the device.

author: free_electron
author_rank: Super Contributor
timestamp: September 24, 2012, 08:55:27 pm
content: ah yes.well that's a no-go then...if the firmware that is currently is in the device does not allow for reflashing over usb then you're s.o.l. ...Do you know if theu use the usbxpress library ? if so you can upload new codehttp://www.silabs.com/Support%20Documents/TechnicalDocs/AN200.pdf

author: LDSisHere
author_rank: Contributor
timestamp: September 24, 2012, 10:52:54 pm
content: The link you provided was exactly the information I was looking for, I will have to do some testing to see if it works. The chip is currently able to update its' firmware through USB with a proprietary application but it will only work for a newer revision, not a different version or current revision. I now just have to determine if they use the Silicon Labs USB code or wrote their own. If it is the Silicon Labs code then the software referenced in the AN200 document should work. I cannot say thank you enough for your help. Hopefully, in a few days I will be reporting back with success.Thanks again,Lloyd

author: free_electron
author_rank: Super Contributor
timestamp: September 25, 2012, 12:02:22 am
content: Most likely they use that one. Most silabs users us the keil toolchain and the provided libs.

author: LDSisHere
author_rank: Contributor
timestamp: October 04, 2012, 08:19:19 pm
content: I tried to get the USB firmware updater to work but I had to give up. I just had the device shipped back to me and I programmed it the old fashioned way using the C2 port. I do appreciate the assistance in trying to get this to work, the information was exactly what I was looking for unfortunately the software did not cooperate.