µVISION DEBUGGER: Support for Silicon Labs C8051Fxxx MCUs
Information in this article applies to:
- C51 Version 6.10a and later
- µVision Version 2.10 and later
- Silicon Labs Debug Driver version 3.0 and later
How exactly does the Keil µVision Debugger support Silicon
Laboratories devices (formerly Cygnal devices)?
Can it debug on target? Can it use the Silicon labs debug
- Does the Debugger support device peripherals simulation?
Can you view the device peripherals when debugging on
Keil can use the Silicon Labs debug adapter - with some
- Some Silicon Labs devices have peripherals simulated.
For these devices, the windows can be used when simulating on
the PC, or when target debugging
Using the Silicon Labs Debug Adapter and Driver
Silicon Labs provides a Debug Adapter for C8051Fxxx MCUs
and a corresponding DLL driver for the Keil µVision for
flashing and debugging a program running on a Silicon Labs device.
Unfortunately, no Keil ULINK debug adapters can be used for these
This driver is not part of the µVision installation - it
must be downloaded from the Silicon Labs website (see More Information below).
Download and Install the Driver
During installation, make sure to point to the correct Keil
- µVision4's default location is C:/Keil/
- µVision5's default location is C:/Keil_v5/
During installation, make sure to check µVision4 DLL checkbox.
This will also load the correct DLL if you are using the UV5
After installing the Silicon Labs debug driver, restart
Configure the Silicon Labs Debug Driver
Go to Project→Options for Target. Select the
Debug tab (the second to last tab).
On the right side of the dialog, in the drop-down list next to
Use:, select Silicon Labs C8051Fxxx Driver. Next to
it, select the Settings button.
The Target Setup dialog appears (see figure 1). If:
Using a Serial (UART) Debug Adapter: Select
the RS232 Serial Adapter radio button. Select the
correct COMPORT and Baudrate .
If using a USB Debug Adapter: Select the
USB Debug Adapter... radio button.
(Optional) If the Silicon Labs device is not first on
the JTAG device chain, select the Device Chain Setup button
to make changes.
- Press the OK button to close the dialog.
Configure the Silicon Labs Debug Driver for Flashing
In the Options for Target dialog, select the Utilities
tab (the last tab).
Make sure the radio button by "Use Target Drive for Flash
Programming is selected.
Below this, in the drop-down list, select the Silicon Labs
C8051Fxxx Driver driver.
- Select the Settings button.
Ensure all check boxes are checked. Select the OK button
to close this dialog.
Select the OK button to close the Options for Target
Use the Silicon Labs Debug Driver
- Make sure the project built with 0 errors or warnings.
Go to Flash→Download - the Keil debugger uses
Silicon Labs' driver to flash the device.
Go to Debug→Start/Stop Debug Session - the Keil
debugger uses Silicon Labs' driver to connect to the device.
Note the Silicon Labs driver uses hardware breakpoints, so
the maximum number of breakpoints depends on the number of
breakpoints allowed by the microcontroller's hardware (usually
Silicon Lab Devices with Peripheral Simulation
Yes. Many Silicon Laboratories devices are completely simulated.
There are currently no plans to extend this list (although there can
be a workaround - see below the list).
For all other Silicon Labs devices, the peripheral dialogs of the
µVision debugger will be empty.
WORKAROUND: Use a Peripherals Driver from Another Silicon Lab
As a workaround, If the selected device has very similar
peripherals as one of the devices above:
Locate the closest device in the above table. Note the
Go to Project→Options for Target→Debug
If using on PC Simulation, on the bottom left of the
screen by DCYG.dll, find the the Parameter box.
If using Target Debugging, on the bottom right of the
screen by TCYG.dll, find the the Parameter box.
Enter the parameter from the above table. Press the OK
Last Reviewed: Tuesday, December 8, 2020