Trasformare la freedom board KL25z in una USBDM Debugger interface permette di ottenere un programmatore per varie MCU Freescale o altri dispositivi compatibili (vedi qui)

  • RS08
  • HCS08,
  • HC12,
  • Coldfire V1-4 microcontrollers
  • MC56F800xx Digital Signal Controllers (very limited range of devices).
  • Kinetis ARM-cortex

E’ necessario prima di tutto preparare l’hardware come mostrato nel precedente articolo riguardante la KL25Z come programmatore OpenSDA (vedi qui). Preparata la board con le modifiche necessarie, non installate OpenSda, ma seguite i seguenti passi:

Scaricate i driver USBDM al seguente link:

opensda

Quando avete installato i drivers, scaricate a questo link (verificate sia l’ultima versione) il software relativo ad USBDM:

download programs

Avviate il setup e durante la procedura assicuratevi di abilitare l’installazione dei componenti relativi al vostro ambiente di sviluppo (nel mio caso Codewarrior 10.6.4) e anche del programmatore Stand-alone, che preferisco come semplicità, o come piano B in caso l’ambiente di sviluppo non riesca ad integrare i plugin necessari:

setup

Completato il setup non vi resta che preparare la vostra FRDM-KL25Z per aggiornarla all’applicazione USBDM Debug. Sfogliate la cartella di default per l’installazione del software sul vostro pc, troverete “PGO” ed al suo interno la cartella creata dall’ultimo setup USBDM. All’interno di quest’ultima entrate nella cartella “FlashImages” e quindi “MKxx”, riferito alla famiglia del micro nella board. Sul mio pc il percorso completo è “C:\Program Files (x86)\pgo\USBDM 4.12.1.70\FlashImages\MKxx”.

All’interno di questa cartella troveremo il file “OpenSDAvX.X.bin” dove la X sta ad indicare la versione disponibile al momento. Tenete questo file a portata di mano!

usbdm flash application

E’ giunto il momento di collegare la board al computer con un cavetto usb, tenendo premuto il tasto di reset un secondo o due, questa si avvierà in modalità bootloader e vi comparirà come periferica di archiviazione di massa usb (Bootloader). Se avete internet attivo, aprendo il file “sda_info.htm” potete verificare le versioni di bootloader e app attualmente caricate nella flash. Noi comunque andremo ad aggiornare tutto quanto, per trasformare la board in un programmatore “semi-universale” via SWD.

20160426_152446

Infatti, non vi resta che caricare il file “OpenSDAvX.X.bin” nella periferica di archiviazione di massa, attendere qualche secondo, poi sconnettere e riconnettere il dispositivo. A questo punto, come conferma di avvenuto aggiornamento del firmware, windows vi avviserà che “è stato rilevato un nuovo hardware”: saranno caricati automaticamente i drivers relativi ad USBDM, ed il dispositivo verrà riconosciuto come programmatore da Codewarrior e dal programmatore stand-alone sviluppato per USBDM.

Fate attenzione: con Windows 7  e Windows 10 per motivi ancora ignoti non sono riuscito ad aggiornare il firmware della board come da ultimo passaggio, però avevo a disposizione un computer con Windows XP ed in quel caso ha funzionato immediatamente. Questo passaggio va fatto solo una volta quindi ad oggi non ho approfondito ulteriorimente il problema.

Per verificare se funziona tutto, potete collegare il connettore SWD alla board che volete programmare ed avviare il programmatore stand-alone (nel mio pc è in “C:\Program Files (x86)\pgo\USBDM 4.12.1.70\UsbdmFlashProgrammer.exe”):

stand alone usbdm flash programmer test

Prima di tutto, dalla scheda “Interface” tramite il tasto “Detect” ho verificato il corretto riconoscimento della board KL25Z rilevata come programmatore SWD. Successivamente, nella scheda “Target” (immagine più a destra) tramite il tasto “Detect Chip” eseguo una veloce verifica del dispositivo che ho connesso via SWD. Riconosce correttamente il mio micro ed il suo ID!

Tuttavia, inizialmente non fu così semplice, in quanto il micro “MKV10” non veniva riconosciuto, essendo presente nella lista ma non completamente configurato. Ho tentato di configurarlo manualmente inserendo tutti i parametri come da datasheet, ma senza successo. Ho deciso così di contattare direttamente lo sviluppatore di USBDM Peter O’Donoghue, il quale stava casualmente affrontando lo stesso problema: così in meno di 24h ne siamo venuti a capo ed ora funziona perfettamente! Sicuramente, con micro meno recenti o con più fortuna non avrete lo stesso mio inconveniente.

Alla prossima!

Trovate altri riferimenti a questo link:
https://mcuoneclipse.com/2013/04/27/debug-external-processors-with-usbdm-and-freedom-board/