- Here
- target: 16.0.0 nRF5 SDK (scroll down, nRF5_SDK_16.0.0_98a08e2.zip)
- Here
- target: 10.9.0 Linux64 -> JLink_Linux_V680a_x86_64.tgz
- Here
- target: gcc-arm-none-eabi-6_2-2016q4-20161216-linux.tar.bz2
Prepare:
a. SDKvim components/toolchain/gcc/Makefile.posix
GNU_INSTALL_ROOT := /opt/gcc/none_eabi/gcc-arm-none-eabi-6_2-2016q4/bin/
GNU_VERSION := 6.2
GNU_PREFIX := arm-none-eabi
b. Command Line Tools (JLink_Linux_V680a_x86_64.tgz)
1. mkdir /opt/SEGGER (don't fix the name, hardcode)
2. cp -r JLink_Linux_V680a_x86_64/ /opt/SEGGET/JLink (don't fix the name, hardcode)
c. Compile:(for example)
1. cd examples/ble_peripheral/ble_app_hrs/pca10040/s132/armgcc
2. make
d. Burn FW:
1. $ sudo make flash
2. $ sudo make flash_softdevice
e. others: 1. Use ldd or realelf to check the relevant libraries of SDK and command line tools
ref: bertrandmartel
Debug:
open two terminals, one is below:
JLinkExe -autoconnect 1 -device NRF52832_XXAA -if SWD -speed 4000
another is as below:
JLinkRTTClient
ref: nordicsemi
nRF Sniffer:
1. Download (2.x.x is for python2) 3. follow the user guide to do
a. burn "sniffer_pca10040_c87e17d.hex" to pca10040
b. copy "SnifferAPI", "nrf_sniffer.*" to "/usr/lib/x86_64-linux-gnu/wireshark/extcap"
c. $ sudo chmod 755 nrf_sniffer.*;
d. $ pip2 install pyserial
e. $ python2 nrf_sniffer.py -> No arguments given! (It means successfully)
f. $ sudo chown user_name:wireshark /usr/bin/dumpcap
g. $ sudo chown user_name:dialout /dev/ttyACM0 (in my case)
h. $ cp -r Profile_nRF_Sniffer_Bluetooth_LE to ~/.config/wireshark/
(Profile_nRF_Sniffer_Bluetooth_LE is form 3.x.x)
I. restart wireshark with user_name
wireshark:
1. Protocol field name: bluetooth2. Protocol field name: btle
沒有留言:
張貼留言