Rev. 1.0 2/12
Copyright © 2012 by Silicon Laboratories
AN370
A N 3 7 0
S i 4 0 1 0 S
O FT W A R E
P
R O G R A M M I N G
G
U I D E
1. Purpose
This document defines the application programming interface (API) for the Si4010 firmware. It is intended to serve
as a guide for application development.
The document is related to the device revision 0x02 as returned by bSys_GetRevId() function and Trim version
0x09 as returned by the Device Information in the NVM Programming Utility. It describes files needed to build
customer application and the details of the implemented API functions in ROM. There are also additional API
functions not present in ROM, provided in the form of a linkable library for the Keil toolchain. For a description of
this additional library, see “AN526: Si4010 API Additional Library Description”.
2. Known Issues
These are known issues related to the current version of the Si4010 device hardware revision 0x02 as returned by
bSys_GetRevId() function and Trim version 0x09 as returned by the Device Information in the NVM Programming
Utility.
There is an issue related to the LED driver, which demonstrates itself only under the following circumstances
when all three conditions are satisfied:
The device programming level is Factory or User. For those levels the C2 debugging interface is enabled after the boot by
a boot routine.
The device has been disconnected from the Silicon Labs IDE. The "disconnected" means in a software sense, not
physically, using the Connect/Disconnect buttons on IDE. Or, the device is running the User code automatically after the
boot without ever being connected to the IDE.
The device is running a code which turns the LED on and off.
If all the conditions are satisfied then after the first LED blink when the LED is turned off the GPIO4 stops working
and is no longer visible to the application.
If the device programming level is Run or the C2 debugging interface is internally disabled there is no issue. The
LED can be turned on and off without affecting the device GPIO4 functionality.
The issue can be summarized as follows: Whenever the C2 debugging interface is enabled, the device is not
connected to IDE, and the LED is turned on and off, then the GPIO4 will stop functioning. Since in Run mode the
C2 is disabled after the boot process finishes, the GPIO4 is not affected.
Therefore, this issue only effects software development process and inconveniences the developer. After the
application is finalized and the chip is programmed as Run there is no issue. See suggested solution scenarios and
workarounds in the section related to debugging with LED.