Trying to make DFU work. No luck so far.
This commit is contained in:
parent
0b52583781
commit
0940e4ea7e
4 changed files with 40 additions and 15 deletions
|
|
@ -9,20 +9,8 @@
|
||||||
"f_cpu": "64000000L",
|
"f_cpu": "64000000L",
|
||||||
"hwids": [
|
"hwids": [
|
||||||
[
|
[
|
||||||
"0x239A",
|
"0x1a86",
|
||||||
"0x8029"
|
"0x7523"
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x239A",
|
|
||||||
"0x0029"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x239A",
|
|
||||||
"0x002A"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x239A",
|
|
||||||
"0x802A"
|
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"usb_product": "E73-TBB nRF52832 development board",
|
"usb_product": "E73-TBB nRF52832 development board",
|
||||||
|
|
@ -58,7 +46,7 @@
|
||||||
"maximum_size": 524288,
|
"maximum_size": 524288,
|
||||||
"require_upload_port": true,
|
"require_upload_port": true,
|
||||||
"speed": 115200,
|
"speed": 115200,
|
||||||
"protocol": "jlink",
|
"protocol": "nrfutil",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"jlink",
|
"jlink",
|
||||||
"nrfjprog",
|
"nrfjprog",
|
||||||
|
|
|
||||||
|
|
@ -14,3 +14,9 @@ platform = nordicnrf52
|
||||||
; board = adafruit_feather_nrf52832
|
; board = adafruit_feather_nrf52832
|
||||||
board = e73-tbb
|
board = e73-tbb
|
||||||
framework = arduino
|
framework = arduino
|
||||||
|
build_flags = -DNRF52 -DS132 -DNRF51_S132
|
||||||
|
; upload_port = /dev/cu.usbserial-14330
|
||||||
|
; debug_tool = jlink
|
||||||
|
; protocol = nrfutil
|
||||||
|
; lib_deps =
|
||||||
|
; mbed-glimwormbeacons/SEGGER_RTT2 @ 0.0.0+sha.a7800e894aaf
|
||||||
|
|
@ -6,9 +6,11 @@ constexpr int kLED2Pin = 18;
|
||||||
void setup() {
|
void setup() {
|
||||||
pinMode(kLED1Pin, OUTPUT);
|
pinMode(kLED1Pin, OUTPUT);
|
||||||
pinMode(kLED2Pin, OUTPUT);
|
pinMode(kLED2Pin, OUTPUT);
|
||||||
|
// Serial.begin(9600);
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
|
// Serial.print("Hello, world\n");
|
||||||
digitalWrite(kLED1Pin, LOW);
|
digitalWrite(kLED1Pin, LOW);
|
||||||
digitalWrite(kLED2Pin, LOW);
|
digitalWrite(kLED2Pin, LOW);
|
||||||
delay(1000);
|
delay(1000);
|
||||||
|
|
|
||||||
29
resources.md
29
resources.md
|
|
@ -8,3 +8,32 @@
|
||||||
|
|
||||||
# Articles
|
# Articles
|
||||||
* Great article about using Rust and Apache Mynewt, but also covers J-Link, ST-Link, openocd, unlocking the nrf52. [Link on medium](https://medium.com/@ly.lee/coding-nrf52-with-rust-and-apache-mynewt-on-visual-studio-code-9521bcba6004)
|
* Great article about using Rust and Apache Mynewt, but also covers J-Link, ST-Link, openocd, unlocking the nrf52. [Link on medium](https://medium.com/@ly.lee/coding-nrf52-with-rust-and-apache-mynewt-on-visual-studio-code-9521bcba6004)
|
||||||
|
|
||||||
|
# SWD vs. Bootloader vs. DFU
|
||||||
|
* How `nrfutil` is used in the platformio nordicnrf52 package: [link](https://github.com/platformio/platform-nordicnrf52/blob/develop/builder/main.py#L319)
|
||||||
|
* Seems like we can use DFU if we install a DFU-enabled bootloader like the [Adafruit_nRF52_Bootloader](https://github.com/adafruit/Adafruit_nRF52_Bootloader)
|
||||||
|
* Using the adafruit nrf52 bootloader with the E73-TBB [link](https://ssihla.wordpress.com/2019/07/23/using-adafruits-bluefruit-nrf52-feather-bootloader-on-a-cheap-chineese-board/)
|
||||||
|
|
||||||
|
## Burning the Adafruit bootloader
|
||||||
|
1. `$ brew cask install nordic-nrf-command-line-tools` -> Didn't work. I had to manually install the pkgs from [nordic](https://www.nordicsemi.com/Software-and-tools/Development-Tools/nRF-Command-Line-Tools/Download)
|
||||||
|
1. `pip install intelhex`
|
||||||
|
1. `PATH=$PATH:/Users/rbaron/.platformio/packages/framework-arduinoadafruitnrf52/tools/adafruit-nrfutil/macos make BOARD=feather_nrf52840_express all`
|
||||||
|
|
||||||
|
## Uploading with nrfutil
|
||||||
|
```
|
||||||
|
$ ~/.platformio/packages/framework-arduinoadafruitnrf52/tools/adafruit-nrfutil/macos/adafruit-nrfutil dfu genpkg --dev-type 0x0052 --sd-req 0x00B7 --application .pio/build/e73-tbb/firmware.hex dfu-pkg.zip
|
||||||
|
Zip created at dfu-pkg.zip
|
||||||
|
|
||||||
|
$ ~/.platformio/packages/framework-arduinoadafruitnrf52/tools/adafruit-nrfutil/macos/adafruit-nrfutil dfu serial --package dfu-pkg.zip -p /dev/cu.usbserial-14330 -b 115200
|
||||||
|
Upgrading target on /dev/cu.usbserial-14330 with DFU package /Users/rbaron/dev/parasite/code/parasite/dfu-pkg.zip. Flow control is disabled, Dual bank, Touch disabled
|
||||||
|
########################################
|
||||||
|
########################################
|
||||||
|
########################################
|
||||||
|
########################################
|
||||||
|
########################################
|
||||||
|
#######################
|
||||||
|
Activating new firmware
|
||||||
|
Device programmed.
|
||||||
|
```
|
||||||
|
|
||||||
|
It flashes okay, but the program doesn't seem to run - the leds don't flash.
|
||||||
Loading…
Add table
Reference in a new issue