1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2026-01-01 01:41:18 +01:00
RIOT/pkg/nordic_softdevice_ble
Gaëtan Harter f3e72009e8
pkg/nordic_softdevice_ble: reset memory in the .hex file
softdevice needs the memory at 0x2000 to be initialized to 0xffffffff
according to #5893 and testing. However, the addresses [0x8bc, 0x3000[ are not
set in softdevice.hex.

So use a modified hex file with all the memory set to 0xff as it is the rom
reset value anyway.

This change updates the `.hex` file instead on relying on erasing the
memory.
2019-08-12 15:54:45 +02:00
..
2019-08-06 19:43:54 +02:00

Overview

This package provides necessary Makefiles and glue code to use the Nordic S132 SoftDevice as Bluetooth BLE transport for RIOT's 6lowpan stack.

Usage

"gnrc_netdev_default" has a dependency to "nordic_softdevice_ble", so all examples automatically download the SDK and compile / link / flash all needed code.

If you want to manually set up included modules, add "USEPKG += nordic_softdevice_ble" to your application's Makefile.

See README-BLE-6LoWPAN.md for instructions on how to set up 6lowpan over BLE on Linux.

Known issues

  • floating point ABI mismatch

The Nordic binaries are compiled using hard float ABI, which RIOT currently doesn't support (RIOT's context switching code doesn't preserve the floating point registers). If the softdevice is compiled in, RIOT will be compiled with hard float ABI in order for the linking to succeed. This works for some application, but will lead to serious and hard-to-find bugs for code using floating point instructions.

Hopefully, either the RIOT community adds hard-float support, or Nordic releases a soft-float version of the used binaries.