Guida all'utilizzo della SX ARM LinuxData di pubblicazione: 22-11-2006 | Versione Italiana | (No English Version) Parole chiave: - ARM9 - Linux - Networking - RS422 - USB - WEB - |
In questa sezione presentiamo una mini guida per iniziare a lavorare con la SX ARM Linux.
Sommario:
La scheda SX ARM Linux in sintesi
La SX ARM Linux � una scheda di controllo basata su microprocessore STR9104 (ARM9-core) a 180MHz con preinstallato un sistema operativo Linux (kernel 2.6), programmabile in C/C++ tramite ARM cross-compiler ed in basic grazie all'interprete BBC Basic V.
Dotata di due interfacce ethernet 10/100, due porte USB 2.0 e due porte seriali DB9 maschio viene fornita gi� inscatolata in un pratico e robusto case di metallo con alette di fissaggio.
(Clicca sulla foto per una versione ingrandita)
Di seguito vengono riportate le specifiche tecniche hardware e software:
Specifiche Hardware
CPU: Star STR9104 (ARM9-core)
Flash: 8MB
RAM: 32MB SDRAM
EEPROM: 16Kb
RTC: si
Buzzer: si
Ethernet: 2 porte RJ45 10/100 mbps
Serial: 2 porte COM1 e COM2 RS-232/422(4 wire)/485 (configurabili via software)
USB: 2 porte USB 2.0 host
H/W Reset SW: hardware reset
DIP S/W1 x2: la posizione 1 e 2 sono connesse al PIO e gestite via programma
Alimentazione: +9VDC~48VDC (~300mA@12V)
Temperatura operativa: da 0 a 50 �C
LAN LED: Stato della LAN Link/Activity
Ready LED: Controllabili via software
Specifiche Software
Sistema operativo : Linux, kernel 2.6.x
Boot Loader: U-Boot 1.1.2
File Systems: JFFS2, ETX2/ETX3, VFAT/FAT, NFS
-
Protocolli supportati
IPv4, ICMP, ARP, DHCP, NTP, TCP, UDP, FTP,
Telnet, HTTP, PPP, PPPoE, CHAP, PAP, SMTP, SNMP V1/V3, SSL, SSH 1.0/2.0
-
Utility preinstallate
bash: shell command
tinylogin: login e user manager utility
telnet: Telnet client
busybox: Linux utility
ftp: FTP client
wi-fi: WiFi Tools
-
Demoni attivi
pppd: Dial In/out su porta seriale & PPPoE
snmpd: SNMP agent
telnetd: server Telnet
inetd: server TCP
ftpd: server FTP
boa: Web server
sshd: secured shell server
iptables: Firewall
exmd: Expert manager daemon
-
Drivers disponibili
SD/MMC (su usb), UART, Real Time Clock, Buzzer, Digital I/O, Ethernet, Watchdog
Timer
-
USB Host Drivers
Flash disk, WiFi (supporta adattatori USB con chipset RT2570), e convertitori USB - RS-232
Come installare l'ambiente di sviluppo in windows
L'ambiente di sviluppo per compilare i propri sorgenti scritti in C o C++ � il cross-compiler per processori ARM disponibile solo per ambiente Linux. Una soluzione sicuramente valida per usare il compilatore anche sotto Windows � quella di installare l'ambiente Cygwin scaricabile gratuitamente dall'url http://www.cygwin.com/mirrors.html.
Cygwin � un programma che emula un ambiente simile a Linux su un sistema operativo Windows e permette di eseguire su quest'ultimo sorgente scritti per Linux semplicemente ricompilandoli.
L'installazione di Cygwin non presenta particolari difficolt�; � sufficiente cliccare sul file Setup.exe scaricato dal sito.
Scegliere la modalit� di recupero dei pacchetti che compongono Cygwin. La modalit� "Install from internet" garantisce l'installazione delle versioni pi� recenti.
Scegliere il percorso in cui si vuole installare Cygwin (ad es. "C:\cygwin") e cliccare su Avanti >
Selezionare il mirror da cui scaricare i pacchetti
Procedere con l'installazione di default
Al termine occorre procedere con l'installazione del compilatore per ARM decomprimendo il file arm-cygwin-ex9486.zip contenuto nel CD fornito insieme alla SX ARM Linux nella cartella d'installazione di Cygwin (C:\cygwin).
A questo punto l'ambiente di sviluppo � pronto e possiamo lanciarlo facendo un doppio click sul file cygwin.bat contenuto nella cartella principale di Cygwin .
Compilare il primo esempio
Per scrivere un programma in C o C++ da far girare sulla SX ARM Linux abbiamo bisogno, oltre all'ambiente di
sviluppo, di un editor di testo come ad esempio Notepad, UltraEdit o Vim.
Lanciamo l'ambiente Cygwin click sul file cygwin.bat contenuto nella cartella principale e creiamo una nuova cartella ad esempio
sviluppo (utilizzando il comando: mkdir sviluppo). Scendiamo nella cartella sviluppo e creiamo con il nostro editor di testo il file hello.c.
All'interno del del file hello.c possiamo cominciare a scrivere il nostro programma in C. Quello che segue � il sorgente dell'esempio pi� semplice "hello world"
#include <stdio.h>
int main(void){
printf("Hello, World!\n");
return 0;
}
Salvato il file possiamo compilarlo da Cygwin con il
comando che segue
arm-linux-gcc -o hello hello.c
l'opzione -o serve per specificare il nome del file compilato.
Successivamente eseguiamo:
arm-linux-strip hello
Al termine della compilazione, se non abbiamo commesso errori, otteniamo il file hello che possiamo caricare tramite ftp nella memoria della SX ARM Linux.
La procedura per caricare il nostro programma � molto semplice: � sufficiente disporre di un client FTP (quale ad esempio SmartFTP (http://www.smartftp.com/) e collegarsi all'IP 192.168.2.127 se la SX ARM Linux � connessa alla LAN tramite l'interfaccia uno oppure 192.168.3.127 se si usa la seconda interfaccia e fornire i criteri di autenticazione di default: username root e password root. Una volta collegati possiamo copiare il file hello nella cartella /home.
A questo punto per eseguire il programma dobbiamo collegarci in console Telnet o SSH allo stesso IP usato per la connessione FTP e autenticarsi con root/root e spostarci nella cartella /home. Qui dobbiamo rendere eseguibile il nostro programma con il comando:
chmod +x hello
ed eseguirlo con ./home
A questo punto abbiamo tutto quello che ci serve per ottenere il massimo dalla nostra scheda. Se ci serve una guida di riferimento per il linguaggio C possiamo trovare un buon libro per imparare a programmare in C online all'indirizzo: http://edu.os3.it/html/manual/imparare_c.pdf
Cambiare l'indirizzo IP delle interfacce ethernet
La modifica degli IP delle due interfacce pu� essere effettuata da console Telnet o SSH lanciando il comando
ifconfig eth0 192.168.0.127 netmask 255.255.255.0
in cui 192.168.0.127 � il nuovo indirizzo IP e 255.255.255.0 � la netmask che vogliamo assegnare alla scheda LAN numero 1,
ifconfig eth1 192.168.3.127 netmask 255.255.255.0
in cui 192.168.3.127 � il nuovo indirizzo IP e 255.255.255.0 � la netmask che vogliamo assegnare alla scheda LAN numero 2.
Per rendere permanenti le modifiche, in modo che ad ogni riavvio della SX ARM Linux si riparta con questi parametri di rete, � necessario editare il file /etc/rc
Il web server BOA
Pre installato nella SX ARM Linux � disponibile il web server BOA, per la pubblicazione di pagine html e CGI scritti in C o in bash.
Il web server � per default in ascolto su entrambe le interfacce LAN � pu� essere raggiunto digitando dal proprio browser internet l'indirizzo
http://192.168.2.127 oppure
http://192.168.3.127.
Il file di configurazione del server web boa.conf si trova nella cartella /home/httpd/ e pu� essere modificato per specificare una differente
DocumentRoot o cambiare altre direttive. La documentazione completa del web server e disponibile sul sito ufficiale http://www.boa.org/
RTC Real Time Clock
Integrato nella SX ARM Linux � presente una RTC, indispensabile per mantenere memorizzati data e ora anche quando viene tolta l'alimentazione per un breve periodo.
Per impostare l'orario e la data da console occorre eseguire il comando data con la seguente sintassi
data MMDDHHmmYYYY
dove:
MM il mese da 01 a 12
DD il giorno da 01 a 31
HH l'orario da 00 a 24
mm i minuti da 00 a 59
YYYY l'anno per esteso
ad esempio:
date 051813502005
per impostare la data al valore 18/05/2005 e l'ora alle 13:50; per salvare permanentemente le impostazioni nel chip RTC e far si che il sistema le ricarichi ad ogni accensione bisogna lanciare il comando
hwclock -w
Se si vuole visualizzare la data settata sulla SX ARM Linux, basta digitare da console il comando data senza parametri.
Collegare una PenDrive USB
Collegare una PenDrive USB alla SX ARM Linux � un operazione estremamente semplice; � sufficiente infatti inserire la periferica su una delle due porte USB 2.0 e da console Telnet o SSH lanciare il comando di mount con la sintassi che segue:
mount -t vfat /dev/sda1 /mnt/sda1
a questo punto il contenuto della memoria della PenDrive � mappato nella cartella /mnt/sda1/.
Pu� capitare che, all'inserimento della PenDrive, il sistema Linux le assegni un device differente da sda1 (specificato nel comando precedente); per individuare il proprio device � possibile utilizzare il comando
dmesg |grep sda
Analizzando il risultato
SCSI device sda: 2001888 512-byte hdwr sectors (1025 MB)
sda: assuming Write Enabled
sda: assuming drive cache: write through
sda:<7>usb-storage: queuecommand called
sda1
Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
possiamo vedere che nel nostro caso alla periferica USB � stato assegnato il device sda1.
Prima di rimuovere la PenDrive � necessario smontarla con il comando
umount /mnt/sda1
Download:
Guida all'installazione e configurazione della Linux Box
Installazione Cygwin
Guida all'uso dell'interprete Basic
Segnala questo articolo:
Parole chiave: - ARM9 - Linux - Networking - RS422 - USB - WEB -
|