Flasha om Olimex SAM9-L9260 från Linux

Det går att flasha om Olimex SAM9-L9260 från Linux. För att det ska gå behöver man en linuxdator med en 2.6.31-kärna eller äldre eller en 2.6.37-kärna eller nyare. Linuxkärna 2.6.32 - 2.6.36 fungerar tyvärr inte.

Ladda hem senaste versionen av programmet sam-ba från http://www.at91.com/linux4sam/bin/view/Linux4SAM/SoftwareTools. Om du kör en 64-bitars version av Linux behöver du installera 32-bitsbibliotek för inte minst libc6 för att sam-ba ska fungera. I Ubuntu kan du installera paketen ia32-libs och libc6-i386.

Packa upp arkivet som innehåller sam-ba och gå ner i katalogen du fick. Stoppa i CDn som följde med Olimexkortet och kopiera katalogen sam9-l9260-samba och filerna i den. Du kan t.ex. göra cp -r /media/cdrom/sam9-l9260-samba om CDn är monterad i /media/cdrom.

Skapa ett shellscript at91sam9260_demo_linux_dataflash.sh med följande innehåll

#! /bin/sh
../sam-ba /dev/ttyUSB0 AT91SAM9260-EK at91sam9260_demo_linux_dataflash.tcl > logfile.log 2>&1
less logfile.log

  
Gör shellscriptet exekverbart med t.ex. chmod a+x at91sam9260_demo_linux_dataflash.sh

Editera filen at91sam9260_demo_linux_dataflash.tcl och sätt den MAC-adress/ethaddr som du vill ha.

Ta bort jumprarna DF_E och NANDF_E på kortet och anslut strömmen. När strömmen är på sätt tillbaka jumprarna igen. Anslut en USB-kabel till kortets USB-device-port och andra änden till utvecklingsdatorn. Beroende på vilken kärna du har på din utvecklingsdator ska du sedan göra någon av de två nedanstående instruktionerna.

För kärna 2.6.31 och äldre

Ladda ur modulen cdc_acm med modprobe -r cdc_acm. Ladda ur usbserial med modprobe -r usbserial och ladda den igen och ange vendor och product. Kommandoraden blir då:
modprobe usbserial vendor=0x03eb product=0x6124
Kontrollera att du fick en devicefil /dev/ttyUSB*, t.ex. /dev/ttyUSB0. Nu ska det gå att köra det shellscript du skapade tidigare.

För kärna 2.6.37 och nyare

Ladda ur modulen cdc_acm med modprobe -r cdc_acm. Ladda ur usbserial med modprobe -r usbserial och ladda den igen med modprobe usbserial och ladda därefter modulen sam-ba med modprobe sam-ba. Kontrollera att du fick en devicefil /dev/ttyUSB*, t.ex. /dev/ttyUSB0. Nu ska det gå att köra det shellscript du skapade tidigare.