🛠 Reflasher le CC1352P7 en BSL depuis le processeur hôte

BeaglePlay (TI Sitara AM6254 / AM625) · avance · Schéma : IMG-beagleplay-avance-1-reflash-cc1352p7-bsl.svg — Le coprocesseur sans fil CC1352P7 du BeaglePlay, son bootloader série BSL, et les scripts cc2538-bsl.py et wpanusb du dépôt build/play reliés par des flèches

Objectifs

Le module radio du BeaglePlay est un TI CC1352P7 gérant 802.15.4 et BLE. Son firmware d'usine n'est pas toujours celui voulu ; ce tutoriel montre comment le reflasher par BSL (BootLoader Série) directement depuis le Linux du BeaglePlay, sans JTAG, en utilisant le script cc2538-bsl.py et le firmware wpanusb du dépôt build/play du projet BeagleBoard. On applique aussi l'overlay k3-am625-beagleplay-bcfserial-no-firmware.dtbo pour que le noyau n'essaie plus de charger un firmware inexistant sur la ligne série du module.

Matériel

Code complet

# 1. Empêcher le noyau de charger un firmware sur la ligne du module
# dans /boot/firmware/extlinux/extlinux.conf, ajouter :
#   fdtoverlays /overlays/k3-am625-beagleplay-bcfserial-no-firmware.dtbo
sudo reboot

# 2. Récupérer les outils
git clone https://github.com/beagleboard/build.play /opt/build.play
cd /opt/build.play

# 3. Passer le CC1352P7 en BSL puis flasher le firmware wpanusb
sudo python3 cc2538-bsl.py -p /dev/ttyS2 -e -w -v -a 0x0 firmware/wpanusb_cc1352p7.hex
sudo reboot

# 4. Le module devient un périphérique série interne : créer wpan0
sudo modprobe wpanusb

Vérification attendue

cc2538-bsl.py affiche la puce détectée (CC1352P7), l'effacement, l'écriture et la vérification du .hex sans erreur. Après reboot et modprobe wpanusb, ip link fait apparaître une interface wpan0 ; dmesg | grep -i wpan confirme l'énumération du périphérique. Le log du noyau ne montre plus de tentative de chargement de firmware bcfserial échouée.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels