This document describes how to use the SEGGER JLINK debugger to enable software debugging of 8051 MCU core
that is part of the IS2083BM. The SEGGER debugger makes use of IS2083BM 2-wire JTAG interface to download
8051 firmware images into IS2083BM SQI flash. It then controls the IS2083BM SQI CPU register to provide
debugging features. The following chapters describe the software and hardware prerequisites, setup and procedure
to enter the Debugging mode.
The Microchip Website.................................................................................................................................19
Please go to http://www.microchip.com/IS2083 or http://www.microchip.com/BM83 to get the following documents.
• IS2083 Bluetooth® Stereo Audio SoC Data Sheet
• BM83 Bluetooth® Stereo Audio Module Data Sheet
• BM83 Bluetooth® Audio Development Board User's Guide
• IS2083 SDK User's Guide
1.2 Software Prerequisites
• IS2083 Software Development Kit
• isUpdate tool
• Please refer to the IS2083 SDK User’s Guide Section 1.2 to know what Keil® μVision® version should be used.
Furthermore, please be sure your PK51 license is valid in the support period. If your license expires on or before
the support period, Keil C51 may not allow you to use the debugger support. It depends on if your license
expiration date is on or before the C51 release date. For example, C51 9.59 released in May 2018. If your
license expired before that, you cannot use the debugger with C51 9.59. On the other hand, if your license
expired after May 2018, you can still use the debugger support. For example, the figure below shows that this
license has expired, but it can still work with C51 9.59 because it is after May 2018.
IS2083
Quick References
– The following DLL files enable debugging in the IS2083BM using Keil μVision:
• JLinkARM.dll
• JLinkIS2083.dll
– Initsession.ini – this file stops the Keil μVision at the first execution of SDK.
Note: The DLL files and Initsession.ini file are available in the following folder:
release-package at http://www.microchip.com/IS2083 or http://www.microchip.com/BM83.
This section describes the setup procedure of Keil uVision and IS2083 SDK to work with the debug probes.
2.1 Keil μVision Setup
This section describes the step-by-step procedure for Keil μVision setup. The user needs to first set up μVision and
connect to J-Link debug probes and later to the BM83 EVB. See 3.1 J-Link Probes Connection.
2.1.1 File Settings
Visit the Keil website to download and install the required Keil C51 (See IS2083 SDK User Guide, Section 1.2,
Software Prerequisites for the latest SDK Keil supported version.).
IS2083 SDK requires a specific Keil μVision tool to compile and operate with J-Link probes. The .dll files
customized for SEGGER J-Link debugger allows Keil μVision to communicate with the IS2083BM through J-Link
probe.
Note: After Keil μVision installation, ensure that it is not running.
Keil C51 v9.59 requires the following steps, 1 to 3 for file settings. The version v9.60 and above contains the DLL
files. Perform only step 3 for Keil C51 v9.60 and above.
IS2083
Software Setup
Perform the following steps for the setup:
1.Go to C:\Keil_v5\ and use the text editor to open the TOOLS.INI file.
2.Insert the text TDRV10=BIN\JLinkIS2083.dll (J-Link / J-Trace IS2083 Driver) into the file as
shown below:
Figure 2-1. TOOLS.INI
3.Go to C:\Keil_v5\C51\BIN and copy the following files from the debug package to the directory:
– JLinkIS2083.dll
– JLinkARM.dll
2.1.2 Debug Settings
After verifying the J-link connection and Keil file settings, unplug and plug in the power cord to reset the IS2083BM.
This turns the J-Link LED to steady green.
Perform the following steps for debug settings:
1.Launch Keil μVision and double click MSPKv2_Application_IS2083B.uvproj and Keil uVision automatically
The 2-wire JTAG debug port (i.e. P1_2 and P1_3) on IS2083BM is multiplexed with I2C function. Before debugging,
the user must enable the buildoption ENABLE_JTAG_DEBUG. This enables SW I2C and disables Low Power mode
for the debugger to run properly. The user can select MSPKv2_App_MSPK_Debug project target, which includes
ENABLE_JTAG_DEBUG buildoption.
ENABLE_JTAG_DEBUG uses SW I2C port (P2_3 and P2_6 by default) instead of HW I2C. SDK enables Low Power
mode, which turns off the debugger clock and then disconnects the debugger. ENABLE_JTAG_DEBUG is used to
disable the Low Power mode to avoid this. Refer to the IS2083 Bluetooth® Stereo Audio SoC Data Sheet for more
details on JTAG program and debug feature.
For information on which SDK features are included in MSPKv2_App_MSPK_Debug project, see the IS2083 SDKUser's Guide, Section 2.2, and Table 2-1.
Be sure to unplug jumpers in-between JP307 and JP308 so the HW-I2C interface will not be used:
In order to use Embedded mode, please connect P2_6 of JP309 to P1_3 of JP402, P2_3 of JP309 to P1_2 of JP402.
Then IS2083BM can communicate with ST codec over SW I2C.
The section describes the procedure for IS2083BM file configuration and starting of the debugging on Keil uVision.
4.1 Enabling Debug Mode
SEGGER J-Link debugger downloads the 8051 image and automatically updates the Flash header in the IS2083BM.
Pre-program the IS2083BM device with voice prompt, UI Config and DSP images before using the debugger. It is
recommended to pre-program with the demo package, which contains the following files:
Choose one of them according to your desired application mode. Please refer to the BM83 Bluetooth® Audio
Development Board User’s Guide for how to download the image with tools.
Perform the following steps to enable Debugging mode:
1.In the Keil uVision tool, select and build "MSPKv2_App_MSPK_debug".
2.Click the
icon or go to Debug > Start/Stop Debug Session for debugging. Keil μVision uses the DLL files to
communicate to the IS2083BM and then access Flash. J-Link checks for the Flash header and downloads the
complied 8051 images at the correct bank.
3.After Flash, the program counter stops at 0x27_0000, which is the Application_Init. This is the first
function that the application code can execute.
During debugging, 8051 MCU will be halted, once the program counter hits the breakpoint. Program ROM is
suspended and the Bluetooth connection is dropped simultaneously.
4.The following example shows how to add a breakpoint in the function App_init. When the user runs the
debugger, it stops at line94 and Keil μVision provides the local variable of APP_init at the right-hand side.
The user can investigate the global variable by using the Watch window.
Microchip provides online support via our website at http://www.microchip.com/. This website is used to make files
and information easily available to customers. Some of the content available includes:
• Product Support – Data sheets and errata, application notes and sample programs, design resources, user’s
guides and hardware support documents, latest software releases and archived software
• General Technical Support – Frequently Asked Questions (FAQs), technical support requests, online
discussion groups, Microchip design partner program member listing
• Business of Microchip – Product selector and ordering guides, latest Microchip press releases, listing of
seminars and events, listings of Microchip sales offices, distributors and factory representatives
Product Change Notification Service
Microchip’s product change notification service helps keep customers current on Microchip products. Subscribers will
receive email notification whenever there are changes, updates, revisions or errata related to a specified product
family or development tool of interest.
To register, go to http://www.microchip.com/pcn and follow the registration instructions.
Customer Support
Users of Microchip products can receive assistance through several channels:
• Distributor or Representative
• Local Sales Office
• Embedded Solutions Engineer (ESE)
• Technical Support
Customers should contact their distributor, representative or ESE for support. Local sales offices are also available to
help customers. A listing of sales offices and locations is included in this document.
Technical support is available through the website at: http://www.microchip.com/support
Microchip Devices Code Protection Feature
Note the following details of the code protection feature on Microchip devices:
• Microchip products meet the specification contained in their particular Microchip Data Sheet.
• Microchip believes that its family of products is one of the most secure families of its kind on the market today,
when used in the intended manner and under normal conditions.
• There are dishonest and possibly illegal methods used to breach the code protection feature. All of these
methods, to our knowledge, require using the Microchip products in a manner outside the operating
specifications contained in Microchip’s Data Sheets. Most likely, the person doing so is engaged in theft of
intellectual property.
• Microchip is willing to work with the customer who is concerned about the integrity of their code.
• Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code
protection does not mean that we are guaranteeing the product as “unbreakable.”
Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection
features of our products. Attempts to break Microchip’s code protection feature may be a violation of the Digital
Millennium Copyright Act. If such acts allow unauthorized access to your software or other copyrighted work, you
may have a right to sue for relief under that Act.
Legal Notice
Information contained in this publication regarding device applications and the like is provided only for your
convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with
your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER
EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION,
INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR
FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip
devices in life support and/or safety applications is entirely at the buyer’s risk, and the buyer agrees to defend,
indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such
use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights unless
otherwise stated.
Trademarks
The Microchip name and logo, the Microchip logo, Adaptec, AnyRate, AVR, AVR logo, AVR Freaks, BesTime,
BitCloud, chipKIT, chipKIT logo, CryptoMemory, CryptoRF, dsPIC, FlashFlex, flexPWR, HELDO, IGLOO, JukeBlox,
KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, Microsemi logo, MOST,
MOST logo, MPLAB, OptoLyzer, PackeTime, PIC, picoPower, PICSTART, PIC32 logo, PolarFire, Prochip Designer,
QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash, Symmetricom, SyncServer, Tachyon,
TempTrackr, TimeSource, tinyAVR, UNI/O, Vectron, and XMEGA are registered trademarks of Microchip Technology
Incorporated in the U.S.A. and other countries.
APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, FlashTec, Hyper Speed Control,
HyperLight Load, IntelliMOS, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus,
ProASIC Plus logo, Quiet-Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider,
Vite, WinPath, and ZL are registered trademarks of Microchip Technology Incorporated in the U.S.A.
Adjacent Key Suppression, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, BlueSky, BodyCom,
CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM,
dsPICDEM.net, Dynamic Average Matching, DAM, ECAN, EtherGREEN, In-Circuit Serial Programming, ICSP,
INICnet, Inter-Chip Connectivity, JitterBlocker, KleerNet, KleerNet logo, memBrain, Mindi, MiWi, MPASM, MPF,
MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM,
PICDEM.net, PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, SAM-ICE, Serial Quad
I/O, SMART-I.S., SQI, SuperSwitcher, SuperSwitcher II, Total Endurance, TSHARC, USBCheck, VariSense,
ViewSpan, WiperLock, Wireless DNA, and ZENA are trademarks of Microchip Technology Incorporated in the U.S.A.
and other countries.
SQTP is a service mark of Microchip Technology Incorporated in the U.S.A.
The Adaptec logo, Frequency on Demand, Silicon Storage Technology, and Symmcom are registered trademarks of
Microchip Technology Inc. in other countries.
GestIC is a registered trademark of Microchip Technology Germany II GmbH & Co. KG, a subsidiary of Microchip
Technology Inc., in other countries.
All other trademarks mentioned herein are property of their respective companies.