Difference between revisions of "NRF52840 Development"
(→Remote Server) |
|||
Line 14: | Line 14: | ||
Open three terminals in the /opt/SEGGER/JLink_V622g directory. | Open three terminals in the /opt/SEGGER/JLink_V622g directory. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===JLink Debugger=== | ===JLink Debugger=== | ||
− | + | 1. start JLinkExe then issue the following commands: | |
connect | connect | ||
NRF52840_XXAA | NRF52840_XXAA | ||
Line 139: | Line 75: | ||
g go (start running) | g go (start running) | ||
r reset | r reset | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===Real Time Terminal Client=== | ||
+ | 2. start RTT client | ||
+ | $ ./JLinkRTTClient | ||
+ | |||
+ | |||
+ | ###RTT Client: ************************************************************ | ||
+ | ###RTT Client: * SEGGER MICROCONTROLLER GmbH & Co KG * | ||
+ | ###RTT Client: * Solutions for real time microcontroller applications * | ||
+ | ###RTT Client: ************************************************************ | ||
+ | ###RTT Client: * * | ||
+ | ###RTT Client: * (c) 2012 - 2016 SEGGER Microcontroller GmbH & Co KG * | ||
+ | ###RTT Client: * * | ||
+ | ###RTT Client: * www.segger.com Support: support@segger.com * | ||
+ | ###RTT Client: * * | ||
+ | ###RTT Client: ************************************************************ | ||
+ | ###RTT Client: * * | ||
+ | ###RTT Client: * SEGGER J-Link RTT Client Compiled Jan 17 2018 16:40:49 * | ||
+ | ###RTT Client: * * | ||
+ | ###RTT Client: ************************************************************ | ||
+ | |||
+ | ###RTT Client: ----------------------------------------------- | ||
+ | ###RTT Client: Connecting to J-Link RTT Server via localhost:19021 Connected. | ||
+ | ###RTT Client: Connection lost. Going to reconnect. | ||
+ | ###RTT Client: Connecting to J-Link RTT Server via localhost:19021 .............. Connected. | ||
+ | SEGGER J-Link V6.22g - Real time terminal output | ||
+ | J-Link OB-SAM3U128-V2-NordicSemi compiled Jan 12 2018 16:05:20 V1.0, SN=683525645 | ||
+ | Process: JLinkRemoteServer | ||
+ | |||
+ | output from printf command will be sent here: | ||
+ | |||
+ | SPI Initialized. | ||
+ | reset_AD7124. | ||
+ | Reset failed: 0x00 | ||
+ | |||
+ | |||
+ | |||
+ | ===Remote Server=== | ||
+ | |||
+ | To debug on the local machine, remote server does not seem to be necessary but here is how to start it: | ||
+ | |||
+ | start remote server | ||
+ | |||
+ | $ ./JLinkRemoteServer | ||
+ | |||
+ | |||
+ | SEGGER J-Link Remote Server V6.22g | ||
+ | Compiled Jan 17 2018 16:40:43 | ||
+ | |||
+ | 'q' to quit '?' for help | ||
+ | Connected to J-Link with S/N 683525645 | ||
+ | Waiting for client connection... | ||
+ | |||
+ | This example uses tunneling to connect to the Segger website so you can remotely access the test device remotely if it is behind a firewall. | ||
+ | |||
+ | |||
+ | $ ./JLinkRemoteServer UseTunnel | ||
+ | |||
+ | SEGGER J-Link Remote Server V6.22g | ||
+ | Compiled Jan 17 2018 16:40:43 | ||
+ | |||
+ | 'q' to quit '?' for help | ||
+ | |||
+ | Connected to J-Link with S/N 683525645 | ||
+ | |||
+ | Resolving host name (jlink.segger.com)... O.K. | ||
+ | Tunnel server IP: 185.162.249.2 | ||
+ | Connecting to tunnel server... O.K. | ||
+ | Waiting for client connection... | ||
+ | |||
+ | |||
===Resources=== | ===Resources=== |
Revision as of 00:40, 2 February 2018
Contents
To compile, flash and reset
~/Projects/nRF5_SDK_14.2.0_17b948a/examples/peripheral/spi/pca10056/blank/armgcc
$ make $ nrfjprog -f NRF52 --program _build/nrf52840_xxaa.hex --sectorerase $ nrfjprog -f NRF52 --reset
Using Segger's Linux command line tools
Open three terminals in the /opt/SEGGER/JLink_V622g directory.
JLink Debugger
1. start JLinkExe then issue the following commands:
connect NRF52840_XXAA S <Enter>
$ ./JLinkExe SEGGER J-Link Commander V6.22g (Compiled Jan 17 2018 16:40:37) DLL version V6.22g, compiled Jan 17 2018 16:40:32 Connecting to J-Link via USB...O.K. Firmware: J-Link OB-SAM3U128-V2-NordicSemi compiled Jan 12 2018 16:05:20 Hardware version: V1.00 S/N: 683525645 VTref = 3.300V Type "connect" to establish a target connection, '?' for help J-Link>connect Please specify device / core. <Default>: NRF52832_XXAA Type '?' for selection dialog Device>NRF52840_XXAA Please specify target interface: J) JTAG (Default) S) SWD TIF>S Specify target interface speed [kHz]. <Default>: 4000 kHz Speed> Device "NRF52840_XXAA" selected. Connecting to target via SWD Found SW-DP with ID 0x2BA01477 Found SW-DP with ID 0x2BA01477 Scanning AP map to find all available APs AP[2]: Stopped AP scan as end of AP map has been reached AP[0]: AHB-AP (IDR: 0x24770011) AP[1]: JTAG-AP (IDR: 0x02880000) Iterating through AP map to find AHB-AP to use AP[0]: Core found AP[0]: AHB-AP ROM base: 0xE00FF000 CPUID register: 0x410FC241. Implementer code: 0x41 (ARM) Found Cortex-M4 r0p1, Little endian. FPUnit: 6 code (BP) slots and 2 literal slots CoreSight components: ROMTbl[0] @ E00FF000 ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB00C SCS-M7 ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 003BB002 DWT ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 002BB003 FPB ROMTbl[0][3]: E0000000, CID: B105E00D, PID: 003BB001 ITM ROMTbl[0][4]: E0040000, CID: B105900D, PID: 000BB9A1 TPIU ROMTbl[0][5]: E0041000, CID: B105900D, PID: 000BB925 ETM Cortex-M4 identified. J-Link>
Useful commands:
h halt g go (start running) r reset
Real Time Terminal Client
2. start RTT client
$ ./JLinkRTTClient
###RTT Client: ************************************************************ ###RTT Client: * SEGGER MICROCONTROLLER GmbH & Co KG * ###RTT Client: * Solutions for real time microcontroller applications * ###RTT Client: ************************************************************ ###RTT Client: * * ###RTT Client: * (c) 2012 - 2016 SEGGER Microcontroller GmbH & Co KG * ###RTT Client: * * ###RTT Client: * www.segger.com Support: support@segger.com * ###RTT Client: * * ###RTT Client: ************************************************************ ###RTT Client: * * ###RTT Client: * SEGGER J-Link RTT Client Compiled Jan 17 2018 16:40:49 * ###RTT Client: * * ###RTT Client: ************************************************************ ###RTT Client: ----------------------------------------------- ###RTT Client: Connecting to J-Link RTT Server via localhost:19021 Connected. ###RTT Client: Connection lost. Going to reconnect. ###RTT Client: Connecting to J-Link RTT Server via localhost:19021 .............. Connected. SEGGER J-Link V6.22g - Real time terminal output J-Link OB-SAM3U128-V2-NordicSemi compiled Jan 12 2018 16:05:20 V1.0, SN=683525645 Process: JLinkRemoteServer
output from printf command will be sent here:
SPI Initialized. reset_AD7124. Reset failed: 0x00
Remote Server
To debug on the local machine, remote server does not seem to be necessary but here is how to start it:
start remote server
$ ./JLinkRemoteServer
SEGGER J-Link Remote Server V6.22g
Compiled Jan 17 2018 16:40:43
'q' to quit '?' for help
Connected to J-Link with S/N 683525645 Waiting for client connection...
This example uses tunneling to connect to the Segger website so you can remotely access the test device remotely if it is behind a firewall.
$ ./JLinkRemoteServer UseTunnel
SEGGER J-Link Remote Server V6.22g Compiled Jan 17 2018 16:40:43 'q' to quit '?' for help Connected to J-Link with S/N 683525645 Resolving host name (jlink.segger.com)... O.K. Tunnel server IP: 185.162.249.2 Connecting to tunnel server... O.K. Waiting for client connection...
Resources
Debugging Nordic nRF51822 using SEGGER Real Time Terminal (RTT)
Set up the Pi as a Bluetooth-to-Ethernet router
Setup
# modprobe bluetooth_6lowpan
# lsmod|grep blue bluetooth_6lowpan 11549 0 6lowpan 18741 8 nhc_udp,nhc_routing,nhc_mobility,bluetooth_6lowpan,nhc_fragment,nhc_dest,nhc_hop,nhc_ipv6 bluetooth 365780 30 bluetooth_6lowpan,hci_uart,bnep,btbcm,rfcomm rfkill 20851 6 bluetooth,cfg80211
# echo 1 > /sys/kernel/debug/bluetooth/6lowpan_enable
# hcitool lescan
Resources
Connecting the Nordic nRF52 chip to IPv6 networks via 6LoWPAN