SiLabs EFM8 / C8051 Support
J-Link fully supports super-fast, direct debugging on SiLabs EFM8 and C8051 devices via the SiLabs C2 2-wire debug interface. This includes support for direct download to flash memory as well.
EFM8 support is included in all current J-Link probes (J-Link BASE, PLUS, ULTRA+, PRO and EDU) and can be used without purchasing any additional license.
Why J-Link?
Fast debugging experience: J-Link is the fastest debug probe available for SiLabs EFM8 devices. This includes the very high download speed into RAM and flash, as well as fast debugging speed (single stepping etc.).
SDK available - Allowing to setup custom test-scenarios: For the J-Link software, there is an SDK available which allows to fully customize the use of J-Link. It allows customers to write their own applications which use J-Link with SiLabs EFM8 devices. Be it for automated testing environments or for automated production purposes.
Supported devices
J-Link supports current EFM8 device families as well as some legacy C8051 devices.
For a detailed list of supported devices, please click here.
What is C2?
C2 is a proprietary debug interface defined by SiLabs. It is a 2-wire interface for SiLabs 8051 based 8-bit microcontrollers which only needs a clock pin (C2CK) and a bi-directional data pin (C2D).
Keil PK51 (MDK for 8051) Support
J-Link can be used seamlessly with Keil PK51 and all supported C2 SiLabs 8051 based devices.
How to Install J-Link in PK51
- Make sure that J-Link software V4.96e or later is installed: Download
- Install Keil PK51 (8051 MDK)
- For PK51 < V9.55: Download the J-Link wrapper DLL
- Go to $KEIL_INST_DIR$\C51\BIN and copy the JLinkEFM8.dll to there
- Go to $KEIL_INST_DIR$\ and open the TOOLS.INI
- Add the following line to the file "TOOLS.INI", section "C51" (copy & paste the complete next line): TDRV0=BIN\JLinkEFM8.dll ("J-Link / J-Trace EFM8 Driver")
Note: If TDRV0 is already in use, then use the next free digit, for example TDRV1.
- Start uVision and open a project
- Make sure that under Project -> Options -> Debug
"J-Link / J-Trace EFM8 Driver" is selected and "Driver DLL" says "S8051.DLL"
- Make sure that under Project -> Options -> Utilities -> "Use Target Driver for Flash Programming" is selected and "Use Debug Driver" as well as "Update Target before Debugging" is checked/enabled
- Now J-Link can be used as debug probe in the Keil PK51 environment
FAQ
Are unlimited breakpoints in flash memory available?
A: Since there is no breakpoint instruction available on the 8051 devices, the J-Link feature "unlimited breakpoints when debugging in flash memory" is not available.
Does J-Link also support the SiLabs 8051 devices which use the JTAG interface?
A: No, these (older) devices are not supported.