Skip to content

Latest commit

 

History

History
151 lines (118 loc) · 16.7 KB

File metadata and controls

151 lines (118 loc) · 16.7 KB

DapLink - EasyFlash

English - Français

Introduction

Cet outil est à usage interne, nous l'utilisons pour (1) charger daplink sur certaine target (STM32L475, STM32WB55, ...), en remplacement de ST-LINK et (2) pour flasher une stack sans-fil (BLE, Thread, Zigbee, ...) sur le co-processeur du STM32WB5xxG.

DapLink

La procédure de chargement de DapLink est la suivante :

  1. Dévérouillage du RDP sur STM32F103xB
  2. Effecement total de la flash
  3. Ecriture du bootloader
  4. Tranfert du firmware
  5. (optionnel) Transfert du programme de test

Stack Wireless

La stack est flashé sur le co-processeur à l'aide du FUS et d'un programme appelé operator, ce dernier fait le relais entre des commandes haut niveau de l'operator et le FUS. L'operator est précompilé, mais n'est pas la version officiel de ST Microelectronics, les sources sont disponible à cette adresse (https://github.com/steamicc/codal-steami-samples/tree/main/samples/Peripherals/FUS_WS_Operator).

screenshot

L'apparance peut varier suivant la configuration de l'OS

Dépendances

💻 Système

Pour ne pas avoir à installer OpenOCD sur votre système, nous vous recommendons d'utiliser la version pré-compilée par XPack. La version testée est v0.12.0-4.

💡 Une archive zip est disponible dans les releases. Elle contient tous les fichiers et modifications nécessaires (dossiers déplacés).

⚠️ Mac OS X n'est actuellement pas supporté (ni testé), mais nous ouvert aux contributions 😉

💾 Bootloader & Firmware (DapLink)

💡 Les ancienne releases sont disponible ici: https://github.com/letssteam/DAPLink/releases

⚠️ Pour toutes autres target, consulter la page GitHub de DapLink

Utilisation

🔌 Connexion de la probe (Chargement DapLink)

Pour permettre au programme de flasher le bootloader, le firmware, puis le programme de test, il est nécéssaire de cabler la carte à une probe (ST-Link, Black magic probe, ...), en plus de la connecter à l'ordinateur (à l'aide d'un câble micro-USB).

⚠️ Connecter la carte (STM32 Disco L475 IoTNode, STM32 Nucleo WB55, ...) à votre ordinateur après avoir cablé et connecté la probe.

STeaMi

STM32 Disco L475 IoTNode

STM32 Nucleo WB55

💻 Software

Le programme offre une interface simplifiée, permettant de selectionner les fichiers qui seront utilisés.

Pour DapLink

  1. Utilisations des fichiers téléchargés à l'étape Dépendance
    1. Dans le premier champs sélectionner le bootloader (e.g: stm32f103xb_bl.bin)
    2. Dans le second champs sélectionner le firmware (e.g: stm32f103xb_stm32l475vg_if.bin)
    3. (optionnel) Dans le troisième champs le programme de test (quelques programme de test basique sont disponible dans le dossier test bin)
  2. Indiquer le nom du périphérique de stockage créer par DapLink (e.g: DIS_L4IOT, DAPLINK, STEAMI...)
  3. Indiquer le temps d'attente maximal des périphérique de stockage (e.g: 10), en secondes
  4. Appuyer sur le bouton "Start"

Pour la stack wireless

  1. Sélectionner le port série de votre carte
  2. Choisir une stack. Un descriptif des stacks est disponible plus bas
  3. Appuyer sur le bouton "Start"

💡 Toutes les valeurs de champs sont sauvegarder lorsque vous quitter le programme.

🦀 Éxécuter à partir des sources

  1. Installer rust
  2. Installer openocd
  3. Cloner ou télécharger le repository git clone https://github.com/steamicc/DapLink-EasyFlash.git
  4. Entrer dans le dossier cd DapLink-EasyFlash
  5. Éxécuter la commande cargo run à la racine du projet.

Test files

Dans le dossier test bin vous pouvez trouver quelque programme de test basiques

test-l475.bin

Clignotement des leds, LD1 and LD2, suivant deux schémas.

test-wb55.bin

Alterne les pins PC10 et PC12. (La vidéo est le résultat sur la STeaMi).

Descriptif détaillé des stacks

Firmware Description STM32WB5xxG (1M) STM32WB5xxY (640K) STM32WB5xxE (512K) STM32WB5xxC (256K)
BLE HCI AdvScan * To be used for advertising and scanning through HCI interface
* BT SIG Certification listing : Declaration ID D042213 / QDID 160726
* HCI Layer only mode, layers supported : Link Layer, HCI
BLE LLD * BLE LLD (Low Level Driver) Radio Transparent firmware
* To be used for direct access on BLE LLD features and API
BLE Stack full * BT SIG Certification listing : Declaration ID D042164 / QDID 160724
* Full BLE Stack, layers supported : Link Layer, HCI, L2CAP, ATT, SM, GAP and GATT database
* Following features are kept (based on Basic stack library compared to previous deliveries):
* GAP peripheral, central (Master up to 8 links/Slave up to 8 links/all combinations in between)
* GATT server, client
* Data length extension
* 2Mbit PHY / PHY update
* Privacy
* White list
* Legacy Pairing, LE secure connections
* Direct Test Mode
* HCI interface (full, like stm32wb5x_BLE_HCILayer_fw.bin)
* Following features are removed:
* L2Cap Connection - oriented channels support (IP over BLE enabler)
* Channel selection #2 (under application flag selection)
* Some HCI interface features (won’t be able to process through HCI interface)
BLE Stack full extended * BT SIG Certification listing (1) : Declaration ID D060553 / QDID 182505
* BT SIG Certification listing (2) : Declaration ID D063069 / QDID 201968
* BT SIG Certification listing (3) : Declaration ID D063070 / QDID 216169
* Full BLE Stack extended, layers supported : Link Layer, HCI, L2CAP, ATT, SM, GAP and GATT database
* Following features are kept:
* GAP peripheral, central (Master up to 8 links/Slave up to 8 links/all combinations in between)
* GATT server, client
* Data length extension
* 2Mbit PHY / PHY update
* Privacy
* White list
* Legacy Pairing, LE secure connections
* HCI interface (full, like stm32wb5x_BLE_HCILayer_fw.bin)
* Direct Test Mode
* L2CAP connection oriented channels support (IP over BLE enabler)
* Channel selection #2 (under application flag selection)
* BLE Extended advertising (under application SHCI_C2_BLE_INIT_OPTIONS_EXT_ADV flag selection with following limitations on currently supported configurations as (max sets number, max advertising data length) equal to [(1,1650),(2,1650),(3,1650),(4,1035),(5,621),(6,414),(7,207),(8,207)] such as both parameters are compliant with allocated Total memory computed with BLE_EXT_ADV_BUFFER_SIZE based on Max Extended advertising configuration.
* BLE GATT caching supported (certified BLE 5.3)
* BLE Enhanced ATT supported (certified BLE 5.3)
* Warning: To use this binary, it is necessary to adapt the scatter file in the BLE applications as:
* The RAM_A shared range shall be reduced to memory range [0x20030000:0x200307FF]
* The Mail-box buffers(MB_MEM1, MB_MEM2) shall be located in RAM_B shared defined in memory range [0x20038000:0x2003A7FF]
* The RAM_B shared shall be added to Total_RAM_region
BLE Stack light * BT SIG Certification listing : Declaration ID D042164 / QDID 160724
* Full BLE Stack, layers supported : Link Layer, HCI, L2CAP, ATT, SM, GAP and GATT database
* Wireless Ble stack Light configuration – Slave Only
* Following features are kept:
* GAP peripheral only (LL Slave up to 4 links)
* GATT server
* Data length extension
* 2Mbit PHY / PHY update
* Privacy
* White list
* Legacy Pairing, LE secure connections
* Direct Test Mode
* HCI interface (reduced)
* Channel selection #2 [CSA2] feature added
* Additional beacon
* Following features are removed:
* BLE “Slave Only” stack implies that with this stack configuration, STM32WB is not able to scan and request a BLE connection.
* It will just advertise, and accept incoming connection request from other master devices (e.g. Smartphone).
* While with the “full feature” BLE stack, STM32WB5xx is able to support both master and slave roles on different links (with the limitation of max 8 links in parallel).
BLE HCILayer * BT SIG Certification listing : Declaration ID D042213 / QDID 160726
* HCI Layer only mode, layers supported : Link Layer, HCI with Direct Test Mode
BLE HCILayer extended * BT SIG Certification listing (1) : Declaration ID D060553 / QDID 182505
* BT SIG Certification listing (2) : Declaration ID D063069 / QDID 201968
* HCI Layer only mode extended, layers supported : Link Layer, HCI with Direct Test Mode
* BLE Extended advertising (under application SHCI_C2_BLE_INIT_OPTIONS_EXT_ADV flag selection with following limitations on currently supported configurations as (max sets number, max advertising data length) equal to [(1,1650),(2,1650),(3,1650),(4,1035),(5,621),(6,414),(7,207),(8,207)] such as both parameters are compliant with allocated Total memory computed with BLE_EXT_ADV_BUFFER_SIZE based on Max Extended advertising configuration.
Thread FTD * Full Thread Device v1.3 ready
* To be used for Leader / Router / End Device Thread role (full features excepting Border Router)
Thread MTD * Minimal Thread Device v1.3 ready
* To be used for End Device and Sleepy End Device Thread role
Thread RCP * OpenThread Radio Co-Processor (RCP)
* To be used for Thread Border Router setup.
* Application layer and OpenThread core on the host processor, minimal OpenThread MAC on the 802.15.4 SoC.
* Communication between the RCP and the host processor is managed by OpenThread Daemon through an UART interface over the Spinel protocol.
BLE Thread static * Static Concurrent Mode BLE Thread
* Supports Full BLE Stack and Full Thread Device v1.3 ready
* BT SIG Certification listing : Declaration ID D042164 / QDID 160724
BLE Thread dynamic * Dynamic Concurrent Mode BLE Thread
* Supports Full BLE Stack and Full Thread Device v1.3 ready
* BT SIG Certification listing : Declaration ID D042164 / QDID 160724
Mac 802_15_4 * MAC API is based on latest official IEEE Std 802.15.4-2011
* To be used for MAC FFD and RFD devices
Phy 802_15_4 * 802.15.4 Features exposed on application side
* Reduced number of commands called from application side to manage 802.15.4 API
* Not a Transparent mode, 802.15.4 API not deployed on application side
* Can to used with STM32CubeMonitor-RF application or dedicated M4 Application.
Zigbee RFD * Zigbee Reduced Function Device
* Zigbee Compliant Platform ready
* To be used for End Device Zigbee role
Zigbee FFD * Zigbee Compliant Platform ready
* Supports Full Function Device (FFD)
BLE Mac 802_15_4 * Static Concurrent Mode BLE MAC 802.15.4.
* Supports Full BLE Stack and MAC 802.15.4 API based on latest official IEEE Std 802.15.4-2011
* BT SIG Certification listing : Declaration ID D042164 / QDID 160724
BLE Zigbee FFD static * Static Concurrent Mode BLE Zigbee FFD.
* Supports Full BLE Stack and Zigbee FFD(Full Function Device) Compliant Platform ready.
* BT SIG Certification listing : Declaration ID D042164 / QDID 160724
BLE Zigbee RFD static * Static Concurrent Mode BLE Zigbee RFD.
* Supports Full BLE Stack and Zigbee RFD(Reduced Function Device) Compliant Platform ready.
* Optimized for Power consumption.
* BT SIG Certification listing : Declaration ID D042164 / QDID 160724
BLE Zigbee FFD dynamic * Dynamic Concurrent Mode BLE Zigbee FFD.
* Supports Full BLE Stack and Zigbee FFD(Full Function Device) Compliant Platform ready.
* BT SIG Certification listing : Declaration ID D042164 / QDID 160724
BLE Zigbee RFD dynamic * Dynamic Concurrent Mode BLE Zigbee RFD.
* Supports Full BLE Stack and Zigbee RFD(Reduced Function Device) Compliant Platform ready.
* Optimized for Power consumption.
* BT SIG Certification listing : Declaration ID D042164 / QDID 160724