Difference between revisions of "NRF52840 Development"

From HiveTool
Jump to: navigation, search
(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.
 
===Remote Server===
 
1. 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...
 
 
 
 
 
$ ./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...
 
 
===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
 
 
SPI Initialized.
 
reset_AD7124.
 
Reset failed:  0x00
 
  
 
===JLink Debugger===
 
===JLink Debugger===
3. start JLinkExe
+
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 01:40, 2 February 2018

NRF52840 Development Code


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