Trasformare la Freedom Board KL25Z in un economico programmatore SWD OpenSDA

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!

 

 

 

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *