Programmare ARM – Programmare la board LPC-P1343


Posted: giugno 13th, 2011 | Author: | Filed under: ARM, Embedded, Guide, Programmazione | Tags: , , , , , , , , , , | 1 Comment »


Ho da poco acquistato (da OLIMEX) una LPC-P1343, board poco costosa (circa 15€) e ottima per iniziare a lavora con la programmazione embedded.

La board ha un microcontrollore LPC1343 (Cortex-M3), connettore UEXT, USB, otto led, due tasti utilizzabili per le proprie applicazioni, una area di prototipazione e molto altro (scheda completa).

La board LPC-P1343

In questo primo articolo si vedrà come programmare la board, scrivendo la flash tramite l’USB.

Layout della board

Come si può vedere dall’immagine qui sopra, la scheda ha due pin cortocircuitabili con un jumper (indicati come JMP BLD_E). Normalmente, con i pin non connessi, la scheda prende dall’USB solo l’alimentazione ed esegue il programma caricato al suo interno. Chiudendo i piedini, la board passa in modalità programmazione e il computer rileverà una nuova unità disco.

Teoricamente bastebbe copiare il  firmware compilato all’interno di questa unità disco per programmare la board. Ma ovviamente non sempre la vita è così semplice…

Questa scheda in particolare è stata implementata utilizzando le specifiche di un file system di tipo DOS. Quindi ci si presentano due problemi:

  • il nome del file deve essere nel formato 8.3 caratteri (e:. nuovo.bin, firmware.bin, etc)
  • in windows i blocchi sono allocati in maniera sequenziale al contrario di quanto avviene in sistemi Linux

Per ovviare a quest’ultimo problema, occorre utilizzare mtools, strumenti per la manipolazione di file system di tipo DOS. L’installazione è semplice (apt-get install mtools in sistemi debian-like), subito dopo occorre  modificarne la configurazione, editando il file /etc/mtools.conf aggiungendovi il nostro device driver:

drive c: file="/dev/disk/by-id/usb-NXP_LPC134X_IFLASH_ISP000000000-0:0" exclusive

Da ora si possono utilizzare i comandi mdir, mdel, mcopy per (rispettivamente) visualizzare i file contenuti, cancellarli o copiarli. Ad esempio:

mdel c:firmware.bin
mcopy nuovo.bin c:nuovo.bin

Una volta copiato il nuovo firmware, disconnesso i pin (togliendo il jumper) e resettata la board (tramite il tasto di reset), il programma appena caricato verrà eseguito al posto di quello standard.

NOTE: È consigliabile salvare il firmware di default prima di scriverci un altro, in modo da poterlo ripristinare all’occorrenza (mcopy c:firmware.bin orig.bin). Una volta caricato il nuovo firmware il file verrà comunque rinominato in firmware.bin, quindi quello da cancellare prima di copiare il nuovo file è sempre firmware.bin.

Questo è giusto un anticipo, non appena avrò il tempo di iniziare a giocarci vedrete un po’ quello che si può fare. Vi allego comunque un po’ di link utili.

A presto.

Scheda della board:
http://olimex.com/dev/lpc-p1343.html
Vari file (pdf scritti da Alessandro Rubini):
http://www.gnudd.com/wd/cortex-m3.pdf
http://gnudd.com/wd/thos.pdf
Compilatore ARM:
http://www.codesourcery.com/sgpp/lite/arm/portal/package8734/public/arm-none-eabi/arm-2011.03-42-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
Microcontrollore (dal sito del produttore):
Datasheet

User Manual
File Esempio

 


One Comment on “Programmare ARM – Programmare la board LPC-P1343”

  1. 1 ldlabs.org – Blog » Blog Archive » Programmare ARM – Compilare il bin da caricare sulla Board LPC-P1343 said at 19:34 on luglio 4th, 2011:

    […] chi non capisse cosa sono questi ultimi due comandi, consiglio la lettura del precedente articolo che spiega, tra l’altro, come configurare mtools per permettere il riconoscimento della […]


Leave a Reply

  • Articoli Recenti:

  • Tag

  • Categorie

  • Meta

  • Licenza Creative Commons

    Copyright © 2020, | ldlabs.org – Blog is proudly powered by WordPress All rights Reserved | Theme by Ryan McNair modified By Francesco Apollonio

    Smilla Magazine Il Bloggatore iwinuxfeed.altervista.org Feedelissimo - tecnologia WebShake - tecnologia