Introduction
This document describes how to use the SEGGER JLINK debugger to enable software debugging of the 8051 MCU core that is part of the IS2083BM. The SEGGER debugger makes use of the 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.
1. Quick References
1.1. Reference Documentation
Please visit http://www.microchip.com/IS2083 or http://www.microchip.com/BM83 to access 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
Refer to the IS2083 SDK User's Guide, Section 1.2, for the recommended Keil® µVision® version. Ensure your PK51 license is valid and within its support period. If the license expires on or before the support period, Keil C51 may restrict debugger usage. For example, if C51 9.59 (released May 2018) is used and your license expired before May 2018, debugger support will be unavailable. If the license expired after May 2018, support remains available.
The following DLL files are required for debugging the IS2083BM using Keil µVision:
- JLinkARM.dll
- JLinkIS2083.dll
The Initsession.ini
file is used to stop Keil µVision at the first execution of the SDK. Note: These DLL files and Initsession.ini
are available in the release package at http://www.microchip.com/IS2083 or http://www.microchip.com/BM83.
Additionally, J-Link Commander (found in the folder path: \Software\Debugger Support\Commander
) can be used to verify if J-Link probes can communicate with the IS2083BM via an executable command prompt.
1.3. Hardware Prerequisites
- SEGGER J-Link Debug Probe
Figure 1-1. J-Link Debug Probe: A black SEGGER J-Link debug probe device with "j-link" branding, USB and LAN ports, and a multi-pin "Target" connector.
Supported J-Link models include J-Link PRO, J-Link ULTRA+, J-Link PLUS, and J-Link BASE.
- BM83 EVB (Evaluation Board)
The BM83 EVB provides a two-wire JTAG interface for communication with the IS2083BM.
- J-Link 6-pin adapter from Microchip
Figure 1-2. J-Link 6-pin Adapter: A small printed circuit board adapter with a 6-pin connector on one end and a larger connector on the other, labeled "J-Link Pan Adapter V1.0" and "MICROCHIP".
2. Software Setup
This section describes the setup procedure for Keil µVision and the IS2083 SDK to work with the debug probes.
2.1. Keil µVision Setup
This section details the step-by-step procedure for setting up Keil µVision. Users must first configure µVision and connect to J-Link debug probes, then to the BM83 EVB. Refer to Section 3.1 for J-Link Probes Connection.
2.1.1. File Settings
Download and install the required Keil C51 from the Keil website. Consult the IS2083 SDK User Guide, Section 1.2 (Software Prerequisites), for the latest SDK-supported Keil version.
The IS2083 SDK requires a specific Keil µVision tool to compile and operate with J-Link probes. Customized .dll files for the SEGGER J-Link debugger enable communication between Keil µVision and the IS2083BM via the J-Link probe.
Note: Ensure Keil µVision is not running after installation.
For Keil C51 v9.59, follow steps 1 to 3 for file settings. Versions v9.60 and above include the necessary DLL files, so only step 3 is required.
Perform the following setup steps:
- Navigate to
C:\Keil_v5\
and open theTOOLS.INI
file using a text editor. - Insert the following text into the file:
TDRV10=BIN\JLinkIS2083.dll (J-Link / J-Trace IS2083 Driver)
- Navigate to
C:\Keil_v5\C51\BIN\
and copy the following files from the debug package to this directory:- JLinkIS2083.dll
- JLinkARM.dll
Figure 2-1. TOOLS.INI: A screenshot of a Notepad window showing the TOOLS.INI
file content, with lines defining various drivers, including TDRV10=BIN\JLinkIS2083.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. The J-Link LED should turn solid green.
Perform the following steps for debug settings:
- Launch Keil µVision and double-click
MSPKv2_Application_IS2083B.uvproj
. Keil µVision will automatically load these SDK project files:- MSPKv2_App_Pbap
- MSPKv2_App_MSPK
- MSPKv2_App_Basic
- MSPKv2_App_MSPK_Debug
- For each project, right-click on the target and select "Options for Target."
Figure 2-2. Build Target: A screenshot of the Keil µVision IDE, showing a project tree and a context menu with options like "Options for Target."
- In the Debug tab, select the highlighted parameters for setup. Replace
S8051.DLL
with-cIS208x
andDP51.DLL
with-pIS208x
. Load theInitSession.ini
file in the "Initialization File" field and select the "Load Application Setup" checkbox.Figure 2-3. Options for Target: A screenshot of the "Options for Target" dialog box in Keil µVision, showing tabs for Device, Target, Output, Listing, User, C51, AX51, LX51 Locate, LX51 Misc, Debug, Utilities. The Debug tab is active, showing settings for initialization files, DLLs, and parameters.
- Click the Settings button.
- Select "Speed" as
12000 kHz
and deselect the "Compare before download" checkbox. Click OK.Figure 2-4. Debug Settings: A screenshot of the "Debug Settings" dialog box in Keil µVision, showing host and target interface settings, including speed selection and a checkbox for "Compare before download."
- To build the application and start a debug session, click the [play/debug icon].
Figure 2-5. Debugging Session: A screenshot of the Keil µVision IDE showing a debugging session with code editor, disassembly view, and command line interface.
Keil µVision is now ready to debug the IS2083BM device.
2.2. SDK Settings
The 2-wire JTAG debug port (pins P1_2 and P1_3) on the IS2083BM is multiplexed with the I2C function. Before debugging, the user must enable the build option ENABLE_JTAG_DEBUG
. This option enables SW I2C and disables Low Power mode, allowing the debugger to run correctly. Users can select the MSPKv2_App_MSPK_Debug
project target, which includes the ENABLE_JTAG_DEBUG
build option.
ENABLE_JTAG_DEBUG
uses the SW I2C port (pins P2_3 and P2_6 by default) instead of the HW I2C. The SDK enables Low Power mode, which turns off the debugger clock and disconnects the debugger. ENABLE_JTAG_DEBUG
is used to disable Low Power mode to prevent this. Refer to the IS2083 Bluetooth® Stereo Audio SoC Data Sheet for more details on JTAG program and debug features.
For information on which SDK features are included in the MSPKv2_App_MSPK_Debug
project, see the IS2083 SDK User's Guide, Section 2.2, and Table 2-1.
Figure 2-6. Target Build: A screenshot of the Keil µVision IDE, showing the project tree with various target builds, highlighting "MSPKv2_App_MSPK_Debug."
3. Hardware Connection
This section describes the procedure to connect the BM83 EVB with the J-Link debug probes.
3.1. J-Link Probes Connection
SEGGER J-Link debug probes can be used with Keil µVision for software debugging and downloading on the IS2083BM.
Perform the following steps:
Case 1 – Connecting J-Link Probes to BM83 EVB
Connect the J-Link, BM83 EVB, and 6-pin adapter as shown in the following figures.
Figure 3-1. J-Link Probes to BM83 EVB Connection: A photograph showing a SEGGER J-Link debug probe connected via a 6-pin adapter to a Microchip BM83 Bluetooth Audio Development Board (EVB).
Ensure correct orientation when inserting the 6-pin adapter to a BM83 EVB.
Figure 3-2. 6-pin Adapter Connection: A close-up photograph of the 6-pin adapter connected to the BM83 EVB, showing specific pin headers and jumper locations (JP307, JP308). It also shows a schematic of the BM83 board with pin labels.
Note: Be sure to unplug jumpers in-between JP307 and JP308 so the HW-I2C interface will not be used.
To use Embedded mode, connect P2_6 of JP309 to P1_3 of JP402, and P2_3 of JP309 to P1_2 of JP402. This allows the IS2083BM to communicate with the ST codec over SW I2C.
Figure 3-3. RST_N Connection to BM83 Module: A close-up photograph showing the RST_N connection on the BM83 EVB, highlighting the connection to a specific pin header.
Ensure that RST_N of SW402 on the BM83 EVB is connected to the BM83 module. J-Link uses this pin to reset the debugger.
Case 2 – Connecting J-Link Probes to application board with IS2083BM
Figure 3-4. J-Link 6-pins connector schematic: A schematic diagram illustrating the 6-pin connector for the J-Link, showing pin assignments like RESET, TDI, TCK, and GND, connected to a capacitor and 3V3_IO.
Connect the following pins from your board to the 6-pin connector:
J-Link 6pin Connector | BM83 | IS2083BM | Description |
---|---|---|---|
Pin1 | Pin43, RST_N | RST_N | Reset IS2083BM |
Pin2 | 3V3 | 3V3_IO | 3V3 power |
Pin3 | Ground | Ground | Ground |
Pin4 | Pin46, TDI_CPU | TDI_CPU | Data |
Pin5 | Pin47, TCK_CPU | TCK_CPU | Clock |
Pin6 | NC | NC | Not used |
4. Start Debugging
This section describes the procedure for IS2083BM file configuration and starting the debugging on Keil µVision.
4.1. Enabling Debug Mode
The 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:
- Embedded mode –
Demo_Package_Embedded_Mode_RTP.hex
- Host mode –
Demo_Package_MCU_Mode_RTP.hex
Choose one of these files according to your desired application mode. Refer to the BM83 Bluetooth® Audio Development Board User's Guide for instructions on downloading the image with tools.
Perform the following steps to enable Debugging mode:
- In the Keil µVision tool, select and build "
MSPKv2_App_MSPK_debug
". - Click the [play/debug icon] or navigate to
Debug > Start/Stop Debug Session
for debugging. Keil µVision uses the DLL files to communicate with the IS2083BM and access Flash. J-Link checks for the Flash header and downloads the compiled 8051 images to the correct bank. - After Flash, the program counter stops at
0x27_0000
, which is theApplication_Init
function. This is the first function where the application code can execute.
During debugging, the 8051 MCU will halt once the program counter hits a breakpoint. Program ROM is suspended, and the Bluetooth connection is dropped simultaneously.
Figure 4-1. Application_Init: A screenshot showing the Keil µVision IDE's disassembly view and C code editor, highlighting the Application_Init
function and related disassembly lines.
The following example shows how to add a breakpoint in the App_init
function. When the user runs the debugger, it stops at line 94. Keil µVision provides the local variables of APP_init
on the right-hand side. The user can investigate global variables using the Watch window.
Figure 4-2. Watch Window: A screenshot of the Keil µVision IDE's "Watch Window", displaying local variables and their values within the APP_init
function.
5. Document Revision History
Revision | Date | Section | Description |
---|---|---|---|
A | 07/2019 | Document | Initial Revision |
Microchip Information
The Microchip Website
Microchip provides online support via its website at http://www.microchip.com/. This site offers easy access to files and information for customers. Available content includes:
- Product Support: Data sheets, errata, application notes, sample programs, design resources, user's guides, hardware support documents, and software releases.
- General Technical Support: Frequently Asked Questions (FAQs), technical support requests, online discussion groups, and a Microchip design partner program member listing.
- Business of Microchip: Product selector and ordering guides, press releases, seminar and event listings, and sales office/distributor information.
Product Change Notification Service
Microchip's product change notification service keeps customers updated on Microchip products. Subscribers receive email notifications for changes, updates, revisions, or errata related to specified product families or development tools. To register, visit http://www.microchip.com/pcn and follow the registration instructions.
Customer Support
Users 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. Technical support is accessible via the website: http://www.microchip.com/support.
Microchip Devices Code Protection Feature
Details of the code protection feature on Microchip devices:
- Microchip products comply with specifications in their respective Microchip Data Sheets.
- Microchip believes its product family is among the most secure available when used as intended under normal conditions.
- Dishonest or illegal methods to breach code protection typically involve using products outside their operating specifications, potentially constituting intellectual property theft.
- Microchip collaborates with customers concerned about code integrity.
- No semiconductor manufacturer can guarantee absolute code security; code protection does not imply the product is "unbreakable."
Code protection is continuously evolving. Microchip is committed to improving these features. Attempts to break code protection may violate the Digital Millennium Copyright Act, potentially allowing legal action for unauthorized access to copyrighted work.
Legal Notice
Information regarding device applications is provided for convenience and may be superseded by updates. Users are responsible for ensuring their applications meet specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING 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 at the buyer's risk. Buyers agree to defend, indemnify, and hold Microchip harmless from any damages, claims, or expenses resulting from such use. No licenses are conveyed under Microchip intellectual property rights unless otherwise stated.
Trademarks
The Microchip name and logo, Adaptec, AnyRate, AVR, AVR Freaks, BesTime, BitCloud, chipKIT, CryptoMemory, CryptoRF, dsPIC, FlashFlex, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, MOST, MPLAB, OptoLyzer, PackeTime, PIC, picoPower, PICSTART, PIC32, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, 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, 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, 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.
© 2019, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. ISBN: 978-1-5224-4805-1
Quality Management System
For information regarding Microchip's Quality Management Systems, please visit http://www.microchip.com/quality.
Worldwide Sales and Service
Region | Location | Contact Information |
---|---|---|
AMERICAS | Corporate Office 2355 West Chandler Blvd. Chandler, AZ 85224-6199 |
Tel: 480-792-7200 Fax: 480-792-7277 Technical Support: http://www.microchip.com/support Web Address: http://www.microchip.com |
Atlanta Duluth, GA |
Tel: 678-957-9614 Fax: 678-957-1455 |
|
Austin, TX | Tel: 512-257-3370 | |
Boston Westborough, MA |
Tel: 774-760-0087 Fax: 774-760-0088 |
|
Chicago Itasca, IL |
Tel: 630-285-0071 Fax: 630-285-0075 |
|
Dallas Addison, TX |
Tel: 972-818-7423 Fax: 972-818-2924 |
|
Detroit Novi, MI |
Tel: 248-848-4000 | |
Houston, TX | Tel: 281-894-5983 | |
Indianapolis Noblesville, IN |
Tel: 317-773-8323 Fax: 317-773-5453 Tel: 317-536-2380 |
|
Los Angeles Mission Viejo, CA |
Tel: 949-462-9523 Fax: 949-462-9608 Tel: 951-273-7800 |
|
Raleigh, NC | Tel: 919-844-7510 | |
New York, NY | Tel: 631-435-6000 | |
San Jose, CA | Tel: 408-735-9110 Tel: 408-436-4270 |
|
Canada - Toronto | Tel: 905-695-1980 Fax: 905-695-2078 |
|
ASIA/PACIFIC | Australia - Sydney | Tel: 61-2-9868-6733 |
China - Beijing | Tel: 86-10-8569-7000 | |
China - Chengdu | Tel: 86-28-8665-5511 | |
China - Chongqing | Tel: 86-23-8980-9588 | |
China - Dongguan | Tel: 86-769-8702-9880 | |
China - Guangzhou | Tel: 86-20-8755-8029 | |
China - Hangzhou | Tel: 86-571-8792-8115 | |
China - Hong Kong SAR | Tel: 852-2943-5100 | |
China - Nanjing | Tel: 86-25-8473-2460 | |
China - Qingdao | Tel: 86-532-8502-7355 | |
China - Shanghai | Tel: 86-21-3326-8000 | |
China - Shenyang | Tel: 86-24-2334-2829 | |
China - Shenzhen | Tel: 86-755-8864-2200 | |
China - Suzhou | Tel: 86-186-6233-1526 | |
China - Wuhan | Tel: 86-27-5980-5300 | |
China - Xian | Tel: 86-29-8833-7252 | |
China - Xiamen | Tel: 86-592-2388138 | |
China - Zhuhai | Tel: 86-756-3210040 | |
India - Bangalore | Tel: 91-80-3090-4444 | |
India - New Delhi | Tel: 91-11-4160-8631 | |
India - Pune | Tel: 91-20-4121-0141 | |
Japan - Osaka | Tel: 81-6-6152-7160 | |
Japan - Tokyo | Tel: 81-3-6880-3770 | |
Korea - Daegu | Tel: 82-53-744-4301 | |
Korea - Seoul | Tel: 82-2-554-7200 | |
Malaysia - Kuala Lumpur | Tel: 60-3-7651-7906 | |
Malaysia - Penang | Tel: 60-4-227-8870 | |
Philippines - Manila | Tel: 63-2-634-9065 | |
Singapore | Tel: 65-6334-8870 | |
Taiwan - Hsin Chu | Tel: 886-3-577-8366 | |
Taiwan - Kaohsiung | Tel: 886-7-213-7830 | |
Taiwan - Taipei | Tel: 886-2-2508-8600 | |
Thailand - Bangkok | Tel: 66-2-694-1351 | |
Vietnam - Ho Chi Minh | Tel: 84-28-5448-2100 | |
EUROPE | Austria - Wels | Tel: 43-7242-2244-39 Fax: 43-7242-2244-393 |
Denmark - Copenhagen | Tel: 45-4450-2828 Fax: 45-4485-2829 |
|
Finland - Espoo | Tel: 358-9-4520-820 | |
France - Paris | Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 |
|
Germany - Garching | Tel: 49-8931-9700 | |
Germany - Haan | Tel: 49-2129-3766400 | |
Germany - Heilbronn | Tel: 49-7131-72400 | |
Germany - Karlsruhe | Tel: 49-721-625370 | |
Germany - Munich | Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 |
|
Germany - Rosenheim | Tel: 49-8031-354-560 | |
Israel - Ra'anana | Tel: 972-9-744-7705 | |
Italy - Milan | Tel: 39-0331-742611 Fax: 39-0331-466781 |
|
Italy - Padova | Tel: 39-049-7625286 | |
Netherlands - Drunen | Tel: 31-416-690399 Fax: 31-416-690340 |
|
Norway - Trondheim | Tel: 47-72884388 | |
Poland - Warsaw | Tel: 48-22-3325737 | |
Romania - Bucharest | Tel: 40-21-407-87-50 | |
Spain - Madrid | Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 |
|
Sweden - Gothenberg | Tel: 46-31-704-60-40 | |
Sweden - Stockholm | Tel: 46-8-5090-4654 | |
UK - Wokingham | Tel: 44-118-921-5800 Fax: 44-118-921-5820 |