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
* JLink Info: Setting AIRCR.SYSRESETREQ
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)
* JLink Info: Setting AIRCR.SYSRESETREQ
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.