I have a project where I want to use the C8051F506 but I am unable to get it programmed from my debug adapter. The signals - comparing the C2Data and C2CLK with a system using a C8051F340 is very different. The F506 never get programmed and no activity on the lines. I am using the Simplicity Studio v.4 and the Keil compiler. My setup can program the F340 without any problems.
any error showed up?
do you mind uploading the schematic (pdf format)?
do you have a chance to use other tools ( like utility tool) works
You don't have the ~RST (pin 5) on J3-10 connected. See attached schematic. Also these devices are very sensitive to ESD.
I assemble my own boards and have found that the following items are very important:
1. An ionizing air blower with airflow directed across the bench during assembly.
2. A stereo microscope 10 to 40 power for post solder inspection.
3. A hot air blower to solder pins down without a soldering iron
4. Low temperature solder to remove devices from board.
Ok. Where is that suppose to go? That debug adapter only instruct you to use
4. Minimum C2 Programming Connections The minimum required programming connections for the C2 interface are C2D (pin 4), C2CK (pin 7), and ground (pins 2, 3, or 9).
I have been working with these devices for three years and, in the past, also had trouble with programming, Now I copy the user guide schematic exactly ---see https://www.silabs.com/documents/public/user-guides/C8051F580DK.pdf --- and do not make any changes . I am very careful with the programming lines. They go direct from the connector to the device plus I lay a separate ground trace from the connector to the device (I do not use the PC board ground plane). You will see that my schematic and the schematic in C8051F580DK.pdf are the same.
I would suggest
(1) If you assembled your own board replace the chip paying strict attention to ESD rules.
(2) Make sure the pins are properly soldered down to the pads and there are no shorts. Shorts appear as barely visible little beads of solder between the pins and you will need magnification to see them. Shorts of this sort are removed with low temperature solder and solder wick. Also it is very difficult to discern if pins are lifted off the pads even with a microscope. Sometimes you just have to put a hot iron on the pin and gently press it down against the pad but be very careful when you do this because the pins are delicate.
(3) Do what you can on the board to replicate the programming connections shown in the C8051F580DK manual. and
(4) If you are new to SMD there are a lot of videos and articles on the web regarding assembly, inspection, reflow and repair. SMD is much more difficult than thru-hole and boards assembled on a onesy-twosy basis are subject to a lot of problems due to inadequate equipment and inexperienced assemblers. The equipment used to assemble commercial SMD boards cost 1000's of dollars and is totally out of reach for most of us so we must trade time and pain for money.
Another point if I remember it correctly is the VDD monitor.
Do you have change the VDD monitor behavior in your code (the code that the target device currently run)?
You may take a look at the datasheet (on page 143). there is some words you should follow.
I followed the above link and I tried to understand the list. I would assume there should be a listing like C8051F5xx if the F506 is supported - similar to the C8051F2xx in the list.
The reason for my assumption is that the programmer never reach the point where any code is downloaded to the chip and it breaks with an error.
Bootloader returned failure response
Launching TestBoard Keil 8051 v9.53 - Debug
Uploading to Device
I have ordered a C8051F560 from the list which I believe is a close match to the F506.
I think the page was not updated for long time.
In the release not for Silicon Labs IDE (8-bit Controller Sutdio), C8051F50x was supported start from version 3.40. You could get this in the release note of Silicon Labs IDE.
Added support for C8051F500/1/2/3/4/5/6/7 devices.
The UDA should already support the C8051F50x , The Simplicity Studio also support this device.
You may use a scope to see if the RSTn was released or not if you have changed the VDD monitor level in your code.