Keil Logo

µ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

QUESTION

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 adapter?
  • Does the Debugger support device peripherals simulation?
  • Can you view the device peripherals when debugging on target?

ANSWER

  • Keil can use the Silicon Labs debug adapter - with some configurations.
  • 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 devices.

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

  1. During installation, make sure to point to the correct Keil folder location.
    • µVision4's default location is C:/Keil/
    • µVision5's default location is C:/Keil_v5/
  2. During installation, make sure to check µVision4 DLL checkbox. This will also load the correct DLL if you are using the UV5 IDE.
  3. After installing the Silicon Labs debug driver, restart µVision.

Configure the Silicon Labs Debug Driver

Silicon Labs Debug Driver Settings
Figure 1

  1. Go to Project→Options for Target. Select the Debug tab (the second to last tab).
  2. 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.
  3. 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.
  4. (Optional) If the Silicon Labs device is not first on the JTAG device chain, select the Device Chain Setup button to make changes.
  5. Press the OK button to close the dialog.

Configure the Silicon Labs Debug Driver for Flashing

Silicon Labs Utilities tab settings

Figure 2

  1. In the Options for Target dialog, select the Utilities tab (the last tab).
  2. Make sure the radio button by "Use Target Drive for Flash Programming is selected.
  3. Below this, in the drop-down list, select the Silicon Labs C8051Fxxx Driver driver.
  4. Select the Settings button.
  5. Ensure all check boxes are checked. Select the OK button to close this dialog.
  6. Select the OK button to close the Options for Target Dialog.

Use the Silicon Labs Debug Driver

  1. Make sure the project built with 0 errors or warnings.
  2. Go to Flash→Download - the Keil debugger uses Silicon Labs' driver to flash the device.
  3. 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 4).

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.

List of Silicon Lab Devices with Peripheral Simulation, and their Keil Debug DLL Parameters
Device Name DCYG.dll parameter
C8051FX -pCYGFX
C8051F000 -pCYGF000
C8051F001 -pCYGF001
C8051F002 -pCYGF002
C8051F005 -pCYGF005
C8051F006 -pCYGF006
C8051F007 -pCYGF007
C8051F010 -pCYGF010
C8051F011 -pCYGF011
C8051F012 -pCYGF012
C8051F015 -pCYGF015
C8051F016 -pCYGF016
C8051F017 -pCYGF017
C8051F020 -pCYGF020
C8051F021 -pCYGF021
C8051F022 -pCYGF022
C8051F023 -pCYGF023
C8051F120 -pCYGF120
C8051F121 -pCYGF121
C8051F122 -pCYGF122
C8051F123 -pCYGF123
C8051F124 -pCYGF124
C8051F125 -pCYGF125
C8051F126 -pCYGF126
C8051F127 -pCYGF127
C8051F130 -pCYGF130
C8051F131 -pCYGF131
C8051F132 -pCYGF132
C8051F133 -pCYGF133
C8051F300 -pCYGF300
C8051F301 -pCYGF301
C8051F302 -pCYGF302
C8051F303 -pCYGF303
C8051F304 -pCYGF304
C8051F305 -pCYGF305
C8051F310 -pCYGF310
C8051F311 -pCYGF311
C8051F320 -pCYGF320
C8051F321 -pCYGF321
C8051F330 -pCYGF330
C8051F331 -pCYGF331
C8051F336 -pCYGF336
C8051F337 -pCYGF337
C8051F338 -pCYGF338
C8051F339 -pCYGF339
C8051F350 -pCYGF350
C8051F351 -pCYGF351
C8051F352 -pCYGF352
C8051F353 -pCYGF353
C8051F360 -pCYGF360
C8051F361 -pCYGF361
C8051F362 -pCYGF362
C8051F363 -pCYGF363
C8051F364 -pCYGF364
C8051F365 -pCYGF365
C8051F366 -pCYGF366
C8051F367 -pCYGF367
C8051F368 -pCYGF368
C8051F369 -pCYGF369
C8051F410 -pCYGF410
C8051F411 -pCYGF411
C8051F412 -pCYGF412
C8051F413 -pCYGF413



WORKAROUND: Use a Peripherals Driver from Another Silicon Lab Device

As a workaround, If the selected device has very similar peripherals as one of the devices above:

  1. Locate the closest device in the above table. Note the Parameter.
  2. Go to Project→Options for Target→Debug tab.
  3. If using on PC Simulation, on the bottom left of the screen by DCYG.dll, find the the Parameter box.
  4. If using Target Debugging, on the bottom right of the screen by TCYG.dll, find the the Parameter box.
  5. Enter the parameter from the above table. Press the OK button.

MORE INFORMATION

SEE ALSO

Last Reviewed: Monday, June 1, 2015


Did this article provide the answer you needed?
 
Yes
No
Not Sure
 
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.