AnsweredAssumed Answered

QN9020 Mini DK KEIL Debug Sesion Fails

Question asked by Gerald Lamb on Jul 19, 2018
Latest reply on Jul 27, 2018 by Mario Ignacio Castaneda Lopez

Environment is QN9020 MiniDK & uVision V5.24.2.0.

On the QN9020 Mini DK I have soldered SWDIO & SWDCLK (0 ohm) links on R37 & R39.  I have not altered UART R36 nor R37.  uVision Pack Installer does not include the QN9020 under Devices:NXP nor the QN9020 Board, however ARM, MDK etc packs are “Up to date”, however  QN9020DevDBforIDE was used to install the QN9020 database.


I run a copy of the timer.c which builds/links all elements and shows the QN9020 enabled.

*** Using Compiler 'V5.06 update 5 (build 528)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Build target 'timer'
After Build - User command #1: fromelf --bin --output ./bin/timer.bin ./obj/timer.axf
".\obj\timer.axf" - 0 Error(s), 0 Warning(s).
Build Time Elapsed:  00:00:00   


I can run KEIL debugger on the timer.c example and change the PWM buzzer tone verifying functionality.

Running with Code Size Limit: 32K

Set JLink Project File to "C:\Users\…..timer\keil\JLinkSettings.ini"* JLink Info: Device "QN9020" selected.
JLink info:
DLL: V6.16c, compiled Jun 16 2017 18:14:49
Firmware: J-Link OB-SAM3U128 V1 compiled Jul 19 2017 09:54:41
Hardware: V1.00
S/N : 480026333
* JLink Info: Found SW-DP with ID 0x0BB11477
* JLink Info: Scanning APs, stopping at first AHB-AP found.
* JLink Info: AP[0] IDR: 0x04770021 (AHB-AP)
* JLink Info: AHB-AP ROM: 0xE00FF000 (Base addr. of first ROM table)
* JLink Info: CPUID reg: 0x410CC200. Implementer code: 0x41 (ARM)
* JLink Info: Found Cortex-M0 r0p0, Little endian.
* JLink Info: FPUnit: 4 code (BP) slots and 0 literal slots
* JLink Info: CoreSight components:
* JLink Info: ROMTbl[0] @ E00FF000
* JLink Info: ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB008 SCS
* JLink Info: ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 000BB00A DWT
* JLink Info: ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 000BB00B FPB
ROMTableAddr = 0xE00FF000
Target info:
Device: QN9020
VTarget = 3.300V
State of Pins: TCK: 0, TDI: 1, TDO: 1, TMS: 1, TRES: 1, TRST: 1
Hardware-Breakpoints: 4
Software-Breakpoints: 8192
Watchpoints:          2
JTAG speed: 5000 kHz
Load "C:\\Users\\…….\\timer\\keil\\obj\\timer.axf"
*** Restricted Version with 32768 Byte Code Size Limit
*** Currently used: 7224 Bytes (22%)
*** error 57: illegal address (0x10000000)
WS 1, `timer0_env


However, I am unable to set breakpoints and have debug session stop at those breakpoints, trace variables etc.  Also, I am unable to use print to send message to View:Serial Window:Debug(printf) Viewer.  When I check the J-Link setup all looks OK.  I’m sure I am missing something simple but hope you can steer me to a solution.