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/

20160426_155241Dovendo sviluppare un progetto con i micro Freescale della serie Kinetis, ho cercato nella rete quali fossero i programmatori più adatti utilizzando il protocollo SWD (Serial Wire Debug). I costosi programmatori della P&E Micro non mi hanno ingolosito particolarmente, così ho preferito la classica soluzione per smanettoni: ho scoperto infatti che è possibile trasformare la FRDM-KL25Z (una piattaforma demo che costa meno di 20€!) in un veloce ed economico programmatore con OpenSDA.

Io l’ho ordinata da rs-components (vedi a questo link) che spedisce in 24h, così il giorno dopo ho potuto lavorarci immediatamente. Osservando lo schema elettrico, è necessario tagliare la pista che mantiene in corto il jumper J11, in modo da separare il clock del micro a bordo della scheda dal clock della cpu che intendete programmare tramite la connessione SWD:

cut

Io l’ho fatto in modo un pò barbaro ma veloce, inserendo tuttavia un jumper in modo da poter ripristinare la connessione in caso volessi programmare nuovamente il micro a bordo della scheda.

20160426_152316

Preparatevi alcuni file: è necessario scaricare dal sito P&E Micro (clicca qui) i drivers per OpenSDA ed il firmware per aggiornare la vostra KL25Z. Installate prima di tutto i drivers P&E Micro se non sono già presenti sul vostro computer, poi estraete dallo zip “firmware apps” il firmware MSD-DEBUG relativo alla KL25z e tenetelo a portata di mano!

download

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.

20160426_152446

Quindi non vi resta che caricare il file “MSD-DEBUG-FRDM-KL25Z_Pemicro_v***.SDA” 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 all’OpenSDA, ed il dispositivo verrà riconosciuto come programmatore da Codewarrior.

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.

Il connettore SWD, che come mio solito ho utilizzato in modo piuttosto “barbaro” è il J6.

programming connector

 

error-17926

L’unica pecca di questa soluzione è il firmware OpenSDA, il quale verifica il target della CPU e se tentate di programmare un micro diverso dal 25Z Codewarrior vi restituirà un antipatico messaggio di errore. Tuttavia, avendo la necessità di programmare un micro di famiglia diversa, ho trovato comunque una soluzione, anche se mi ci è voluto più tempo! La inserirò a breve nel prossimo aggiornamento!