Riprogrammare il firmware del modulo seriale CC2530 via CC Debugger

5 minuti di lettura
SCOPI DEL PROGETTO:
CONCETTI AFFRONTATI:
  • Riprogrammazione firmware
COMPONENTI SOFTWARE UTILIZZATE:
  • Vari (in base al sistema operativo usato sul computer di supporto)
DISPOSITIVI FISICI UTILIZZATI:
PROGETTO MAGGIORMENTE INDICATO PER:

Tutti gli ambienti

Note e disclaimer
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata ed realizzata SOLO da personale qualificato;
  • qualsiasi modifica attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (i contenuti della presenta pagina hanno puro scopo didattico);
  • qualsiasi modifica attuata in proprio a un dispositivo ne fa decadere garanzia, omologazioni e certificazioni di qualità.
Revisione guida: 1.1

Abstract

Ogni dispositivo elettronico contiene a grandi linee una piccola porzione software, chiamata firmware, che ne determina funzioni e comportamento. La nostra automobile è dotata di diversi firmware; ne possiede uno la lavatrice, il nostro telecomando, persino una radiosveglia è dotata di un proprio firmware.

Il modulo seriale CC2530 è un piccolo ed economico componente in grado di rendere disponibile ZigBee all’ambiente operativo dell’unità controller alla quale viene connessa. A differenza, per esempio, del Dongle USB “CC2531” – il quale si utilizza solitamente connesso via USB a un comune computer o a un micro computer come Raspberry Pi – il modulo seriale “CC2530” si connette serialmente tramite connessioni a filo a un “generico sistema computer” in grado di pilotarla e quindi sfruttarne (in diverse modalità) la trasmissione ZigBee.

Questa guida illustra una delle modalità di riprogrammazione tramite un computer di supporto (dotato di sistema operativo Microsoft Window 10, macOS o Linux) e di dispostivi di collegamento, ovvero il CC Debugger.

CC Debugger
il CC Debugger di Texas Instruments.

La presente guida indicherà quale firmware da utilizzarsi nella riprogrammazione quello necessario per l’uso in abbinamento alle funzioni di Tasmota Z2T (utile per esempio per realizzare in proprio un BRIDGE/Gateway ZigBee); ovviamente la guida è adatta anche utilizzando altri firmware compatibili con CC2530.

Si parte

Windows

SMARTRF FLASH PROGRAMMER

Innanzitutto è necessario scaricare la versione 1 (non la 2 o superiori) del software SmartRF Flash programmer di Texas Instruments. Per farlo è necessario possedere un account sul sito Texas, cosa che è possibile ottenere previa registrazione gratuita.

DRIVER CC DEBUGGER

Effettuata l’installazione del software, collegare il CC Debugger e installare il driver necessario per controllarlo, avendo cura di verificare, successivamente, che nella lista dei device connessi a Windows appaia correttamente configurato:

CC Debugger Windows driver

In caso il CC Debugger non venga riconosciuto in modo corretto, è possibile installare il driver manualmente seguendo le indicazioni di questo breve video:

FIRMWARE

Scaricare la versione del firmware necessaria alla riprogrammazione dal repository: scegliere CC2530_DEFAULT_XXXXXX_CC2530ZNP-Prod.hex, dove XXXXXX è la data dell’ultima compilazione (varia).

N.b. Come spiegato anche nell’Abstract, è possibile usare comunque un qualsiasi firmware compatibile con CC2530.
CONNESSIONI

A questo punto è necessario connettere il CC Debugger all’unità CC2530; la piedinatura deve rispettare il seguente schema:

Schema connessione CC Debugger - CC2530

a questo punto collegare sia il CC Debugger alla porta USB del computer.

Comunemente il LED di stato del CC Debugger dovrebbe essere verde; in caso non lo sia, premere il tasto reset.
N.b. Alcuni modelli di CC Debugger, comunque, rimangono sempre con luce LED rossa, pertanto non c’è da preoccuparsi.

RIPROGRAMMAZIONE

A questo punto siamo pronti per riprogrammare il CC2530. Eseguire l’applicazione SmartRF precedentemente installata e configurarla come segue, selezionando il file firmware precedentemente scaricato:

smartrf - impostazioni riprogrammazione CC2530
le impostazioni di SmartRF.

Infine, cliccare su “Perform actions” per eseguire la riprogrammazione.
Al termine della procedura, scollegare il tutto: il CC2530 è pronto all’uso.

macOS

Su questo sistemi operativo la procedura si effettua tramite riga di comando da terminale.

PRE-REQUISITI

Innanzitutto è necessario rispettare vari pre-requisiti, i quali prevedono la presenza sul sistema operativo di alcuni pacchetti a supporto del tool di riprogrammazione; per installarli consigliamo l’uso del package manager Homebrew il quale si installa – sempre da riga di comando – tramite:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Una volta installato Homebrew, installare i pacchetti necessari tramite il comando:

brew install autoconf automake libusb boost pkgconfig libtool

A questo punto è necessario effettuare la build del pacchetto CC Tool tramite i seguenti comandi:

git clone https://github.com/dashesy/cc-tool.git
cd cc-tool
./bootstrap
./configure
make

al termine, procedere oltre.

FIRMWARE

Scaricare la versione del firmware necessaria alla riprogrammazione dal repository: scegliere CC2530_DEFAULT_XXXXXX_CC2530ZNP-Prod.hex, dove XXXXXX è la data dell’ultima compilazione (varia).

N.b. Come spiegato anche nell’Abstract, è possibile usare comunque un qualsiasi firmware compatibile con CC2530.
CONNESSIONI

A questo punto è necessario connettere il CC Debugger all’unità CC2530; la piedinatura deve rispettare il seguente schema:

 

 

Schema connessione CC Debugger - CC2530

 

a questo punto collegare sia il CC Debugger alla porta USB del computer.

Comunemente il LED di stato del CC Debugger dovrebbe essere verde; in caso non lo sia, premere il tasto reset.
N.b. Alcuni modelli di CC Debugger, comunque, rimangono sempre con luce LED rossa, pertanto non c’è da preoccuparsi.

RIPROGRAMMAZIONE

Infine, decomprimere il firmware ed eseguire il comando:

sudo ./cc-tool -e -w CC2530_DEFAULT_XXXXXX_CC2530ZNP-Prod.hex

N.b. Ovviamente il comando dà per assunto che ci si trovi dentro la cartella dove si trova il file CC2531ZNP-Prod.hex; diversamente, prima raggiungere il file con un change directory e poi eseguire il comando.

Linux

Anche su questi sistemi operativi la procedura si effettua tramite riga di comando da terminale.

PRE-REQUISITI

Innanzitutto è necessario rispettare vari pre-requisiti, i quali prevedono la presenza sul sistema operativo di alcuni pacchetti a supporto del tool di riprogrammazione. I comandi da eseguire sono:

su Raspbian
sudo npm install dh-autoreconf, libusb-1.0-0-dev, libboost-all-dev
su Ubuntu
sudo npm install dh-autoreconf, libusb-1.0, libboost-all-dev
su Fedora
sudo npm install dh-autoreconf, boost-devel, libusb1-devel, gcc-c++
su Archlinux
sudo npm install dh-autoreconf, libusb, boost

A questo punto è necessario effettuare la build del pacchetto CC Tool tramite i seguenti comandi:

git clone https://github.com/dashesy/cc-tool.git
cd cc-tool
./bootstrap
./configure
make

al termine, procedere oltre.

FIRMWARE

Scaricare la versione del firmware necessaria alla riprogrammazione dal repository: scegliere CC2530_DEFAULT_XXXXXX_CC2530ZNP-Prod.hex, dove XXXXXX è la data dell’ultima compilazione (varia).

N.b. Come spiegato anche nell’Abstract, è possibile usare comunque un qualsiasi firmware compatibile con CC2530.
CONNESSIONI

A questo punto è necessario connettere il CC Debugger all’unità CC2530; la piedinatura deve rispettare il seguente schema:

 

 

Schema connessione CC Debugger - CC2530

 

a questo punto collegare sia il CC Debugger alla porta USB del computer.

Comunemente il LED di stato del CC Debugger dovrebbe essere verde; in caso non lo sia, premere il tasto reset.
N.b. Alcuni modelli di CC Debugger, comunque, rimangono sempre con luce LED rossa, pertanto non c’è da preoccuparsi.

RIPROGRAMMAZIONE

Infine, decomprimere il firmware ed eseguire il comando:

sudo ./cc-tool -e -w CC2530_DEFAULT_XXXXXX_CC2530ZNP-Prod.hex

N.b. Ovviamente il comando dà per assunto che ci si trovi dentro la cartella dove si trova il file CC2531ZNP-Prod.hex; diversamente, prima raggiungere il file con un change directory e poi eseguire il comando.

   
Telegram News Channel