Silicon Labs Bluetooth:Bluetooth Smart SDK 2.6.xから 2.7.xへ移行する手順を教えてください
EFx32
SDK 2.7.0では、OTA updateの新しいメカニズム(ApplicationLoaderといいます)が導入されています。それに伴い、bootloader周りが変更になっています。
主な変更点は以下の通りです。
- Bluetoothスタックが、バイナリとしてではなく、ライブラリとして提供されるように変更されました。
- 変更前:/protocol/bluetooth_2.6/lib//EABI/binstack.o
- 変更後:/protocol/bluetooth_2.7/lib///libbluetooth.a
- OTA updateを使用する場合には、ApplicationLoaderのバイナリをプロジェクトに含める必要があります。Application Loader は下記にて提供されています。なお、SOC用のサンプルコードには、デフォルトで含まれています。
- gecko_sdk_suite/v2.1/protocol/bluetooth_2.7/lib///binapploader.o
- ApplicationLoaderは、最新のgecko bootloaderの使用を前提としており、従来のlegacy bootloader上では動作しません。そのため、従来のbootloaderをご使用の場合には、最新のgeckobootloaderに書き換えて頂く必要があります。
- 旧SDKのサンプルコードにはlegacy bootloaderがデフォルトで含まれておりましたが、SDK2.7.0のサンプルコードにはbootloaderが含まれておりません。New Projectからgecko bootloaderを生成してダウンロードして頂くか、或いはデモアプリ(サンプルコードではなく)を一度ダウンロードして頂く必要があります。
- ApplicationLoaderやBluetoothスタックのライブラリ提供に伴い、ライブラリやメモリのレイアウトが変更になっています。
- 不要になったため、main.cからaat.hが削除されました。
- boards.hが削除され、中身がble-configuration.hに移されました。
より詳細な情報が SiliconLabsのコミュニティサイトにありますので、こちらを参照ください。