Posts: 48
Registered: ‎03-22-2017

Si4010 programming

[ Edited ]

I want to use the Si4010 in a new design. I have the EZR-LEDK1W-434 "keyfob" kit as a starting point.


1. what is the name of the project that is loaded into the keyfob? I have d/l several '4010 projects but can't tell which is used on this kit. I suspect it is one of these:




2. Can the Si4010 keyfob board (with the SOIC) be programmed using the USB debug adapter in C2 mode? Will this only program the RAM- will it lose the program if power is removed?


3. I tried #2 and the IDE can't connect to the debug adapter. I have checked the settings, and it sees the adapter and i have it set for C2 comms. I tried USB Debug Adapter Firmware Reset.exe (found an old thread that pointed to this) but no difference.


4. the "burn adapter" (MSC-BA4) doesn't seem to be available. Do I need this for programming the OTP in the MSOP version of the chip (which doesn't have a VPP pin)? If I need it, since it doesn't seem to be available, can you send me the schematic?


Thank you



Posts: 48
Registered: ‎03-22-2017

Re: Si4010 programming

Thanks Tabi for moving this to the correct forum. I have been able to get answers to some of my questions:

1. I found out that the code on the keyfob in the kit is rke_demo_2.

2-4: I am still having trouble programming. I have the schematics for the burn adapter and the programming socket board. Tracing that all out, it appears that it uses the normal C2 interface, PLUS the 6.5V VPP voltage. I hacked up a setup that provides the same connections and voltages as the burn-board, and I still cannot program the part - with or without the 6.5V Vpp.

I have used the utility to reset the USB debug adapter, and it says it's successful.  But when I try to "connect" to the Si4010 through the adapter, I get an error saying that it cannot connect.


So my main questions now are:

if I apply 3.3V and 6.5V and the C2D and C2CK signals, should I be able to program a Si4010 using the USB debug adapter?

If I do the above but omit the 6.5V Vpp, should it program also (but not NVM)?


When I compile the rke_demo_2 project I get two errors:


C51 COMPILER V9.55 - SN: Eval Version
COPYRIGHT Copyright (C) 2012 - 2016 ARM Ltd and ARM Germany GmbH. All rights reserved.
*** ERROR C141 IN LINE 76 OF si4010_api_rom.h: syntax error near 'BYTE'
*** ERROR C129 IN LINE 76 OF si4010_api_rom.h: missing ';' before 'bButtonMask'



Here is that piece of code (I don't see anything wrong with this):


// Structure for BSR setup. Space for Push Tracking Structure (PTS)
// must be reserved by a designer in XDATA prior to initializing BSR

typedef struct {
BYTE     bButtonMask;                          // Button watch mask
BYTE     xdata *pbPtsReserveHead;    // Allocated PTS array pointer
BYTE     bPtsSize;                                 // Number of entries to be in PTS
BYTE     bPushQualThresh;                 // # consec button states to qualify push
} tBsr_Setup;


Can you tell me why I get the errors? 

Assuming I can figure out the problem with the programmer I will need to program the parts with this code.


Thank you.


Posts: 48
Registered: ‎03-22-2017

Re: Si4010 programming

Update on this -

I have been able to find the instructions for using Si4010_NVM_burner.exe to program the part. I had to build my own Vpp generator to use it, but I was able to program a new chip successfully with the demo board program (rke_demo_2).


And it looks like I needed a new Keil license for the IDE, which I've done (thanks Ryan). So may be okay for now.

I'm a little disappointed that I have received no help through this forum. I've spent hours on this.

Posts: 48
Registered: ‎03-22-2017

Re: Si4010 programming

I am able to burn the NVM. But now I want to run the part without the permanent burn.

I have it connected properly, but I am getting the "Detected un-supported Target Revision..." error. I am using IDE version 5.18. There is activity on the C2D and C2CK pins when I attempt to "connect". I have verified the settings under "connection options" in IDE. I have used the firmware reset utility (and the IDE does update the firmware after I RESET it).

Power is good, connections to the IC are good. It's a new Si4010 chip (has not been programmed).

I found a couple of posts about troubleshooting and have verified everything there.

Is this is known problem? Should I try an older version of IDE? 


Posts: 320
Registered: ‎02-14-2014

Re: Si4010 programming

Hi Dan,


There is no known connection issue with this version of the Silabs IDE.

As a test, did you try to connect to the same chip with the NVM programming utility?

Silicon Labs