I wanted to get FOTA running on a PineTime devkit board (nrf52832) just to test and see if it works, but am getting the following error message:
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
cd /Users/lj/Projects/GitHub/lj/blinky_ble/build_1/mcuboot && /opt/nordic/ncs/toolchains/580e4ef81c/Cellar/cmake/3.21.0/bin/cmake --build . --
# Enable MCUboot and FOTA CONFIG_BOOTLOADER_MCUBOOT=y CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU=y
CONFIG_GPIO=y CONFIG_LOG=y CONFIG_USE_SEGGER_RTT=y CONFIG_BT=y CONFIG_BT_DEVICE_NAME="MCU Test" CONFIG_BT_PERIPHERAL=y # Enable MCUboot and FOTA CONFIG_BOOTLOADER_MCUBOOT=y CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU=y
- Exercise 3 - FOTA over Bluetooth Low Energy - Nordic Developer Academy (nordicsemi.com)
- Using MCUboot in nRF Connect SDK (nordicsemi.com)
- FOTA updates on nRF52 Series devices — nRF Connect SDK 2.7.99 documentation (nordicsemi.com)
I wonder if this is a clue Troubleshooting devicetree — Zephyr Project Documentation
I have a basic Blinky example I am using to test. I have two builds in it:
- nrf52dk_52832
- pinetime_devkit0
I can build on the nrf52dk but not the pinetime. These are from the .dts of each:
model = "Nordic nRF52 DK NRF52832"; compatible = "nordic,nrf52-dk-nrf52832"; chosen { zephyr,console = &uart0; zephyr,shell-uart = &uart0; zephyr,uart-mcumgr = &uart0; zephyr,bt-mon-uart = &uart0; zephyr,bt-c2h-uart = &uart0; zephyr,sram = &sram0; zephyr,flash = &flash0; zephyr,code-partition = &slot0_partition; };
model = "Pine64 PineTime DevKit0"; compatible = "pine64,pinetime-devkit0"; chosen { zephyr,console = &uart0; zephyr,shell-uart = &uart0; zephyr,bt-mon-uart = &uart0; zephyr,bt-c2h-uart = &uart0; zephyr,sram = &sram0; zephyr,flash = &flash0; zephyr,code-partition = &slot0_partition; zephyr,display = &st7789v; };
Repo is here ljunquera/blinky_ble (github.com)