Nordic 裝置簡易檢測

Nordic 裝置簡易檢測

Nordic 出品的一系列 RF 通訊晶片,非常受到 makers、學校、研究機關與業界公司歡迎,因為開發套件相當簡單容易上手,也算得上是業界標準。所以基本上應該算是隨插即用,但是偶而也可能會遇到一些小狀況,例如開發連接不到硬體之類的情形。

在此提供幾項簡單的檢測方法,快速幫你尋找可能的問題來源。

  1. 首先是當然是要確認你的開發主機能夠抓得到硬體裝置,可以參考這一篇 簡易識別 USB 裝置

  2. 如果驅動程式都裝好了,可是在某個 IDE 或是軟體開發工具中卻發生連接錯誤,可以採用下列方式試驗偵測看看。Nordic 開發產品幾乎都是採用限縮 Nordic 裝置使用的 JLink 燒錄除錯器,所以先到 Segger 官網下載 J-Link Software and Documentation Pack,各大平台的套件管理命令列也應該都有包好的套件,方便透過命令列直接安裝。

如果是採用自製的板子,當然一定要先看 J-Link 文件確認對應接線介面。然後不論是要檢測自製的板子或原廠開發板,都可以參考以下採用 JLinkExe 連接到 NRF5284-DK 的命令流程。device 命令是用以指定 target MCU 型號,如果不知道 target CPU 確切型號也沒太大關係,直接下達 connect 時會跳出一個選單列表,再據以選擇。

 1$ JLinkExe
 2SEGGER J-Link Commander V7.56b (Compiled Oct 18 2021 16:30:54)
 3DLL version V7.56b, compiled Oct 18 2021 16:30:48
 4
 5Connecting to J-Link via USB...O.K.
 6Firmware: J-Link OB-SAM3U128-V2-NordicSemi compiled Mar 17 2020 14:43:00
 7Hardware version: V1.00
 8S/N: *********
 9License(s): RDI, FlashBP, FlashDL, JFlash, GDB
10VTref=3.300V
11
12Type "connect" to establish a target connection, '?' for help
13J-Link>device NRF52840_XXAA
14J-Link>connect
15Please specify target interface:
16  J) JTAG (Default)
17  S) SWD
18  T) cJTAG
19TIF>s
20Specify target interface speed [kHz]. <Default>: 4000 kHz
21Speed>
22Device "NRF52840_XXAA" selected.
23
24Connecting to target via SWD
25InitTarget() start
26InitTarget() end
27Found SW-DP with ID 0x2BA01477
28DPIDR: 0x2BA01477
29Scanning AP map to find all available APs
30AP[2]: Stopped AP scan as end of AP map has been reached
31AP[0]: AHB-AP (IDR: 0x24770011)
32AP[1]: JTAG-AP (IDR: 0x02880000)
33Iterating through AP map to find AHB-AP to use
34AP[0]: Core found
35AP[0]: AHB-AP ROM base: 0xE00FF000
36CPUID register: 0x410FC241. Implementer code: 0x41 (ARM)
37Found Cortex-M4 r0p1, Little endian.
38FPUnit: 6 code (BP) slots and 2 literal slots
39CoreSight components:
40ROMTbl[0] @ E00FF000
41[0][0]: E000E000 CID B105E00D PID 000BB00C SCS-M7
42[0][1]: E0001000 CID B105E00D PID 003BB002 DWT
43[0][2]: E0002000 CID B105E00D PID 002BB003 FPB
44[0][3]: E0000000 CID B105E00D PID 003BB001 ITM
45[0][4]: E0040000 CID B105900D PID 000BB9A1 TPIU
46[0][5]: E0041000 CID B105900D PID 000BB925 ETM
47Cortex-M4 identified.

這套工具很強大,但是平常我也只用到上述功能。更完整的命令列表及用法可以參考 J-Link Commander

此外,因為 JLinkExe 也可以吃 scripts,所以在需要大量燒錄的場合,應該派得上用場!