Home
Progetto e realizzazione di un ambiente didattico di laboratorio per
Contents
1. 027 GND LED 5753 15 CS SDRAM GND CS3 B A6 D26 SDRAM 50 LED SY 2 06 CS FLASHI SDRAM CASO lQSPI_CS1 925 SDRAM_BSI LED_SYS1 CS FLASHO SDRAM_WE IQSPI DIN D24 SDRAM 52 LED SYSO 5 PORTO SDRAM_CLK WSEL QSPI DOUT CN2 y GND CN3 SDRAM_BS3 IO PORTIS MCF D8 IGND SDRAM CKE BUSWI QSPI 023 GND IO PORTI4 19 N C GND MCF BUSWU QSPI CS B A10 022 MCF_INTI PORTI3 MCF B A22 MCF B AI D21 MCF INT2 PORTI2 MCF B 21 NIC IGND GND 20 MCF_INT3 IIO GND A20 NIC OUT B_A12 GND MCF_INT4 PORTIO 112 GND MCF_PWM0 RESET N B AI3 D19 GND PORT9 MCF D13 A19 GND MCF HIZ B Al4 D18 MCF_INTE PORTS 114 _ 18 BYPASS B AIS D17 CLE SYS 015 1 MCF_PWM2 GND 016 CLK 25MHZ MCF TOUTO 16 MCF_TINO USB_CLK Figura A 13 Segnali del bus di espansione Come si pu vedere dettagliatamente nella figura al connettore CN2 sono sta te portate le linee del bus di dati del bus di indirizzamento le linee del banco di SDRAM le linee di chip select della memoria Flash e della Porta 0 e molteplici connessioni di massa Nel connettore CN3 vi sono i rimanenti segnali del bus vale a dire le linee di alimentazione da 3 3V e massa le linee di interrupt esterne i chip select
2. Inizio Fine Dimensione Contenuto Device OxFFE00000 0xFFE2FFFF 256 Kbyte dBUG firmware OxFFE30000 0xFFEFFFFF 832 Kbyte JFFS fylesystem dev mtdblock2 OxFFF00000 0xFFFOFFFF 64 Kbyte CoLiLo dev mtdblock0 OxFFF10000 OXFFFFFFFF 960 Kbyte uClinux dev mtdblock1 Tabella 5 1 Mappa della prima flash Il secondo chip di Flash completamente libero L utente potr utilizzarlo per installare una seconda distribuzione uClinux 5 3 Utility di sviluppo In questa sezione vedremo le utility che sono state utilizzate per lo sviluppo di que sto progetto e che risultano indispensabili a chi voglia sviluppare applicazioni per la piattaforma Antares La postazione di lavoro usata non altro che un personal computer con una distribuzione del sistema operativo Linux dove stato installato il software necessario ovvero il compilatore l assemblatore il linker Dal momento che l architettura della scheda Antares diversa da quella del PC della postazione 51 5 3 Utility di sviluppo di lavoro tipicamente una Intel x86 sar necessario utilizzare un cross compiler in modo da poter creare file binari adatti ad essere eseguiti su un architettura diffe rente da quella dove si lavora Questo il motivo per cui risulta impossibile usare i normali tool di compilazione forniti con una convenzionale distribuzione Linux 5 3 1 Installazione Descriver ora il pr
3. 13533 8 qua OHSVd SI TEO 39W 05 HW 8 6 87079 LTW 81V 8 Wa ZG ecd 3oW tiva Ted ava 3oW nva 40 8 95 APPENDICE SCHEMI ELETTRICI DI ANTARES 9 ape 20 oy WNYHOS VISONW3N SIYVINV VIN2IO4V LV Id OP9 OId 516 151 AUT 00 LD 912 Tvd Wvuas 0574 0572 so jur STI 0574 0572 IM 5 SI 96 APPENDICE SCHEMI ELETTRICI DI ANTARES 9 apt eloH 0 f 1 3SYA 001 01 O nDOIN SIUVINY VWHOJVIVId 1 3515 151 JUOOT 2 Sb TON YSL Gal sN AR La Ida dai LJ STA MI MI 3395 037 aa ETA MI MI 109 asi TTA 624 5158934 dd 9 8 8 24001 mn 109 asi MOT dd 037 sy 031
4. pese x pica El umma 5 ne Tawa 5 pe E x vivan Scc waves m oe T am pon p LL u w 5 sive On ms testis YO zm mo FIM iva a ove pesi PE ipe E ur ma Bia ES Ws on br on di A EM L TW Lao aow INE DR e scs esniwa or 57180 ENTON 61404 81404 ni 94 APPENDICE SCHEMI ELETTRICI DI ANTARES 9 opc eloH 20 oy HSV 14 VIHOW3N SIYVINV VIASIOJV LV Id sope4b519juj seuiajsis OP9 OId 151 m 00 I 9 N 13633 IM qua THSW14 SO V9809IAT6C8W
5. 2 3 Descrizione delle funzioni del programma Ed68k 2 3 12 Watch Figura 2 33 Men Watch e Watch apre la finestra di Watch delle variabili visibile in Figura 2 34 Watch de memoria 2 Posici n Label sivariable y Direcci n 00031 004 y 9 si Remove Watch Borrar Add watch Cancelar Figura 2 34 Finestra di Watch Una volta selezionata una variabile indicando la sua etichetta o la sua posi zione di memoria possibile aggiungerla o rimuoverla dall elenco di variabili della finestra di watch illustrata in Figura e Refresh aggiorna tutti i valori presentati nella finestra di watch Questa fun zionalit viene automaticamente chiamata da tutti i comandi che possono cau sare cambi nel valore delle variabili come ad esempio il comando passo passo in modo da mantenere costantemente aggiornata la lista di valori quando si effettua il debug del codice 33 2 4 Programmare ED68K Archivo Editar Conexi n Construir Ejecutar Registros Memoria Ruptura Ventana Ayuda Watch E 2 00020102 SR S0xnzvc US SS 0002FFF8 0 00000000 1 00000000 INT IVARIABLE_MOLTO_LUNGA 0 r OOE SHORT INT SIVARIABLE Sani VOID __INIT VOID D4 00000000 000200FE INIT LINKW 0 D5 00000000 TVARIABLE MOLTO_LUNGA 1 a eee 00020102 7 MOVEO 1 DO Riva 0
6. e Insertar Eliminar verr aggiunto o rimosso nel caso gi esista un break point nella posizione indicata dal cursore Sar possibile assegnare un valore ad un contatore affinch l esecuzione venga interrotta solamente dopo un cer to numero di passaggi alla posizione indicata Il breakpoint verr indicato nel listato colorando l indirizzo della posizione in questione di rosso Insertar punto de ruptura J Contador valoris E Figura 2 22 Aggiunta di un breakpoint e Eliminar Todos rimuove tutti i breakpoint precedentemente impostati e Visualizar presenta in un apposita finestra lista di tutte le posizioni di kpoint elencate sotto la voce Address il contatore del numero di passaggi gi effettuati a tale posizione elencato sotto la voce count e il trigger L in terruzione dell esecuzione avverr solamente quando il contatore sar multiplo esatto del valore di trigger 26 2 3 Descrizione delle funzioni del programma Ed68k E BreakPoints Df x Address Count Trigger 0002000 00000000 00000000 0002006 00000000 00000000 Figura 2 23 Visualizzare la lista di breakpoint 27 ST 2 3 Descrizione delle funzioni del programma Ed68k 2 3 9 Visualizza Ver Ventana Ayuda v Barra de estado v Barra de herramientas v Barra de registros Conversor dh Figura 2 2
7. Modifica Visualizza Chiama Trasferisci 2 D xj Vector Table USER SPRCE MBAR Internal SRAM External SRAM Flashi Flash 0x00000000 0x00000000 0x00020000 0x10000000 0x20000000 0x30000000 0xFFE00000 0xFFC00000 0x00FFFFFF 0x000003FF 0x00FFFFFF 0x100003FF 0x20000FFF 0x300 7FFFF OxFFFFFFFF OxFFDFFFFF Chip Selects Flash 1 Flash 2 Ext SRAM not in use not in use not in use not in use SDRRM Connesso a 0 03 12 Auto detect 182008N 1 SCORR MAIUSC NUM attura Eco stampante Figura 4 2 Mappa di memoria e MD Memory Display visualizza il contenuto di ampie zone di memoria e MM Memory Modify modifica e visualizza il contenuto di piccole zone di memoria al massimo 32 bit e RD Register Display visualizza il valore dei registri del processore e RM Register Modify modifica il valore dei registri del processore e RESET Reset the Board and dBUG Riavvia la scheda e SET Set Configurations permette di configurare i seguenti parametri baud configura la velocit della connessione seriale client configura l indirizzo IP della scheda ethernet di Antares server configura l indirizzo IP del server TETH utilizzato nei trasferimenti di file tramite ethernet Trivial File Transfer Protocol 44 ST 4 4 Utilizzo del aBUG gateway configura l indirizzo IP del gateway qualora il server si trovi su una sottorete
8. dettagliate sui moduli qui descritti e sul loro funzionamento si consulti il manuale 7 A 2 Memoria La scelta della memoria della piattaforma quasi altrettanto impor tante alla scelta del processore stesso perch analogamente a questo influisce notevolmente sul rendimento del sistema Le potenzialit del microcontrollore possono essere drasticamente limitate dalla memoria 79 A 2 Memoria utilizzata perch il processore deve realizzare continuamente accessi alla memoria per ottenere le seguenti operazioni da eseguire Sotto questo punto di vista il parametro che gioca il ruolo pi importante il tempo di accesso alla memoria A seguire saranno descritte le caratteristiche delle memoria utilizzate sulla no stra piattaforma tanto quelle della memoria volatile quanto quelle della memoria non volatile A 2 1 Memoria SDRAM Approfittando della presenza del controller SDRAM integrato nel MCF5272 ab biamo dotato il sistema di questo tipo di memoria Il controller integrato utiliz za la linea di chip select 7 del microcontrollore per il controllo di detto banco di memoria SDRAM Antares dotata di due moduli di memoria SDRAM modello MT48LC4MI16A2 collegati in parallelo formando in tal modo un bus di 32 bit che quindi dota il sistema di 16 Mbytes di memoria RAM Nell appendice C si pu vedere lo schema di connessione della memoria della piattaforma Antares Nella figura Figura A 4
9. stata progettata si potevano trovare in commercio tutti i modelli elencati ad eccezione delle due versioni del processore 5282 che erano ancora in fase di produzione e che sono disponibili sul mercato solo da pochi mesi Di tutti i modelli disponibili quello che maggiormente si adatta alle necessit e ai requisiti di progetto di questa scheda il MCF5272 in quanto integra in un solo chip tutti i sistemi di comunicazione verso l esterno di cui possiamo necessitare Come gi detto infatti questo modello orientato verso applicazioni dove si richiedano notevoli capacit di comunicazione Anche il Microcontrollore MCF5282 risponde ai 76 U Y A 1 Microprocessore requisiti ed verosimile che possa venir usato in una futura versione della nostra piattaforma Antares Di seguito illustro le caratteristiche generali del microcontrollore MCF5272 A 1 1 Caratteristiche del MCF5272 Il MCF5272 implementa in un solo chip tutti i protocolli di comunicazione che possiamo necessitare offrendo molteplici interfacce quali la Ethernet o SPI Questo processore infatti indicato per tutte le applicazioni orientate alla comunicazione e alla trasmissione dati su internet telefonia reti LAN etc Come si pu notare nella Figura A 3 il microcontrollore MCF5272 formato da molteplici blocchi funzionali 1K I Cache I Addr Gen System IFech Controller 4K SRAM oa Dec amp Sel Op Interrupt Ctr bah ESCIEN A LES
10. GNU Compiler Collection 18 URL http www gnu org copyleft gpl html GNU General Public License 92 iI Schemi elettrici di Antares 93 APPENDICE SCHEMI ELETTRICI DI ANTARES 3s TO IST in 2006 38 3 435 uus eye S3WVINV VAROSVIVIA opone e JST eg T coseno ossa usa Nasa a ESTA ES i oe OMSNE on SIDA 100713538 1619 15 sns 13s I oor mF nm dur aor oT o aor wor aor wor gt serios oso ans E Di cre 55 ovaio 15 Story s ross 2 po Nis 5 5 E Er X denso La 2 loai _ zi
11. eo o aco t pe Quya ie 28 28 2 26 Barra di 16018 vac ceo 28 Do S dr 29 2 28 Convertitore Binario Decimale Esadecimale 29 IA RE 30 2 30 Terminale ERRE RE A A 31 deo dedos 32 CTI 32 CoL rcr 33 2 34 33 2 85 Finestra di Watch l 45s ace edad OR Rn 34 rr 41 T rrr 44 45 ERAT 60 63 eta E 65 hne 66 74 76 da 77 A E E 80 A 5 Dettaglio della memoria Flash 81 ELENCO DELLE FIGURE VII aes 82 TETTE TIE 83 ada 84 m 85 pP 85 TM 86 TL 87 88 Ty 89 A 15 Dettaglio dello stadio dialimentazione 90 Descrizione del progetto 1 1 Illaboratorio LSED Nel corso denominato LSED Laboratorio di Sistemi Elettronici Digita E li gli studenti devono progettare e costruire alcuni circuiti da connet e tere alle porte di ingresso uscita della scheda Antares e programmare la scheda stessa in linguaggio Assembler o C al fine di ottenere il fun zionamento richiesto dal tema dell esercitazione Solitamente si tratta di creare un sistema di elaborazione numerica dei segnali che permetta di e amplificare e attenuare e ritardare e filtrare po
12. interfaccia USB Figura A 8 Detaglio dell interfaccia USB A 3 3 Interfaccia seriale RS 232 Come gi stato visto anteriormente il microcontrollore MCF5272 possiede integra te due UART complete esse permettono la comunicazione con altri dispositivi me diante una linea seriale Questi dispositivi possono essere altri sistemi embedded un terminale una console etc importante notare che le UART del microcontrol lore lavorano con livelli di tensione LCMOS 0 3 3 quindi se desideriamo che risultino compatibili con i livelli di tensione RS 232 12V 4 12V dovremo aggiun 84 A 3 Interfacce gere un elemento che si incarichi della trasformazione dei livelli di tensione Questa la funzione degli integrati CL3232 Gli ultimi componenti di questa interfaccia sono i connettori Questi sono del ti po DB 9 macho uguali a quelli che si trovano su un normale personal computer L intenzione chiaramente quella di poter connettere ad Antares un qualsiasi di spositivo come per esempio un modem nello stesso modo col quale potrebbe essere connesso ad un PC Questo comporta che se si vuole effettuare la connessione tra la scheda Antares e un personal computer occorre usare un cavo null modem di modo che i segnali Rx Tx e RTS CTS risultino correttamente connessi Nella Figura A 9 possiamo leggere la piedinatura del connettore DB9 Pin 1 Pin 2 Receive Data Pin 3 Transm
13. standard e completa a meno che qualche applicazione non richieda specificamente la scelta della uC libc e le applicazioni nella distribuzione uClinux sono incluse molteplici applicazio ni sia di sistema come ad esempio l interprete dei comandi sia applicazioni per l utente server Web Una volta effettuato il processo di compilazione della distribuzione viene gene rato un file binario unico contenente il kernel e il system tipico di un qual siasi sistema Linux dove si possono trovare le applicazioni le librerie ed i file di configurazione del sistema Il programma Ed68k Il programma Ed68k nasce dall esigenza di offrire agli studenti del corso di Sistemi Elettronici Digitali un interfaccia grafica amichevole che permetta di interagire con semplicit con la scheda Antares e con il firmware dB UG descritto nella sezione 4 2 1 Illaboratorio LSED In questo corso denominato Laboratorio di Sistemi Elettronici Digitali gli studenti devono progettare e costruire alcuni circuiti da connette re alle porte di ingresso uscita della scheda Antares e programmare la scheda stessa in linguaggio Assembler o C al fine di ottenere il fun zionamento richiesto dal tema dell esercitazione Solitamente si tratta di creare un sistema di elaborazione numerica dei segnali che permetta di e amplificare e attenuare e ritardare e filtrare potendo variare i coefficienti di una funzione di trasferimento assegna
14. 8 DO 00020024 MOVEL 10 8 6 00000000 WHILE LEN 00020028 MOVEAL FPO 8 A0 0002002C MOVEO 1 DO 0002002E ADDL 200 FP 8 00020032 TSTB A00 00020034 BNES 00020038 lt MYSTRLEN 0X20 gt 00020036 BRAS 00020040 lt MYSTRLEN 0X28 gt Para obtener ayuda pulse F1 Figura 2 8 Programma caricato sulla scheda 18 2 3 Descrizione delle funzioni del programma Ed68k 2 3 5 Esecuzione In questo menu si trovano i comandi necessari per l esecuzione e il debug del pro gramma precedentemente caricato nella memoria della scheda Antares Ejecutar Registros Memoria Sin P Ruptura Ctrl F5 Eon P Ruptura F5 Hasta el cursor Ctrl F10 Paso F10 Figura 2 9 Men Ejecutar e Sin P Ruptura esegue il programma senza badare a breakpoint e senza poter visualizzare il valore di registri o variabili Sar possibile interrompere l ese cuzione del programma solamente premendo il tasto Reset posto sulla scheda Antares ED68K 3 Ejecuci n cancelada por el usuario mediante RESET del kit Figura 2 10 Evento Reset e Con P Ruptura esegue il programma fino all istruzione precedente a quella dove vi un breakpoint La posizione di memoria dell istruzione successiva sar colorata in blu e saranno aggiornati i valori dei registri e delle variabili presentate nella finestra di watch e Hasta el cursor esegue il progra
15. Build 9 on Mar 21 2003 16 19 21 Enter help for help dBUG gt _ Sar ora possibile utilizzare le molteplici funzioni offerte da questo firmware descritto nel capitolo In particolare con il comando colilo verr richiamato il boot loader che dovr essere installato nella seconda met del primo chip di memoria flash vale a dire in 0xFFF00000 3Per la rappresenazione dei numeri interi in forma esadecimale verr utilizzato il sistema tipico del linguaggio C vale a dire aggiungendo il prefisso 0x 50 5 3 Utility di sviluppo y A seconda delle opzioni di compilazione del CoLiLo ampliamente descritte nel la sezione 5 4 1 potr essere presentato un ulteriore prompt dei comandi ma la semplice attesa di alcuni secondi porter all esecuzione del sistema operativo Il file contenente l immagine compressa del sistema uClinux dovr essere instal lato alla posizione 0xFFF10000 vale a dire nella parte finale del primo chip di me moria flash La restante parte di memoria flash rimasta libera vale a dire tra le posizioni OXFFE30000 0xFFF00000 sar utilizzata dal uClinux con un file system specifico per memorie flash il 5 descritto nella sezione 5 6 4 Nella Tabella viene riassunta la suddivisione della memoria del primo chip di Flash e viene anche riportata la nomenclatura data dal sistema operativo 1 vari block device
16. GNU In una qualsiasi distribuzione di Linux possibile trovare il compila tore ovvero il Gnu Compiler l assemblatore AS il linker LD Questi programmi fanno parte dei due pacchetti gcc e binutils entrambi distribuiti sotto licenza GPL il che vuol dire che il codice ivi contenu to pu essere liberamente distribuito utilizzato e modificato a patto di ridistribuire nuovamente il codice sotto licenza GPL Una licenza di questo tipo rende possibile eseguire detto codice su qualsiasi ar chitettura di sistema e qualsiasi sistema operativo in quanto la presenza del codi ce sorgente permette di adattare totalmente il programma alle nostre esigenze Le operazioni da svolgere nel nostro caso specifico per adattare il compilatore sono le seguenti e modificare tramite l uso di alcune patch il codice sorgente del compilatore affinch supporti l architettura ColdFire e compilare tale codice per un ambiente Windows 3 3 L ambiente CYGWIN Cygwin un ambiente di lavoro Unix che si installa su PC con sistema operativo Windows possibile reperire questo software all indirizzo in ternet 11 La procedura di installazione di Cygwin molto semplice Sar sufficiente scaricare dalla rete il programma di setup e grazie ad Laboratorio de Sistemas Electr nicos Digitales 36 3 4 Le modifiche al compilatore gec m68k un interfaccia grafica selezionare i pacchetti desiderati Il
17. Registri 20 2 3 Descrizione delle funzioni del programma Ed68k e Reiniciar PC assegna al registro valore iniziale ovvero salta all entry point del programma Program Counter 21 ST 2 3 Descrizione delle funzioni del programma Ed68k 2 3 7 Memoria Memoria Ruptura Wer Ventana Visualizar posici n F11 Modificar posici n Ctrl F11 Buscar dato Copiar bloque Rellenar bloque Visualizar bloque Visualizar mapa Memoria Figura 2 13 Men Memoria e Visualizar posici n permette di visualizzare il contenuto esadecimale di una variabile o di una qualsiasi posizione di memoria della scheda Sar possibile specificare l indirizzo esadecimale della posizione di memoria e la dimensio ne della relativa variabile o immetterne direttamente l etichetta I parametri mancanti in questo caso saranno riempiti premendo il tasto Busca direccion Visualizar posici n de F Posici n Label siv ariable Y Direcci n 100031004 Valor Visualizar Borrar Cancela Figura 2 14 Visualizzare posizione di memoria e Modificar posici n permette di modificare il contenuto di una variabile o di una qualsiasi posizione di memoria che non sia di sola lettura Sar possibile specificare l indirizzo esadecimale della posizione di memoria e la dimens
18. addr comprueba memoria RAM value enciende los LEDs de proposito general realiza un Autotest de la placa Donde xfer addr direccion en hexadecimal de comienzo de ejecucion down addr direccion en hexadecimal de descarga de imagen dest addr direccion en hexadecimal de destino de la imagen Source addr direccion en hexadecimal de la imagen origen final addr direccion en hexadecimal del final del test de memoria Size Tamano de la imagen port 0 dev ttyS0 1 dev ttyS1 Valores por defecto down addr fff10000 source addr fff10000 dest addr 20000 xfer addr 20000 Size 1581820 port 1 A seguire riporto una descrizione dei comandi appena citati L uso dello spagnolo dovuto al semplice fatto che il software stato sviluppato Universidad Polit cnica de Madrid 57 5 4 boot loader CoLiLo e Comando b inizia la sequenza di avvio con i valori di default che sono specificati alla fine della schermata Questi valori possono essere modificati all atto di compilare il CoLiLo mettendo mano al codice sorgente dello stesso source_address indirizzo dove si trova l immagine del sistema operativo che vogliamo caricare in memoria Nel nostro caso 0xFFF10000 dest_address indirizzo dove verr copiata o decompressa l immagine del sistema operativo Nel nostro caso sar la 0x20000 dal momento che le posizioni di memoria antecedenti sono spaz
19. alle nostre necessit in quanto permette la configurazione in forma indipendente di ciascuno dei pin del connettore entrata o uscita Entrambe le porte lavorano con livelli di tensione LCMOS ovvero 3 3V e quin di all atto di connettere la nostra scheda con altri dispositivi dovremo badare alla compatibilit tra i livelli logici Nella Tabella A 1 sono illustrati i livelli di tensione delle famiglie logiche pi comuni Parametro LCMOS 3 3V HCMOS 5V TTL 5V TTL 3 3V Vii 2V 3 5V 2V 2V ViLmaz 0 8 V 0 8 V 0 8V 0 8V VO Hmin 2 4 V 4 44 V 2 4V 2 4V VOLmaz 0 5 V 0 5 V 0 4V 0 4V Tabella 1 Livelli di tensione delle famiglie logiche pi comuni Per conoscere maggiori dettagli tecnici in merito alle porte di ingresso uscita qui illustrate si rimanda agli schemi di Antares nell appendice 0 86 Y A 3 Interfacce A 3 5 Interfaccia BDM JTAG Antares dispone di un interfaccia BDM JTAG Con il jumper posto vicino all con nettore si pu selezionare il tipo di protocollo usato da questa interfaccia Ai nostri fini useremo il BDM che permette tramite un adattatore esterno di connettere la scheda alla porta parallela di un personal computer Tramite questo collegamento e appositi driver e programmi per gestire il protocollo BDM potremo e scrivere dei dati nella memoria Flash della scheda Questo l unico modo per scrivere nella memoria Flash quando sulla sch
20. binaria del programma colilo bin e genera la versione S Record del programma colilo s19 e copia entrambe le versioni in una directory da dove risultano visibili al server La prima cosa da fare modificare il file Makefile per indicare al programma make la directory condivisa tramite il server TFTP Questo risulta utile in quanto uno dei sistemi per inviare il CoLiLo alla nostra scheda di usare le funzionalit di client TFTP del firmware dBUG che viene ampiamente illustrato nel capitolo 4 La x variabile che dobbiamo modificare TFTPDIR che deve puntare alla directory in questione Ad esempio HOME tftpdir Altre variabili da modificare sono quelle relative all ubicazione delle utility per compilare viste nella sezione Sil formato S Record un formato di file creato da Motorola per l invio tramite porta seriale dei file ai suoi processori 6Trivial File Transfer Protocol 54 5 4 boot loader CoLiLo ROOT usr local lib gcc lib m68k elf 2 95 3 GCC_EXEC_PREFIX usr local bin m68k elf EXEC PREFIX gcc EXEC EXEC ld EXEC Una volta eseguite queste modifiche sul file Makefile possiamo effettuare la compilazione del programma Per fare ci si dovr semplicemente invocare il coman do ma
21. caso di molte altre distribuzioni di Linux uClinux viene distribuito 47 U T 5 1 Sistema operativo sotto licenza GPL Questo significa che l intero sistema operativo accompagnato dal relativo codice sorgente modificabile e ridistribuibile nei termini della licenza GPL consultabile in 18 Ci chiaramente uno dei maggiori vantaggi offerti da questo sistema operativo in quanto ci permette di personalizzare completamente il sistema in modo che si adatti esattamente alle nostre necessit A quanto detto bisogna aggiungere che il kernel di Linux offre al nostro sistema i notevoli vantaggi tipici di un qualsiasi computer dotato di Linux ovvero e si tratta di un sistema operativo multitasking e dotato di un architettura modulare che permette di configurare il kernel con le sole opzioni necessarie riducendo lo spazio occupato e offre il supporto di molteplici protocolli di rete TCP IP PPP SLIP etc e offre il supporto di molteplici fyle system NFS Ext2 FAT32 16 etc e robusto e affidabile e la disponibilit del codice sorgente permette di adattarsi alle necessit concrete di qualsiasi applicazione e gratuito dovuto al fatto che gran parte del software distribuito sotto licenza GPL e permette la creazione di driver per supportare nuovo hardware Questo punto facilitato ulteriormente dall esistenza di un gran numero di driver open source che possono essere pertant
22. dd da oavAHd X1dd 0371 01 3345 037 da 93345 037 XY QvAHd XL 031 9 Q31 30001 30001 suoor 1448 59 15 SE 109 aar da 39001 Jur 39001 Jur el TO 615 819 XL 037 HOT yl 1 ZAE E ar AE E CAL E AE E TAC E 5 zm TI Xy 50 XH ON Xu 50 32 la XL XL XL HOW XL 32 XL XL 32M MM 97 APPENDICE SCHEMI ELETTRICI DI ANTARES 9 op s efoH 0 y OI pow dOSIZEZEDI SAUVINV VWHOAVIVId opakog E sopeibojur seurejsis TS Deu lt 512 TLUVN HW TAXY TLUYN 39 1518 HZA 518 TLUVN HOW TOXL vex AXL TLUVA 30 T 39001 8054 6 9 35 89 AGT ANT AGT ANT LEI 955 0513 515 HOW OSL PZA SLYTOLUVN JOW HZA 1 34001 SED 98 APPENDICE
23. differente a quella dove connessa la scheda Antares netmask maschera di rete Definisce il pool di indirizzi che saranno considerati interni alla sottorete locale filename nome file di default che verr utilizzato dal comando DN nei trasferimenti con protocollo filetype tipo di file che verr utilizzato dal comando DN nei trasferimenti con protocollo I possibili valori sono srecord coff elf image e SHOW Show Configurations elenca tuttii parametri di configurazione luca HyperT erminal iof x Modifica Visualizza Chiama Trasferisci 2 Hard Reset SDRAM Size 16M Copyright 1995 2001 Motorola Inc All Rights Reserved ColdFire MCF5272 EVS Firmware v2e 1a 1c Build 9 Mar 21 2003 16 19 21 Enter help for help dBUG gt show base 16 19200 192 168 0 1 192 168 0 9 0 0 0 0 255 255 255 0 filename prueba filetype Image mac 00 CF 52 72 C3 01 dBUG gt Connesso a 0 01 55 Auto detect 19200 amp N 1 SCORR NUM Cattura Eco stampante Figura 4 3 Parametri di configurazione e TRACE Trace Into effettua l esecuzione passo a passo del programma caricato in memoria e UP Upload Binary Data permette alla scheda di inviare un file tramite la connessione ethernet 45 4 4 Utilizzo del dBUG e UPFLASH permette la scrittura dati sul primo chip di memoria flash e
24. distribuzione uClinux possono essere ottenuti sulla pagina internet ufficiale 10 5 2 Architettura software del In primo luogo la distribuzione composta da 2 grandi blocchi di software drasticamente differenti Da un lato vi il kernel del sistema operativo che dedicato alla gestione dell Aardware del sistema alla gestione dei diversi processi alla gestione dei files etc Dall altro vi sono i programmi di sistema che offrono all utente un interfaccia amichevole verso i servizi forniti dal kernel Tra questi vi sono ad esempio la o le applicazioni per la gestione dei file come mkdir Vi sono poi le applicazioni create dall utente che utilizzano sia i servizi del ker nel sia i programmi del sistema e sono quelle che apporteranno una funzionalit concreta alla piattaforma in considerazione 5 2 1 Schemadi installazione Il sistema operativo e le applicazioni create dall utente non sono per gli unici componenti software presenti sulla scheda Antares Vi sono infatti due altri 251 denomina shell l interprete dei comandi utilizzato per dare ordini al sistema operativo Que sto nome deriva dalla denominazione stessa del programma incaricato di mascherare il sistema operativo e presentare all utente un interfaccia pi amichevole seppur di natura testuale 49 5 2 Architettura software del uClinux componenti
25. implementi le funzioni del livello fisico dell interfaccia Anche i traslatori di livello fanno parte dell hardware del livello fisico cosi come il connettore RJ 45 83 A 3 Interfacce A 3 2 Interfaccia USB Il protocollo di comunicazione USB definisce due entit distinte nella comunica zione controllore e dispositivo Il controllore responsabile della gestione della co municazione dando i permessi ai differenti dispositivi a lui connessi Il controller integrato nel MCF5272 si comporta da dispositivo ci significa che la scheda pu essere connessa a periferiche USB per non pu essere usata come controllore A differenza di quanto accade con il controller Ethernet il controller USB del MCF5272 gi dotato di un transceptor interno che permette la connessioe diretta ad una linea USB Nonostante ci il microcontrollore predisposto anche alla con nessione di un transceptor esterno qualora il progettista ritenga necessario usare questo componente Nel nostro caso abbiamo optato per l utilizzo del transceptor in terno di modo da ridurre il numero di dispositivi della scheda e contribuendo quindi alla riduzione delle dimensioni della stessa L unico componente hardware che sta to necessario aggiungere una sorgente di clock esterna alla frequenza di 48 MHz frequenza utilizzata per l invio e la ricezione dei dati Nella Figura possiamo vedere in dettaglio ubicazione dei componenti dell
26. integrazione fattore che ne permette dimensioni notevolmente ridotte La scheda infatti misura soli 12cm x 9cm Segue la descrizione dettagliata dei moduli che compongono la piattaforma Antares famiglia logica LCMOS pensata per ottenere bassi livelli di consumo utilizzando una tensione di alimentazione di 3 3 V 74 U T A 1 Microprocessore Microprocessore Il Microprocessore una delle parti pi importanti della scheda essen do il componente che maggiormente influenza le prestazioni dell intero sistema Per la piattaforma Antares stato scelto un microcontrollo re della famiglia Coldfire di Motorola Si tratta di 32 bits 2180 caratterizzati dal poter lavorare con istruzioni di lunghezza ColdFire MCF5272 variabile Questo significa che le istruzioni accettate da questo microcontrollore pos sono avere lunghezza di 16 32 o 48 bit Ci si traduce se paragonato con quello delle architetture RISC 32 o 64 bits in un uso pi efficiente della memoria riducendo la larghezza di banda necessaria nei cicli di lettura delle istruzioni e aumentando le prestazioni globali del sistema La famiglia Coldfire orientata al mercato dei sistemi embedded di fatto la di retta evoluzione della famiglia 68000 Ci rappresenta un notevole vantaggio in quanto permette una migrazione semplice dei precedenti sistemi embedded imple mentati su di un archit
27. m68k source r7 20010415 gnu source tar bz2 e scompattarlo con il comando tar xvjf gcc m68k source r7 20010415 gnu source tar bz2 e avviare lo script di configurazione dopo essersi spostati nella directory appena creata con i comandi Se si utilizza un computer dotato di Windows NT 2000 sar necessario accertarsi che la console Cygwin venga eseguita con i diritti di amministratore di sistema 38 3 5 Compilazione f gcc m68k source r7 20010415 gnu source build gcc sh gcc m68k Il parametro gcc m68k specifica allo script in quale directory installare i file bina ri Per conoscere esattamente le modalit di uso dello script sopra citato si rimanda al file readme contenuto nella directory gcc m68k source r7 20010415 gnu source Lo script build gcc provveder inoltre a creare nella directory gcc m68k source r7 20010415 gnu source build package 3 pacchetti compressi e gcc m68k win32 r7 20010415 tar bz2 e cpu32libs win32 r7 20010415 tar bz2 e extralibs win32 r7 20010415 tar bz2 che contengono rispettivamente il compilatore per i processori della sola famiglia coldfire e le librerie aggiuntive per le restanti famiglie a 32 bit e non Vale a dire che estraendo i 3 pacchetti otterremo un compilatore assolutamente generico mentre estraendo solo il primo otterremo il solo compilatore per i processori della famiglia coldfire La nostra scelta s
28. modificare il driver della Flash e memoria SDRAM la scheda Motorola dispone di 8 MBytes mentre Antares provvista di 16 Mbytes de memoria SDRAM e ingressi uscite la scheda Antares dotata di un insieme di porte di ingresso e uscita dati come ad esempio le due porte da 8 bit digitali o i LED generici In questo caso stato necessario scrivere driver specifici Con la distribuzione cosi ottenuta il processo di compilazione risulta semplicis simo in quanto sufficiente selezionare il supporto per la nostra scheda in fase di configurazione del kernel come si pu vedere nella figura Figura 5 2 62 5 5 sistema operativo uClinux G SC Figura 5 2 Schermata di configurazione del uClinux 5 5 3 Compilazione della distribuzione Indichiamo in maniera sintetica i passi per effettuare la compilazione della distribuzione di uclinux a partire dal codice sorgente incluso nel CD ROM allegato Il primo passo quello di decomprimere il file contenente il codice della distribu zione Otterremo una directory chiamata uClinux dist dove vi la distribuzio ne completa Nei paragrafi seguenti parlando del processo di compilazione si far sempre riferimento a sottodirectory di uClinux dist A questo punto sar necessario eseguire i seguenti passi 1 configurazione tipo di scheda 2 configurazione parametri del kernel 3 Selezione e configurazione delle aplicazioni 4 c
29. stick interfaces Audio decoders MCF5249L v2 107 8KI 96K 2 UART 2 3 up to 34 4 CH SDRAM ma 18 33 120 144 pin HW divide FC OSPI LOFP 12 bit ADC COROM block Hard Disk Drive Interface Audio decoders MCF5272 v2 63 1KI 4K 10 100 FEC 4 8 up to 32 2 CH SDRAM 33 66 t 196 ball n a MAC HW divide BDM 4 2 MAPBGA GCI IDL ports USB 05 software HDCL module OSPI 3 PWMS 5V tolerant Vo PCF5280 v2 58 2KI 64K 3UARTs 4 Timers n a SDRAM MAC FEC 33 5 66 256 ball Enhanced CAN 2 08 PC OSPI 4 Timers MAPBGA controller Flashless version FlexCAN 7 Chip Sel of PCF5282 Up to 150 0 s PCF5282 v2 58 64K 4 Timers n a SDRAM FEC 33 5 66 256 ball a Enhanced CAN 2 08 OSPI 4 Timers controller 512KB Flash FlexCAN 7 Chip Sel This product incorporates Up to 150 1 0 s SuperFlash technology licensed From SST MCF5307 v3 75 4K 2UARTs 2 8 16 4 CH SDRAM 3 3 66 90 208 MAC HW divide PLL EDO Fore FC 5V tolerant VO MCF5407 va 316 16K 1 86K D AK UART 2 8116 4 CH SDRAM n a 18 33 182 220 208 Pin compatible 5307 USART 2 FPM EDO FOFP performance upgrade with MAC HW divide BDM PLL PC 3 3V tolerant 1 0 Figura A 2 Modelli della famiglia Coldfire della Motorola Quando questa scheda
30. ta Per fare ci sar necessario connettere alle porte di ingresso uscita dei converti tori analogico digitale e digitale analogico che saranno pilotati dalla stessa scheda Antares tramite appositi segnali 10 2 2 Funzionamento del programma Ed68k L esercitazione potr poi essere arricchita aggiungendo componenti e funzionalit al sistema Ecco alcune delle estensioni possibli e Visualizzare dati relativi al processamento in esecuzione su di un display LCD a 7 segmenti e Effettuare il controllo remoto del programma con un comando ad infrarossi o a radiofrequenza e Effettuare il controllo remoto del programma con l ausilio di una calcolatrice HP48 HP49 di un calcolatore palmare o di un portatile e Aggiungere funzionalit di riconoscimento vocale e Aggiungere funzionalit di sintesi vocale e Implementare un semplice frequenzimetro digitale e Implementare un semplice generatore di funzioni programmabile 2 2 Funzionamento del programma Ed68k Il programma Ed68k svolge pertanto il ruolo di interfaccia utente permettendo di effettuare tutte le operazioni richieste senza dover conoscere esattamente l hard ware e le funzionalit della scheda Antares e senza doversi preoccupare della com plicata sintassi necessaria per pilotare il compilatore e il firmware dBUG Ecco i compiti principali del programma Ed68k e Fornire un editor dove sia possibile scrivere codice in C o in Assembler e Comp
31. termini della stessa pu essere modificato e ridistribuito Vengono inoltre distribuite dettaglia te istruzioni per l utilizzo del dBUG nel manuale 5 reperibile sul sito internet 18 40 ST 4 2 Struttura del ABUG luca HyperT erminal m xj Modifica Visualizza Chiama Trasferisci 2 Die 2381 alal Hard Reset SDRAM Size 16M Copyright 1995 2001 Motorola Inc All Rights Reserved ColdFire MCF5272 EVS Firmware v2e 1a 1c Build 9 on Mar 21 2003 16 19 21 Enter help for help dBUG gt _ Connesso a 0 01 30 Auto detect 182008N 1 SCORR MAIUSC NUM Cattura Eco stampante Figura 4 1 Prompt del firmware 4 4 2 Struttura del dBUG Il codice sorgente del firmware d BUG viene distribuito su file separati per permet tere all utente di scaricare da internet 1 soli file strettamnte necessari nel nostro caso stato necessario procurarsi e DBUGDSS tgz e DBUGM5272C3 tgz Nel file DBUGDSS tgz troveremo il codice sorgente generico per qualsiasi ar chitettura mentre nel file DBUGM5272C3 tgz troveremo tutto ci che riguarda la scheda dimostrativa Motorola MCF5272C3 Sar quindi necessario partendo da questa struttura di base modificare il dbug per ottenerne il funzionamento sulla scheda Antares che come gi detto presenta caratteristiche differenti dalla scheda dimostrativa Motorola MCF5272C3 4 3 Modifiche al dBUG In questa sezione analizzere
32. troveremo inoltre un insieme di utility che ci permetteranno di maneggiare la memoria Flash ed il filesystem che vi sar implementato un in sieme di programmi mirati a sfruttare le capacit di comunicazione della scheda programmi per gestire la posta elettronica server Web e FTP Tutte queste applicazioni renderanno molto semplice creare sistemi embedded che facciano uso in maniera assolutamente convenzionale delle reti di comunicazio ne esistenti e che abbiano accesso ad Internet e a tutti i vantaggi da quest ultimo offerti Gli ultimi passi consistono nel determinare le dipendenze tra i vari tool e compilare Per fare ci eseguiremo i seguenti comandi make dep 4 make Terminato ci se tutto sar stato compilato senza errori sar stato generato un file con il kernel e le applicazioni che precedentemente abbiamo selezionato Que 66 5 6 Filesystem di uClinux st immagine si trova nella directory images e nella directory condivisa con il server TFTP Il nome del file image bin A questo punto occorrer inviare l immagine alla memoria Flash Per fare ci necessario comprimere il file image bin con gzip e copiarla nella posizione 0xFFC10000 o nella posizione 0xFFF10000 per poter successivamente scompattarla e avviarla grazie al CoLiLo 5 6 Filesystem di Il sistema operativo uClinuxsupporta svariati tipi di filesystem tra cui tutti i tipi pi co
33. 0020104 HOVEL DO 00031000 lt IVARIABLE_MOLTO_I SIVARIABLE IVARIABLE MOLTO LUNGA A1 00000000 00020104 MOVEW 00031002 IVARIABLE MOLTO LUNGA AZ 00000000 00020110 MOVEW DO 00031004 BSS START 43 00000000 OUTCH 00020116 00000061 lt _ START OX1FF9F gt RE 0002011 TCD 5 00000000 0002011 watchs A6 0002FFF8 NA 000200FC 00020120 NY aqaress Dato Label 00020124 00031000 00000000 iVariable molto lunga gt 00020128 00031004 7BDC siVariable 0002012 Figura 2 35 Finestra di Watch 2 4 Programmare in C Il programma Ed68k come gi visto permette di editare e compilare codice scritto in linguaggio Assembler o C Di contro le funzionalit di debug offerte dal firmware ABUG sono orientate all esecuzione di istruzioni in linguaggio macchina per loro stessa natura direttamente correlate a istruzioni assembler stato pertanto deci so di effettuare il debug di codice scritto in C presentando un listato ibrido Ogni istruzione in linguaggio C evidenziata in colore viola verr seguita da istruzioni As sembler Le istruzioni Assembler saranno quelle realmente eseguite evidenziate dal l esecuzione passo a passo mentre le istruzioni C avranno un significato puramente mnemonico per l utente Questa peculiarit mostrata dalla Figura 34 Struttura del programma Ed68k Il programma Ed68k stato scritto principalmente in C c
34. 4 Men Ver e Barra de estado mostra o nasconde la barra di stato posta nella parte bassa dello schermo Para obtener ayuda pulse F1 Linea 9 NUM Figura 2 25 Barra di stato e Barra de hierramentas mostra o nasconde la barra con i tools pi usati posta immediatamente sotto ai menu Figura 2 26 Barra di tools 28 2 3 Descrizione delle funzioni del programma Ed68k e Barra de registros mostra o nasconde la barra dei registri posta nella parte destra dello schermo 00020000 SR S0xnzvc US 55 01000000 DO 00000000 D1 00000000 D2 00000000 D3 00000000 D4 00000000 D5 00000000 D 6 00000000 D7 00000000 40 00000000 Al 00000000 2 00000000 A3 00000000 24 00000000 45 00000000 A6 00000000 Figura 2 27 Barra dei registri e Conversor dh effettua la conversione tra numeri binari decimali ed esade cimali ersor dh 0400000 El Figura 2 28 Convertitore Binario Decimale Esadecimale 29 2 3 Descrizione delle funzioni del programma Ed68k 2 3 10 Finestra Comandi per la gestione delle finestre aperte Ventana Ayuda Watch Cascada Mosaico horizontal Mosaico vertical w Terminal F4 Watch Limpiar Terminal Ctrl F4 1 sesl dep Figura 2 29 Men Ventana Cascada ordina le finestre aperte in modo che siano
35. E SERE Ethernet IL wa SDRAM Ctr MAC amp DMA H W Divide Chip Selects USB1 1 Debug General Module JTAG Module Purpose ES 4Timers aser Software HDLC 2 UARTs Figura A 3 Diagramma a blocchi del MCF5272 Controller e processore Coldfire V2 il microcontrollore ha come processore un nucleo Coldfire versione 2 Si tratta come gi detto di un processore RISC da 32 bits con una velocit di clock di 66 MHz e con una unit di moltiplicazione MAC oltre ad un modulo per la relizzazione di divisioni tra interi Permette inoltre l esecuzione di istruzioni di lunghezza variabile 16 32 48 bit Que sta la prima versione di un nucleo Coldfire propriamente detto in quanto il nucleo precedente quello del MCF5102 era un ibrido di architettura Coldfire e 68000 77 U i T A 1 Microprocessore 1KByte di cache questa memoria permette di aumentare il rendimento del controller in quanto si tratta di una memoria molto rapida e vicina al nucleo di calcolo Ci ovviamente permette di aumentare la velocit di esecuzione di strutture di codice ripetitive come i cicli in quanto immagazzina le istruzioni che altrimenti dovrebbero essere sempre richiamate dalla memoria centrale 4KBytes di memoria interna SRAM si tratta di memoria generica che pu essere usata nello stesso modo di quella esterna con la sola ovvia differenza che essendo molto pi rapida risulta
36. OLA e pu assumere i valori 1 0 2 a seconda che si utilizzi la UARTO la UARTI Vi poi la possibilit di linkare il programma in due maniere differenti in modo da poterlo eseguire dalla memoria Flash o dalla memoria Ram Viene offerta questa possibilit per facilitare la fase di debug del programma CoLiLo in quanto questa 55 5 4 boot loader CoLiLo risulta molto pi agile se il software stato linkato per funzionare in memoria Ram La scelta tra RAM e Flash verr effettuata tramite la variablie FLASH che dovr assumere rispettivamente il valore 0 o 1 A titolo di esempio se desideriamo compilare un immagine del CoLiLo per sal varla nella memoria Flash che comunichi sulla porta UARTO e che richieda l in tervento dell utente basta invocare il processo di compilazione con la seguente chiamata f make FLASH 1 CONSOLA 1 CONFIG UI 5 4 2 Istruzioni d uso Il CoLiLo come anche il uClinux utilizza per default la porta UARTO del microcon trollore per comunicare con l utente Per poter comunicare con la scheda necessaro un terminale seriale configurato nel seguente modo e velocit Tx Rx 19200 baud e 8 bit di dati senza parit 8N1 e controllo di flusso nessuno Come terminale useremo il nostro stesso PC collegandolo ad Antares tramite un cavo seriale null modem Come software per instaurare la comunicazione con la scheda possiamo utilizzare Hyperterminal se stiamo
37. POLITECNICO DI TORINO III Facolt di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di Laurea Progetto e realizzazione di un ambiente didattico di laboratorio per esercitazioni sui sistemi elettronici digitali Relatore prof Luciano Lavagno Candidato Luca Necchi Settembre 2003 UNIVERSIDAD POLITECNICA DE MADRID ESCUELA TECNICA SUPERIOR DE INGENIEROS DE TELECOMUNICACION Facolt di Ingegneria Tesi di Laurea Progetto e realizzazione di un ambiente didattico di laboratorio per esercitazioni sui sistemi elettronici digitali Relatori Juan Manuel Montero Martinez D Octavio Nieto Taladr z Garc a Candidato Luca Necchi Settembre 2003 Sommario Scopo Scopo di questo documento illustrare le varie fasi di progettazione dell ambien te didattico relativo al Laboratorio de Sistemas Electr nicos Digitales corso che viene proposto agli studenti dell Escuela T cnica Superior de Ingenieros de Teleco municaci n dell Universidad Polit cnica de Madrid Ambiente didattico Lo svolgimento di detto laboratorio prevede il progetto e la realizzazione di un sistema di elaborazione numerica dei segnali Compito dello studente sar e programare un microprocessore affinch esso realizzi il sistema richiesto di elaborazione numerica dei segnali e realizzare un apposita circuiteria di conversione analogico digitale e digita le analogico Negli anni scorsi que
38. SCHEMI ELETTRICI DI ANTARES y 9 eloH 0 NOIOV LN3AT TV SIYVINV VIASIOJV LV Id OP9 OId 1 3515 151 STLYOd OI gt OI ETLYOd OI CILYOd OI TILYOd OI OTLYOd OI 61404 OI 8130d OI m f LIYOd OI 9LYOd OI SIYOd OI LYOd OI ELYOd OI cLuOd OI TLYOd OI OI m e m o 60 511304 OI ILYOd OI ETLYOd OI CILYOd OI TILYOd OI OTLYOd OI 6LYOd OI 8130d OI so Tra oria so y 610 MI Seu MI 824 MI LEY rr he oss MI 924 EC8ESAL IMS 453 MOT gt 9 3900 AT 1D LLYOd OI 91304 OI SIYOd OI 1304 OI 21804 OI 21304 OI TIYOd OI OLYOd OI 109 5 la 29 0772 34001 0440470 TED 5 39 El 8 oW m 2 820 N s ZION 3 9zd N E SEQ 434 m 5 Pd DN A01 3r10 l lt Si AG bVIS EIN 99
39. UPFLASH2 permette la scrittura dati sul secondo chip di memoria flash e VERSION riporta la versione del programma dBUG Tutti questi comandi accettano parametri La sintassi esatta di ciascun coman do pu essere consultata sul manuale o puo essere dedotta dando il comando HELP alla scheda 46 Installazione del sistema operativo uClinux In questo capitolo verr giustificata la scelta di usare uClinux come sistema operativo della piattaforma Antares e ne verr analizzata l architettura software L obbiettivo quello di mettere il lettore in condizione di sviluppare applicazioni specifiche sulla piattaforma Antares e di modificare le opzioni del sistema operativo stesso qualora lo ritenga necessario 5 1 Sistema operativo 5 1 1 Clinux Il sistema operativo una versione del popolare sistema operativo Linux orientata ai microcontrollori che non dispongano di un unit di gestione della memo ria come nel caso del MCF5272 Questo sistema operativo caratterizzato dall occupare uno spazio decisamente pi modesto di quello di una convenzionale distribuzione Linux fatto che lo rende idoneo allo sviluppo di sistemi embedded A titolo di esempio lo spazio occupato da un kernel uClinux configurato con le opzio ni standard pu essere minore di 500 KBytes mentre quello di una distribuzione completa uClinux fornita dei pi comuni applicativi pu essere inferiore ai 900 KBytes Come nel
40. aan 3 5 2 Aggiornamento delle librerie di Cigwin 4 firmware dBUG 5 4 1 Cosa il dBUG 4 4 Utilizzo del ABUG Installazione del sistema operativo 5 1 Sistema operativo 5 1 1 5 2 Architettura software del uClinux 5 2 1 5 3 Utility di sviluppo 5 3 1 Installazione 5 4 Il boot loader CoLiLo II 22 26 28 30 32 33 34 35 35 36 36 37 38 38 39 40 40 41 41 42 49 INDICE 5 4 1 Compilazione 5 4 2 Istruzioni d uso T 5 5 1 Struttura 5 5 2 5 5 8 Compilazione 5 6 Filesystem di uClinux o wok RR RO A RC 5 6 1 filesystem RAMES 5 6 2 filesystem NFS 5 6 3 filesystem 5 6 4 filesystem uu k o Room a SCR Mo 5 7 1 Configurazione dell interfaccia Ethernet 5 7 2 Accesso a directory remote tramite 5 7 3 Uso di un filesystem JFFS 5 7 4 6 Conclusio
41. acce asincrone UART che per mettono la comunicazione con altri dispositivi come un terminale o un modem e un canale DMA il canale di accesso diretto alla memoria DMA permette di pianificare trasferimenti di dati tra distinte zone di memoria o dispositivi senza richiedere l intervento diretto del processore e otto chip selects questo modulo permette di connettere al medesimo bus fi no ad otto dispositivi o memorie senza richiedere l aggiunta di nessuna logica addizionale e tre entrate uscite generiche da 8 bit rende disponibili un massimo di 48 bit di entrata uscita otto delle quali sono fisse mentre le rimanenti sono multiplexate con altre funzioni del microcontroller e quattro temporizzatori da 16 bit grazie a questo modulo si possono realizzare processi di controllo periodico in modo molto semplice e watchdog software questo modulo molto importante per i sistemi embedded perch permette di capire se il sistema non funziona correttamente e di riav viarlo nel caso ve ne sia la necessit Questo di particolare utilit quando si ha a che fare con sistemi di controllo in quanto permette di arrestare con sicurezza il sistema nel caso venga rilevato un mal funzionamento Come si pu notare il MCF5272 ha molte caratteristiche peculiari particolarmen te utili per la realizzazione di sistemi embedded che richiedano notevoli prestazio ni nell ambito delle comunicazioni Per informazioni pi
42. al Lucas Saor n Jose Manuel Mira Ros Anto nio Pallar s Ruiz and Salvador S nchez Pedre o Guill n una imprenta en sus manos Aula Documental de Investigaci n 2000 3 Fujitsu Fujitsu Semiconductor Data Sheet 4 Jos David Romeral Mart n Juan Manuel Montero Mart nez Javier Ma c as Guarasa Enunciado de la pr ctica estandar del Laboratorio de Sistemas Electr nicos Digitales LSED ETSIT 2001 5 Motorola ABUG Reference Manual 1999 6 Motorola Coldfire Family Programmer s Reference Manual 2001 7 Motorola MCF5272 Coldfire Integrated Microprocessor Users Manual 2001 8 Alessandro Rubini Linux Device Drivers O Reilly Associates primera edition 1998 9 Juan Jose San Mart n uclinux empotrado en arquitecturas digitales basadas en microcontroladores l gica programable Master s thesis ETSIT 2001 91 REFERENCIAS Riferimenti Internet 10 URL www uclinux org Pagina web della distribuzione uClinux 11 URL www cygwin com Pagina web di Cygwin 12 URL www ucdot org Embedded Linux Developer Forum 13 URL e www motorola com Pagina web di Motorola Semiconductors 14 URL java sun com j2me Java 2 Platform Micro Edition J2ME 15 URL http www fiddes net coldfire The Linux Documemtation Project 16 URL http www fiddes net coldfire Pagina web del compilatore per microcontrollori ColdFire 17 URL gcc gnu org Pagina web del
43. ar quella di utilizzare il solo compilatore specifico che installeremo usando Cygwin con i seguenti comandi cd cygdrive c ed68k tar xvjf gcc m68k source r7 20010415 gnu source build package gcc m68k win32 r7 20010415 tar bz2 3 5 2 Aggiornamento delle librerie di Cigwin Qualora venga aggiornato il compilatore gec m68k sar necessario copiare nuo vamente le librerie di cygwin Per fare questo daremo il seguente comando ad una console Cygwin cp bin cyg dll cygdrive c ed68k gcc m68k system path di queste librerie verr aggiunto al path di sistema all atto di avviare il programma Ed68k 39 Il firmware dBUG 4 1 Cosa il dBUG Il ABUG un firmware prodotto da Motorola e destinato a molte delle schede dimostrative su cui sono installati i processori Motorola Questo firmware offre un interfaccia testuale che pu essere usata per scaricare eseguire codice e gestire le funzioni basilari di un ambiente di debug L interfaccia utente di tipo linea di comando e per il suo utilizzo si dovr utilizzare un terminale seriale L attuale versione del dBUG supporta le seguenti famiglie di microcontrollori e M68000 e ColdFire MCF5200 e PowerPC Il codice sorgente di questo firmware viene distribuito liberamente sul sito inter net 13 all indirizzo http e www motorola com collateral DBUGFIRM html Detto codice protetto da una specifica licenza Motorola e nei
44. dei relativi blocchi di memoria Dialog XX Direcciones Texts 20000 Data 20000 Cancel Figura 2 7 Configurazione parametri del linker e Ensemblar effettua la chiamata all assemblatore nel nostro caso il program ma AS della GNU per verificare la correttezza del codice scritto dall utente 16 2 3 Descrizione delle funzioni del programma Ed68k Verr riportata in una nuova finestra la lista e il conteggio degli eventua li errori e warning Questo comando non produce nessun file eseguibile come output e Make AS effettua la chiamata all assemblatore e al linker tramite l ausilio di un file batch effettuando cos l intero processo di assemblaggio restituendo un file in formato s record con estensione h68 pronto per essere caricato tramite la connessione seriale nella memoria della scheda Antares e Compilar effettua la chiamata al compilatore nel nostro caso il programma GCC della GNU per verificare la correttezza del codice scritto dall utente e riporta in una nuova finestra la lista e il conteggio degli eventuali errori e warning Questo comando non produce nessun file eseguibile come output e Make effettua la chiamata al precompilatore al compilatore all assem blatore e al linker tramite l ausilio di un file batch effettuando cos l intero processo compilazione Durante questa fase verranno anche compilati altri file quali la ro
45. di configurare l Aardware della scheda e provvedere a recuperare dal chip di flash l immagine compressa della distribuzio ne uClinux Per svolgere queste funzioni abbiamo utilizzato il CoLiLo sviluppato inizialmente da Rob Scott e distribuito sotto licenza GNU Partendo da questa base sono state realizzate molteplici modifiche neessarie per adattare questo software all hardware presente sulla scheda Antares Inoltre so no state aggiunte numerose funzionalit come ad esempio la verifica del corretto funzionamento delle differenti parti dell Aardware stesso o la possibilit di avviare differenti immagini di uClinux 53 5 4 boot loader CoLiLo 5 4 1 Compilazione In questa sezione illustrer i passi basilari da seguire per compilare il programma CoLiLo e per copiarlo nella memoria Flash di Antares Nel CD ROM allegato vi si trova il codice sorgente del CoLiLo nella sua versione gi adattata all Aardware di Antares Per effettuare correttamente la compilazione necessario far uso del cross compiler che deve essere installato come descritto nella sezione Il processo di compilazione fa inoltre uso dell utility make disponibile in qualsiasi sistema UNIX configurato per poter compilare codice Il processo di compilazione gestito da make realizza i seguenti passi e compila e linka il programma CoLiLo e genera una mappa del programma che viene salvata nel file 1110 e genera una versione
46. di cui questa scheda dotata A 3 1 Interfaccia Ethernet L interfaccia Ethernet di Antares si compone di quattro parti il controller integra to nel MCF5272 che si incarica di realizzare l accesso alla rete MAC un circuito integrato connesso al MCF5272 che offre le funzioni di livello fisico dell interfac cia alcuni traslatori di livello che effettuano la conversione dei livelli di tensio ne adattandoli alle specifiche e dal connettore RJ 45 al quale si pu connettere un convenzionale cavo di rete Riassumendo i blocchi dell interfaccia Ethernet sono i seguenti 1 Controller di acceso MAC MCF5272 2 Transceptor DP83846A 3 Traslatori di livello 4 Connettore RJ 45 Nella figura Figura vediamo l ubicazione dei differenti componenti sulla piattaforma Antares Figura A 6 Dettaglio dell interfaccia Ethernet 82 A 3 Interfacce LIVELODI MCF5272 COLLEGAMENTO CONTROLLER f TRANSCEPTOR DP83846A LIVELLO FISICO V Figura A 7 Diagramma a blocchi dell interfaccia Ethernet La funzione di ciascun modulo in riferimento alla gerarchia dei protocolli OSI descritta nella Figura In questa figura possiamo vedere chiaramente che il controller integrato nel MCF5272 realizza unicamente la funzione relativa al livello di collegamento ovvero gestisce l accesso livello fisico MAC e quindi necessita di un transceptor esterno che
47. di dimensioni identiche e che si sovrappongano in maniera ordinata in una sorta di cascata Mosaico horizontal divide orizzontalmente lo spazio disponibile tra le varie finestre e Mosaico vertical divide verticalmente lo spazio disponibile tra le varie fine stre Terminal mostra o nasconde la finestra terminale da dove sar possibile comunicare con il programma in esecuzione sulla scheda Antares 30 2 3 Descrizione delle funzioni del programma Ed68k Terminal Hard Reset SDRAH Size 16H Copyright 1995 2881 Motorola Inc 811 Rights Reserved ColdFire HCF5272 EUS Firmware u2e 1a 1c Build 9 on Mar 21 2883 16 19 21 Enter help for Figura 2 30 Terminale e Watch mostra o nasconde la finestra watch descritta nella sezione 2 3 12 e Limpiar terminal cancella il contenuto della finestra terminale 31 2 3 Descrizione delle funzioni del programma Ed68k 2 3 11 Help Ayuda Watch Temas de ayuda Acerca de EDESK v 1 Terminal Figura 2 31 Men Ayuda e Temas de ayuda apre la guida in linea e Acerca de ED68K presenta versione copyright e autore del programma Ed68k Acerca de EDEBE 3 Version 1 2 Copyright DIE UPH Desarrollado para DIE UPM por Luca Mecchi Memoria 130548 KB Figura 2 32 Finestra 32
48. dr e la copia nella posizione dest_addr L algoritmo di compressio ne decompressione utilizzato quello di Lempel Ziv Vale a dire che per com primere l immagine utilizzeremo banalmente il comando gzip su un sistema Linux e Comando x down_addr dest_addr xfer_addr port realizza in 22 modo sequenziale le chiamate ai comandi 1 d e g e Comando z source_addr dest_addr xfer_addr realizza in modo sequenziale le chiamate ai comandi d e 27 e Comando t source_addr final_addr effettua una verifica dello stato della memoria RAM compresa tra le posizioni passate come parametro e Comando s value presenta sui LED generici della scheda Antares il valore dato come parametro e Comando effettua una verifica semiautomatica di tutto l Aardware della scheda Antares Detto test consiste nella realizzazione delle seguenti prove verifica della memoria verifica dei LED generici vengono accesi in vari modi i LED situati sulla scheda verifica delle porte digitali di ingresso uscita per fare ci necessario connettere entrambe le porte tra loro con un cavo piano per verificare che esista comunicazione tra le due scrivendo nella Porta 0 e leggendo nella Porta 1 verifica delle porte UARTs si devono connettere tra loro le UART tramite un cavo crociato e si verifica la comunicazione in entrambe le direzioni verifica del mod
49. durre file binari specifici per l architettura del processore Motorola Coldfire MCF5272 e Il firmware della scheda Antares denominato E stato necessario adat tare questo software creato dai ricercatori Motorola alle specifiche hardware della scheda Antares e Il sistema operativo uClinux Verr descritta l installazione e la configurazio ne del che una distribuzione del sistema operativo Linux orientata ai sistemi embedded Conclusioni Le varie componenti software e hardware descritte in questa tesi sono state te state verificandone l effettivo funzionamento e la corrispondenza con le specifiche di progetto Per poter avviare le esercitazioni di laboratorio su questo nuovo ambiente didat tico si dovr attendere la realizzazione da parte dell LS Laboratorio di Sistemi Integrati di un numero adeguato di schede Antares hardware che si sta dimo strando per le sue prestazioni e la sua versatilit un componente essenziale per la didattica e la ricerca presso il dipartimento di Ingegneria Elettronica dell Universit di Madrid Una linea di sviluppo futura potrebbe richiedere l aggiunta del supporto multilingue al fine di poterlo proporre anche agli studenti del Politecnco di Torino mio nonno Antonio Rigorini mio nonno Antonio Rigorini Ringraziamenti Desidero ringraziare i miei genitori che mi hanno donato le possibilit per raggiungere questo importan
50. e La programmazione per questo sistema operativo realizzata tipicamente in lin guaggio C o C anche se esistono implementazioni di macchine virtuali che per mettono lo sviluppo di applicazioni scritte in Java Queste ultime risultano per pi lente delle analoghe scritte in C e non verranno prese in considerazione in questa tesi Application Programming Interface In questo caso ci riferiamo all insieme di chiamate al sistema operativo attraverso le quali si accede ai servizi offerti dallo stesso 1 8 Struttura della distribuzione uClinux Tuttavia anche questo sistema operativo presenta i suoi inconvenienti La sua principale carenza identificabile nella gestione di applicazioni grafiche e di inter facce utente grafiche dal momento che il loro sviluppo pu risultare pi complesso se comparato con altri sistemi operativi come ad esempio Windows CE Data la finalit del sistema Antares questo inconveniente tollerabile soprattutto se proporzionato ai molteplici vantaggi offerti Tutte le informazioni sulla distribuzione uClinux possono essere ottenuti sulla pagina internet ufficiale 10 1 8 Struttura della distribuzione La distribuzione nata per colmare la mancanza del sistema operativo Linux nel mercato dei sistemi embedded Questa assenza era giustificata dal fatto che Linux un sistema operativo avanzato che fa uso dei molteplici vantaggi offer ti dalla unit d
51. e di tipo linea di comando e per il suo utilizzo si dovr utilizzare un terminale seriale L attuale versione del dBUG supporta le seguenti famiglie di microcontrollori e M68000 e ColdFire MCF5200 e PowerPC Il codice sorgente di questo firmware viene distribuito liberamente sul sito inter net 13 1 7 Sistema operativo uClinux Il sistema operativo una versione del popolare sistema operativo Linux orientata ai microcontrollori che non dispongano di un unit di gestione della memo ria come nel caso del MCF5272 Questo sistema operativo caratterizzato uno spazio decisamente pi modesto di quello di una convenzionale distribuzione Linux fatto che lo rende idoneo allo sviluppo di sistemi embedded A titolo di esempio lo spazio occupato da un kernel uClinux configurato con le opzio ni standard pu essere minore di 500 KBytes mentre quello di una distribuzione completa uClinux fornita dei pi comuni applicativi pu essere inferiore ai 900 KBytes Come nel caso di molte altre distribuzioni di Linux uClinux viene distribuito sotto licenza GPL Questo significa che l intero sistema operativo accompagnato dal relativo codice sorgente modificabile e ridistribuibile nei termini della licenza GPL consultabile in 18 Ci chiaramente uno dei maggiori vantaggi offerti da W T 1 7 Sistema operativo uClinux questo sistema operativo in quanto ci
52. e System pensato per lavorare su dispo sitivi di memoria non volatile come la memoria Flash Si tratta di un filesystem di lettura e scrittura che permette la scrittura di file in maniera assolutamente tra sparente nonostante sia parecchio laboriosa la gestione della scrittura su di una memoria Flash 5 7 Lavorando con yClinux Vediamo ora i passi fondamentali per configurare il sistema e cominciare a lavo rare sulla piattaforma Saranno descritte la configurazione dei parametri di rete e l aggiornamento della distribuzione uClinux che salvata sulla memoria Flash 5 7 1 Configurazione dell interfaccia Ethernet La prima cosa da fare all atto di avviare il nostro sistema assegnare un indirizzo IP all interno della nostra rete locale Sar inoltre importante configurare l indirizzo del gateway della nostra rete per permettere alla nostra scheda di accedere a reti remote L interfaccia di rete si configura alla stessa maniera di un sistema Linux vale a dire facendo uso del comando ifconfig Supponiamo di dover configurare la nostra scheda nel seguente modo e indirizzo IP 138 4 9 100 e netmask 255 255 255 192 e indirizzo di broadcast 138 4 9 127 68 5 7 Lavorando con e indirizzo del gateway 138 4 9 65 Sar necessario configurare la scheda con i seguenti comandi ifconfig eth0 down ifconfig eth0 138 4 9 82 broadcast 138 4 9 127 netmask 255 255 255 192 ifconfi
53. eda non ancora presente un firmware o quando il sistema operativo per qualche motivo non riesca ad avviarsi e effettuare il debug degli applicativi caricati in memoria senza dover ricorrere a costosi simulatori o emulatori Nella Figura A 12 si pu vedere la posizione del connettore e quella del relativo jumper di configurazione Figura A 12 Dettaglio dell interfaccia BDM JTAG A 3 6 Bus di espansione Il bus di espansione di Antares formato da due connettori CN2 e CN3 posizionati parallelamente su uno dei lati della scheda In questi connettori sono state portate le linee pi importanti del MCF5272 per permettere l espansione della sche da tramite schede aggiuntive Tra questi segnali troviamo il bus di dati quello di indirizzamento le linee di interrupt le linee del banco di SDRAM etc 87 A 3 Interfacce Nella Figura sono mappati i segnali presenti sui due connettori della scheda GND MCF_DO GND 33V MCF_PB6 MCF D31 337 RTS MCF_DI 33V 4 x D30 1 UARTI CTS MCF D2 RD CS AMPLO MCF UARTO RTS B A3 D29 SDRAM_BAO IMCF_UARTI_RXD MCF_D3 WE CS AMPLI UARTO CTS 028 SDRAM_RASO UARTI TXD ISDRAM_BAI CS_AMPL2 UARTO F GND MCF_WSEL 04 GND CS_AMPL3 UARTO TXD
54. ettura 68000 A tal proposito merita notare che il primo pro cessore di questa nuova famiglia che fu nominato Il microcontrollore ponte verso la famiglia Coldfire permetteva l esecuzione sia di codice specifico per 68000 sia di codice specifico per Coldfire La famiglia Coldfire si compone di vari modelli Contrariamente con quanto ac cade con i processori dei personal computer tipicamente Intel o AMD nei quali la differenza tra ogni processore si basa sostanzialmente sulla frequenza di clock dello stesso Motorola differenzia i vari prodotti in funzione del mercato a cui sono de stinati Questa politica trova la sua spiegazione nel tipo di mercato verso il quale si dirige Motorola Si tratta infatti di un offerta orientata a coprire le necessit di mercati molto piccoli e concreti piuttosto che offrire una soluzione generica ad un mercato globale Motorola definisce i processori della famiglia Coldfire come processori embedded e non come mi crocontrollori Sebbene possano essere trovate argomentazioni per la differenziazione questa deno minazione obbedisce pi ad una strategia di marketing che ad una differenza reale In questo testo si utilizzeranno indifferentemente entrambe le demoninazioni Le architetture RISC Reduced Instruction Set Computer si basano sull implementazione di un numero ridotto di istruzioni semplici che vengono seguite nella larga maggioranza in un solo ciclo do clock Per contro le architett
55. g eth0 up route add default gw 138 4 9 65 Sar ora possibile l accesso a tutti i tipici servizi IP come ad esempio la posta elettronica i servizi Web telnet etc Di particolare interesse sar il servizio telnet che ci permetter di connetterci alla scheda Antares remotamente senza dover usare la connessione seriale 5 7 2 Accesso a directory remote tramite NFS Per poter accedere ad una directory tramite NFS dovremo configurare sia il client NES sia il server e Configurazione del server nel computer che dovr esportare la directory trami te NFS dovr essere installato un server NFSP Il sistema si configura tramite il file etc exports al quale sar necessario aggiungere una linea simile alla seguente home necchi mydir 138 4 9 98 26 rw Nell esempio abbiamo configurato il server NFS in modo che accetti connes sioni dall intera sottorete 138 4 9 64 138 4 9 127 con permessi di lettura e scrittura sulla directory home necchi mydir e Configurazione del client come per qualsiasi altro filesystem l operazione di montaggio verr effettuata tramite il comando mount incluso nella distribuzione Sar necessario introdurre al prompt dei comandi di antares la seguente linea di comando 8In Linux il server del servizo NFS il programma 69 5 7 Lavorando con uClinux mount t nfs o nolock 138 4 9 98 home necchi mydir mnt Una volta montata la d
56. i I Descrizione della piattaforma Antares In questo capitolo verr descritta la piattaforma Antares Questa scheda visibile nella Figura stata recentemente creata dai ricercatori e dai tesisti del di partimento DIE Dipartimento di Ingegneria Elettronica presso 1 laboratorio di Sistemi Integrati denominato LS dell Universidad Politecnica de Madrid Antares stata progettata tenendo come riferimento la scheda di sviluppo 5272 3 di Motorola pertanto basata su un processore della famiglia Coldfire Le caratteristiche generali di Antares sono le seguenti 1 microcontrollore 32 bits MCF5272 Motorola memoria SDRAM 16 Mbytes memoria Flash 4 Mbytes interfaccia Ethernet per connessioni ad una rete locale due interfacce seriali RS 232 una interfaccia USB slave una interfaccia BDM JTAG per effettuare debug e per programmare dall esterno le due unit di memoria Flash 73 APPENDICE A DESCRIZIONE DELLA PIATTAFORMA ANTARES 8 otto uscite digitali LCM OST 9 otto entrate uscite LCMOS 10 quattro LED indicadori 11 bus de espansione 12 alimentazione di entrata di 8 14 Volt Nella Figura A I possiamo vedere la piattaforma di sviluppo Antares nella quale sono state evidenziate e numerate le differenti parti che la compongono Figura 1 Piattaforma di sviluppo Antares Antares caratterizzata da una notevole densit di
57. i file tipiche di qualsiasi programma Windowsl Archivo Editar Conexi n Construi Nuevo Ctrl N Abrir Guardar Ctrl G Guardar como Imprimir Configurar impresora 1 sesl dep 2 sesl c Salir Figura 2 2 Menu Archivo lLuso dello spagnolo nei men di questo programma dovuto al fatto che il software stato sviluppato per l Universit Politecnica de Madrid 13 2 3 Descrizione delle funzioni del programma Ed68k 2 3 2 Modifica In questo menu vi sono i comandi di gestione dell editor quali taglia copia e incolla Editar Conexi n Construir Ej Deshacer Ctrl C Pegar Seleccionar todo Ctrl T Buscar Ctrl B Buscar pr ximo Ctrl H Reemplazar Figura 2 3 Menu Editar 14 2 3 Descrizione delle funzioni del programma Ed68k 2 3 3 Connessione In questo menu vi sono i comandi per gestire la connessione seriale con la scheda Antares Conexi n Construir Abrir Configurar Figura 2 4 Men Conexi n e Abrir apre la porta seriale verifica l effettivo funzionamento della connessio ne con la scheda Antares e aggiorna la tabella di visualizzazione dei registri e Cerrar chiude la connessione seriale e Configurar configurazione della porta seriale Permette di scegliere la porta ser
58. i gestione della memoria MMU tipicamente assente nella gran maggioranza dei microcontrollori orientati a sistemi embedded Questa particolari t ha reso molto difficile il procedimento di adattare il kernel di Linux a questo tipo di microcontrollori in quanto compiti molto semplici in presenza di microprocesso ri MMU come ad esempio la protezione delle zone di memoria di ciascun processo diventano invece compiti complessi con microcontrollori non dotati di MMU Il primo microcontrollore sul quale stato eseguito un uClinux il Motorola MC68328 Oggigiorno esistono port di questo sistema per un gran numero di microprocessori tra i quali vi si trovano anche i microcontrollori della famiglia Coldfire La distribuzione uClinux formata da 3 blocchi di software principali e il kernel in questa distribuzione sono inclusi i port del kernel di Linux della versione 2 2 x e della 2 4 x Verr usata la versione pi recente e la biblioteca standard C libc si trata di due implementazioni della bibliote ca standard del C per microcontroller la uC libc e la uClibc la differenza tra queste due pur essendo minima dovuta al fatto che la uC libc sebbene sia completa non segue rigorosamente lo standard per facilitare la migrazione di applicazioni specifiche per microcontrollori embedded Di conseguenza racco 1 8 Struttura della distribuzione uClinux mandabile l uso della biblioteca uClibc pi
59. ia e Visualizar bloque permette di visualizzare il contenuto di un intero blocco di memoria L operazione limitata a una quantit di memoria di 16K 24 2 3 Descrizione delle funzioni del programma Ed68k Visualizar bloque de memoria x Direcciones FFE08000 Finfy FFE09000 Formato Hexadecimal C Desensamblado Figura 2 19 Visualizza blocco di memoria e Visualizar mapa de memoria visualizza la mappa di memoria della scheda Antares specificando gli indirizzi verso i quali sono mappate le varie zone di memoria e le linee di chip select relative MMap 0 00000000 Vector Table 0 00000000 Ox000003FF USER SPACE 0 00020000 MBAR Ox 10000000 Ox100003FF Internal SRAM 0 20000000 0 20000 External SRAM 0 3 0000000 Ox300 FFFF Flashi Flash2 OxFFCO0000 OxFFDFFFFF Chip Selects Flash 1 Flash 2 Ext SRAM not in use not in use not in use not in use SDRAM Figura 2 20 Visualizza mappa di memoria 25 2 3 Descrizione delle funzioni del programma Ed68k 2 3 8 Breakpoint In questo menu si trovano i comandi necessari per la gestione dei breakpoint Ruptura Ventana Insertar Eliminar Eliminar todos Ctrl F9 Visualizar Alt F3 Figura 2 21 Men P Ruptura
60. iale da utilizzare e la velocit di comunicazione Qualora venga cambiata la velocit di connessione il programma provveder anche ad inviare il comando di cambio velocit alla scheda Antares e il comando di Reset Questo comando andr a buon fine solo se la velocit del PC e della scheda Antares sono uguali prima del cambio Configurar conexi n NX Puerto Velocidad COMI C 2400 C COM2 19 200 C COM3 C 38 400 C COM4 C 115 200 Canes Figura 2 5 Configurazione porta seriale 15 2 3 Descrizione delle funzioni del programma Ed68k 2 3 4 Compilazione In questo menu si trovano i comandi necessari per compilare programmi in linguag gio Assembler e menu saranno selezionabili solamente se disponibile nell editor il relativo programma Assembler o C Construir Ejecutar Regi Lugar Ensamblar Make As Compilar Make Gcc Cargar Figura 2 6 Menu Construir e Lugar en RAM permette di definire la posizione di memoria nella quale risie der il programma Text e nella quale risiederanno le variabili Data Questi parametri verranno passati al linker e saranno memorizzati nel file mem ini in modo da non doverli digitare nuovamente ad ogni esecuzione del program ma ed68 compito dello studente inserire in questi campi dei valori adatti che rientrino nell area di memoria RAM e che non causino la sovrapposizione
61. ilare il codice editato e segnalare gli errori Questa parte sar approfon dita nella sezione e Inviare alla scheda i file binari compilati e Permettere il debug del software tramite 1 comuni tool di esecuzione pas so a passo watch di variabili e registri breakpoint Questa parte sar approfondita nella sezione e seguenti 11 2 2 Funzionamento del programma Ed68k Presentare un terminale per ricevere e inviare dati al software in esecuzione sulla scheda tramite la connessione seriale Gestire le principali situazioni di errore che si possono verificare o intercettare la pressione del tasto RESET posto sulla scheda Modificare in maniera agile i registri del processore Modificare la memoria della scheda e il contenuto delle variabili Appena avviato il programma Ed68k si presenta come visualizzato nella Figura Copyright DIE UPM Desarrollado para DIE UPM por Luca Necchi Memoria fisica 130548 KB DEPARTAMENTO DEINSGENIERBIA Y i gt A _ Tigre FONICA Ji1l7323170AD Figura 2 1 Schermata iniziale del programma Ed68k 12 2 3 Descrizione delle funzioni del programma Ed68k 2 3 Descrizione delle funzioni del programma Ed68k Descriviamo tutte le funzioni del programma Ed68k analizzando i comandi messi a disposizione nei vari menu 2 3 1 File In questo menu vi sono le funzioni di accesso a
62. io 22 2 3 Descrizione delle funzioni del programma Ed68k ne della relativa variabile o immetterne direttamente l etichetta I parametri mancanti in questo caso saranno riempiti premendo il tasto Busca direccion Modificar posici n de m EJ Posici n Label sivariable Y Direcci n 00031004 Valor 2 Aceptar Cancelar Figura 2 15 Modificare posizione di memoria e Buscar dato permette di cercare un dato in un blocco di memoria specificato Buscar dato en memoria Direcciones 21000 Inicio 20000 Fin Dato E CL Cancelar Figura 2 16 Cerca dato e Copiar bloque permette di copiare un blocco di memoria in un altra posizio ne 23 2 3 Descrizione delle funzioni del programma Ed68k Copiar bloque de memoria 2 Bloque origen 00020000 0002FFFF Bloque destino 00030000 Inicio ite Cancelar Figura 2 17 Copiare blocco di memoria e Rellenar bloque permette di riempire un blocco di memoria con un dato Rellenar bloque de memoria 2 Direcciones Inicio 00020000 Fint 000201 00 ES Palabra de relleno Valor F _ Cancelar Figura 2 18 Riempire blocco di memor
63. io di memoria riservato per il CoLiLo stesso xfer_address indirizzo di memoria al quale si salter non appena ter minato di decomprimere l immagine del sistema operativo per avviarne l esecuzione Nel nostro caso sar 0x20000 size la dimensione del blocco di memoria da copiare Non necessario se il blocco di memoria compresso in quanto questa informazione si trova nello stesso file compresso e Comando m addr presenta il contenuto dei 64 byte seguenti la posizione data dal parametro addr e Comando g xfer_addr comincia a eseguire il codice situato nella posizione di memoria indicata dal parametro xfer_addr e Comando 1 down addr port permette di inviare attraverso una delle due porte UART un immagine alla memoria della scheda Antares La porta uti lizzata indicata dal parametro port mentre la posizione di memoria verso la quale mandare il file viene indicata dal parametro addr e Comando source addr dest addr size copia da una zona di memoria ad un altra e Comando f source addr dest addr size programma la memoria Flash che si trova alla posizione indicata con il contenuto della zona di memoria indicata dal parametro source addr e Comando source addr dest addr size questo comando decom prime un immagine contenuta alla posizione di memoria indicata da sour 58 5 4 boot loader CoLiLo ce ad
64. ire un editor dove sia possibile scrivere codice in C o in Assembler e Compilare il codice editato e segnalare gli errori Questa parte sar approfon dita nella sezione e Inviare alla scheda i file binari compilati e Permettere il debug del software tramite i comuni tool di esecuzione pas so a passo watch di variabili e registri breakpoint Questa parte sar approfondita nella sezione e seguenti e Presentare un terminale per ricevere e inviare dati al software in esecuzione sulla scheda tramite la connessione seriale e Gestire le principali situazioni di errore che si possono verificare o intercettare la pressione del tasto RESET posto sulla scheda 1 2 Funzionamento del programma Ed68k e Modificare in maniera agile i registri del processore e Modificare la memoria della scheda e il contenuto delle variabili Appena avviato il programma Ed68 si presenta come visualizzato nella Figura Desarrollado para DIE LIPM por Luca Necchi Memoria 130548 KB DEPARTAMENTO PEINGERTERTA ET Figura 1 1 Schermata iniziale del programma Ed68k Il programma Ed68k stato scritto principalmente in C con Mi crosoft Visual Studio 6 e fa largo uso delle classi e librerie grafiche pro P prietarie messe disposizione da questo tool Il programma 2 comple tato da alcuni file batch e da una versione del noto com
65. irectory in questione sar possibile utilizzarla esattamente come se si trattasse di una directory locale 5 7 3 Uso di un filesystem JFFS Vedremo ora come sia possibile utilizzare un filesystem JFFS sulla memoria Flash I driver MTD della memoria Flash definiscono delle partizioni sul chip di memoria che vengono mappate tra i device a blocchi del sistema operativo Nella tavola di partizioni presentata nella tabella Tabella vediamo che la partizione 2 quella destinata al filesystem JFFS e che pertanto dovremo utilizzare il dispositivo a blocchi dev mtdblock2 e Creazione del filesystem Per fare ci dovremo utilizzare alcuni programmi rac colti nel pacchetto mtd utils che devono essere stati inclusi nella configura zione del kernel in fase di compilazione e che permettono di realizzare moltepli ci operazioni sulla memoria Flash e sulle sue relative partizioni Per cancellare il contenuto della partizione useremo il comando eraseall che richiede come parametro il nome del dispositivo a blocchi relativo Per creare il filesystem faremo analogamente uso del tool mkfs jffs e Montaggio del filesystem JFFS sar sufficiente utilizzare il seguente comando mount t jffs o nolock dev mtdblock2 flash 5 7 4 Aggiornamento del Grazie ai driver MTD della Flash e alla struttura di partizionamento di tale dispo sitivo sar possibile sostituire l immagine compressa della distribuzione uC
66. itted Data Pin 4 Pin 5 Signal Ground Pin 6 Pins Request To Send Pin 8 Clear To Send Pin 9 Figura A 9 Segnali dell interfaccia RS232 Come gi detto Antares dispone di due interfacce RS 232 che denomineremo Serie 0 o Serie 1 in funzione della porta UART del microcontroller alla quale sono connesse L ubicazione di dette interfacce nella piattaforma Antares pu essere vista nella Figura Figura A 10 Dettaglio delle interfacce RS 232 A 3 4 Entrate uscite digitali La piattaforma Antares dotata di due porte digitali da 8 bit cada una Di queste due solo una bidirezionale e sar d ora in avanti chiamata Porta 1 L altra porta 85 A 3 Interfacce esclusivamente di uscita e sar denominata Porta 0 Nella Figura A 11 possiamo notare la collocazione di queste due porte nella scheda cos come la posizione del bit pi significativo di ciascuna di queste Figura A 11 Dettaglio delle porte di entrata uscita La Porta 0 utilizza una delle linee di chip select la CS2 per abilitare un buffer di uscita che immagazzina il valore presente nel bus dati in un dato momento Que sto sar il valore che verr letto dalla porta quando il sistema operativo effettua l operazione di lettura La porta 1 utilizza invece una delle porte di entrata uscita del MCF5272 Per es sere utilizzata questa porta andr configurata via software in maniera che si adatti
67. ke dalla directory dove si trova il codice sorgente Il processo di compilazio ne produce un immagine del CoLiLo pronta per essere inviata alla memoria Flash di Antares Occorre precisare che quest immagine stata linkata per essere salva ta nella memoria Flash alla posizione 0xFFF00000 che ubicata alla met della prima memoria Flash nella nostra scheda Qualora risulti necessario compilare il CoLiLo affinch lavori in un altra posizione di memoria occorrerebbe modificare il file rom ld A questo punto possibile decidere se compilare il CoLiLo in modalit interattiva o no a seconda che si desideri che venga richiesto l intervento dell utente nella fase di avvio della scheda Antares Nel modo non interattivo infatti il CoLiLo recupera dalla memoria Flash lim magine predefinita di uClinux e ne comincia l esecuzione senza effettuare nessu na richiesta mentre nel modo interattivo verr presentata una linea di comando all utente per permettergli di interagire con il programma La scelta tra queste due modalit di lavoro viene effettuata tramite la varia bile CONFIG_UI passata come parametro al comando make Questa variabile pu assumere i valori 1 o 0 a seconda che si desideri o meno il comportamento interattivo Altra variabile di configurazione importante quella che ci permette di scegliere su quale porta seriale della scheda Antares verr stabilita la connessione Questa la variabile CONS
68. l programma patch Una volta installato Cygwin sul proprio PC potremo utilizzare una console ba sh ben nota a qualsiasi utente Linux e da questa effettuare tutte le operazioni tipiche di una console Linux nonostante il sistema operativo del PC sia Windows Il pacchetto Cygwin permette inoltre di installare molteplici tool grafici come il server XFree e di conseguenza utilizzare applicativi grafici tipici di un sistema Linux Per i nostri scopi non sar necessaria nessuna di queste funzionalit importante notare che il sistema Cygwin funziona grazie ad alcune librerie che sono memorizzate nella sottodirectory BIN nel path dove abbiamo installato Cygwin e che vengono aggiunte alla variabile PATH di sistema solamente durante l esecuzione di Cygwin Aggiungendo questa directory al path di sistema saremo in grado di utiizzare gli applicativi unix offerti da Cygwin anche senza lanciarli dalla console bash Questo risulter molto importante per noi in quanto sar lo stesso programma Ed68k a dover effettuare chiamate al compilatore 16 1 6 Il ABUG Il dBUG un firmware prodotto da Motorola e destinato a molte delle schede dimo strative su cui sono installati i processori Motorola Questo firmware descritto nel capitolo 4l offre un interfaccia testuale che pu es sere usata per scaricare eseguire codice e gestire le funzioni basilari di un ambiente di debug L interfaccia utent
69. linux presente sulla scheda Antares Per fare ci ricorreremo al tool dd Una volta ricompilata la distribuzione di Clinux come indicato nella sezione baster copiare il file binario in una directory condivisa tramite NFS e digitare un comando simile al seguente dd if mnt image bin gz of dev mtdblock1 70 5 7 Lavorando con uClinux Dove mnt image bin gz il file contenente l immagine del sistema compressa tramite gzip Al prossimo riavvio del sistema verr avviata la nuova versione della distribuzio ne uClinux Il procedimento appena descritto pu essere anche usato per aggiornare il programma CoLiLo 71 Conclusioni Le varie componenti software e hardware descritte in questa tesi sono state testa te verificandone l effettivo funzionamento e la corrispondenza con le specifiche di progetto Per poter avviare le esercitazioni di laboratorio su questo nuovo ambiente didat tico si dovr attendere la realizzazione da parte dell LS Laboratorio di Sistemi Integrati di un numero adeguato di schede Antares hardware che si sta dimo strando per le sue prestazioni e la sua versatilit un componente essenziale per la didattica e la ricerca presso il dipartimento di Ingegneria Elettronica dell Universit di Madrid Una linea di sviluppo futura potrebbe richiedere l aggiunta del supporto multilingue al fine di poterlo proporre anche agli studenti del Politecnco di Torino 72 l
70. mma fino all istruzione precedente a quel la dove si trova il cursore La posizione di memoria dell istruzione successiva sar colorata in blu e saranno aggiornati i valori dei registri e delle variabili presentate nella finestra di watch e Paso a paso esegue una singola istruzione La posizione di memoria del l istruzione successiva sar colorata in blu e saranno aggiornati i valori dei registri e delle variabili presentate nella finestra di watch 19 ST 2 3 Descrizione delle funzioni del programma Ed68k 2 3 6 Registri Registros Memoria Actualizar F12 Modificar Ctrl F12 Reiniciar Alt F12 Figura 2 11 Menu Registros e Actualizar aggiorna tutti i valori presentati nella finestra dei registri Questo comando viene automaticamente invocato da tutti i comandi che possono cau sare cambi nel valore delle variabili come ad esempio il comando passo passo in modo da mantenere costantemente aggiornata la lista di valori quando si effettua il debug del codice e Modificar permette di modificare il valore dei registri del processore tramite la finestra visualzzata nella Figura Modificar registro 2 Registro Cas JD1 pb M 4 SH s Ti Is Fil Ez pir Cancelar Walor 00020004 Figura 2 12 Modifica
71. mo le modifiche che stato necessario effettuare per ottenere il funzionamento del dbug sulla scheda Antares 41 4 4 Utilizzo del dBUG Le principali differenze tra la scheda Antares e la scheda dimostrativa Motorola MCF5272C3 sono e memoria Flash la scheda Motorola provvista di un solo chip da 2 MBy tes di Flash del produttore AMD 1 mentre Antares provvista di due chip da 2 MByte ciascuno del produttore Fujitsu 3 stato pertanto necessario modificare il driver della Flash e memoria SDRAM la scheda Motorola dispone di 8 MBytes mentre Antares provvista di 16 Mbytes de memoria SDRAM e ingressi uscite la scheda Antares dotata di un insieme di porte di ingresso e uscita dati quali le due porte da 8 bit digitali o i LED generici Sono state inoltre aggiunte alcune funzioni per adattare il firmware dBUG a pre cise necessit dettate dall uso che sar fatto della scheda Antares all interno del DIE Dipartimento di Ingegneria Elettronica dell Universit di Madrid e UPFLASH Upload della primo chip di memoria emphflash e UPFLASH2 Upload della secondo chip di memoria emphflash e COLILO Avvia l esecuzione del CoLiLo e di conseguenza il uClinux 4 4 Utilizzo del dBUG Lo scopo principale del programma Ed68k descritto nel capitolo 2 quello di of frire all utente un interfaccia comoda interagendo in maniera trasparente con il firmware della scheda Antares ovvero il ABUG Ques
72. muni In un sistema embedded quale la scheda Antares la scelta dei stem determina drasticamente le prestazioni del sistema determinante infatti per un sistema di questo tipo occupare la minima quantit di memoria possibile e permettere la scrittura di dati nelle memorie di tipo non volatile 5 6 1 filesystem RAMFS Si tratta di un filesystem che utilizza come dispositivo di salvataggio dati una par te della memoria RAM Per utilizzare questo filesystem necessario abilitare il supporto per il RAMDISK in fase di compilazione del kernel Su questo tipo di filesystem verranno memorizzati i dati contenuti nella directory tmp 5 6 2 filesystem NFS Con la sigla NFS si indica il Network File System Si tratta di un filesystem remoto che ci permette di montare una cartella di un computer remoto accessibile tramite la scheda ethernet La directory cosi montata verr usata esattamente come se fosse una directory locale Il sistema NFS dovr essere configurato come descritto nella sezione 5 7 2 67 5 7 Lavorando con uClinux 5 6 3 filesystem ROMFS Si tratta di un filesystem di sola lettura molto semplice specifico per dispositivi di memoria non volatile adattissimo all uso su sistemi embedded per il bassissimo spreco di spazio che comporta 5 6 4 filesystem JFFS Si tratta del JFFS Journaling Flash Fil
73. necessari al corretto funzionamento della scheda 1 firmware e il boot loader Il firmware una versione del dBUG un software Motorola che ho adattato all Aardware della nostra piattaforma e che viene ampiamente descritto nel capitolo Il ABUG provvede a configurare l hardware della piattaforma e offre un supporto minimale di comandi per gestire la scheda Antares in assenza del sistema operativo Il boot loader il programma CoLiLo Coldfire Linux Loader distribuito con licenza GNU anch esso adattato all hardware di Antares Il suo compito quello di recuperare dalla memoria Flash un iMmagine compressa del sistema caricarla nella memoria RAM ed avviare l esecuzione del codice appena estratto Quando viene fornita alimentazione alla scheda Antares o dopo aver premuto il pulsante Reset posto sulla scheda stessa il microcontrollore MCF5272 provvede ad avviare il codice contenuto nel primo chip di memoria flash vale a dire alla posizione 0xFFE000005J In questa posizione di memoria risulta installato il firmware dB che provveder ad inizializzare la scheda configurare le linee di chip select la porta di comunicazione seriale e la porta ethernet Verr quindi presentato sul terminale seriale connesso alla prima porta seriale un prompt dei comandi Hard Reset SDRAM Size 16M Copyright 1995 2001 Motorola Inc All Rights Reserved ColdFire MCF5272 EVS Firmware v2e la lc
74. ni A Descrizione della piattaforma Antares anale A 1 1 Caratteristiche del MCF5272 A 2 2 Memoria TTT e ad rrr RE I avi INDICE A 3 4 Entrate uscite digital 3 5 Interfaccia BDM JTAG A 3 6 Bus di espansione A 4 Alimentazione aoaaa B Bibliografia Schemi elettrici di Antares IV 85 87 87 89 91 93 Elenco delle figure 1 1 Schermata iniziale del programma Ed68k 3 2 1 Schermata iniziale del programma Ed68k 12 2 2 susa E a 13 2 3 Menu Edita es e eo a AA he a uan 14 15 2 5 Configurazione porta seriale 15 2 6 Men e 16 PIT 16 18 RAI 19 2 10 Ev nt MESE ss aisa a e e e aa aa Jer ia dd 19 rcp ccr 20 LP 20 PEC NOTI PERE 22 duri 22 23 2 16 arca dalO s w w us k w UR ann 23 dede Sod dod e ad 24 Tr 24 S 25 ELENCO DELLE FIGURE VI rr 25 boda S deos 26 rrr 26 TT 27 2 24 Men VEI uu ow Oe
75. non usa ti 1 segnali del bus SPI le linee delle due UARTS i temporizzatori linee dei modulatori per ampiezza di impulsi PWM 88 A 4 Alimentazione La Figura A 14 mostra l ubicazione dei due connettori di espansione sulla scheda Antares Figura A 14 Dettaglio del bus di espansione A 4 Alimentazione La scheda Antares pu essere alimentata con una qualsiasi sorgente di tensione continua che fornisca un valore di tensione compreso tra 8V e 14V Questa tensione verr trasformata dallo stadio di alimentazione in una tensione continua stabilizzata di 3 3V che il valore di tensio ne alla quale lavora il microcontrollore MCF5272 Per ottenere i sudetti 3 3V stato progettato uno stabilizzatore di tensione commutatd molto efficiente e molto pi adatto di un normale stabilizzatore lineare soprattutto se si tiene in conto che la scheda Antares mirata alla realizzazione di sistemi embed ded che devono essere per definizione molto parsimoniosi in termini di consumo di corrente Gli stabilizzatori di tensione commutati possono raggiungere efficienze dell85 e possono lavorare con un rango di tensioni d ingresso molto pi amplio 89 A 4 Alimentazione Figura A 15 Dettaglio dello stadio di alimentazione 90 Li Bibliografia Bibliografia 1 AMD AMD Semiconductor Data Sheet 2 Bernardo Cascales Salinas Pascu
76. ntrambi T distribuiti sotto licenza GPL il che vuol dire che il codice ivi contenu to pu essere liberamente distribuito utilizzato e modificato a patto di ridistribuire nuovamente il codice sotto licenza GPL Una licenza di questo tipo rende possibile eseguire detto codice su qualsiasi ar chitettura di sistema e qualsiasi sistema operativo in quanto la presenza del codi ce sorgente permette di adattare totalmente il programma alle nostre esigenze Le Laboratorio de Sistemas Electr nicos Digitales 1 5 L ambiente CYGWIN operazioni da svolgere nel nostro caso specifico per adattare il compilatore sono le seguenti e modificare tramite l uso di alcune patch il codice sorgente del compilatore affinch supporti l architettura ColdFire e compilare tale codice per un ambiente Windows 15 L ambiente CYGWIN Cygwin un ambiente di lavoro Unix che si installa su PC con sistema operativo Windows E possibile reperire questo software all indirizzo in ternet 11 La procedura di installazione di Cygwin molto semplice Sar sufficiente scaricare dalla rete il programma di setup e grazie ad un interfaccia grafica selezionare i pacchetti desiderati Il setup stesso provveder in seguito a scaricare dal mirror selezionato i soli pacchetti scelti Per le nostre esigenze sar necessario aggiungere alla configurazione di default i pacchetti devel dove vi sono il compilatore l assemblatore e i
77. o adattati La API del sistema operativo la stessa di un sistema Linux convenzio nale quindi adattare applicazioni Linux al sistema uClinux un passo praticamente immediato La distribuzione di inoltre gi predisposta per girare sui pro cessori Motorola MCF5272 fatto che riduce ancora il numero di modifiche al codice sorgente che stato necessario effetuare La programmazione per questo sistema operativo realizzata tipicamente in lin guaggio C o C anche se esistono implementazioni di macchine virtuali che per mettono lo sviluppo di applicazioni scritte in Java Queste ultime risultano per pi lApplication Programming Interface In questo caso ci riferiamo all insieme di chiamate al sistema operativo attraverso le quali si accede ai servizi offerti dallo stesso 48 5 2 Architettura software del uClinux lente delle analoghe scritte in C e non verranno prese in considerazione in questa tesi Tuttavia anche questo sistema operativo presenta i suoi inconvenienti La sua principale carenza identificabile nella gestione di applicazioni grafiche e di inter facce utente grafiche dal momento che il loro sviluppo pu risultare pi complesso se comparato con altri sistemi operativi come ad esempio Windows CE Data la finalit del sistema Antares questo inconveniente tollerabile soprattutto se proporzionato ai molteplici vantaggi offerti Tutte le informazioni sulla
78. o di cross compiler si intende tutta una serie di strumenti necessari per la compilazione di codice vale a dire il cross compiler il cross assembler il cross debugger il cross linker 52 5 4 boot loader CoLiLo m68k elf gasp m68k elf as sono il preprocessore e l assemblatore per processori della famiglia Coldfire e m68k elf gcc m68k elf c m68k elf g si tratta del cross compiler per i linguaggi C e e m68k elf ld si tratta del linker incaricato di generare i file eseguibili a partire dai file oggetto prodotti dal compilatore e m68k elf ar m68k elf ranlib queste utility permettono la creazione e la gestione di librerie a partire da vari file oggetto e m68k elf objcopy m68k elf readelf m68k elf size m68k elf objdump tramite l uso di queste utility possiamo ottenere informazioni e manipolare i file oggetto m68k elf nm m68k elf strip permettono di vedere e di eliminare la tabella dei simboli presente nei file oggetto e m68k elf elf2flt trasforma un file di tipo elf in un file di tipo flat che sono quelli che verranno utilizzati nel nostro sistema e genromfs questa utility permette di creare il sistema di cartelle con gli applicativi che sono correlati al kernel di uClinux 5 4 Il boot loader CoLiLo In questa sezione analizzeremo in dettaglio il boot loader Come gi accennato tra le funzioni di questo software vi quella
79. ocedimento di installazione delle utility sopra citate Innanzitut to necessario un PC su cui sia gi stata precedentemente installata e configura ta una distribuzione del sistema operativo Linux Nel mio caso stata usata una distribuzione Debian Per facilitare la fase di installazione del cross compiler si allega a questa tesi un CD ROM nel quale vi sono i file binari precompilati per un architettura generica Intel x86 Il primo passo sar quello di scompattare il file m68k elf tools 20020410 tar gz in una directory provvisoria per riottene re la struttura di file e directory appropriata Per installare il compilatore system wide ovvero in maniera che sia utilizzabile da tutti gli utenti della macchina sar necessario possedere i diritti di amministratore del PC in questione vale a dire co noscere la password dell utente root A questo punto dovremo copiare la struttura di cartelle precedentemente ottenuta nella diretory radice del nostro sistema Eseguita questa operazione dovremo verificare che la variabile di sistema PATH contenga la directory usr local bin in modo che il sistema possa raggiungere i file binari appena installati Di seguito riporto un elenco delle utility contenute nel pacchetto appena installato e m68k bdm elf gdb si tratta del cross debugger che ci permette di depurare i programmi scritti per un architettura Coldfire usando una macchina Intel x86 4Con il termine generic
80. ompilazione del kernel 5 generazione di un immagine binaria del kernel 6 compilazione delle applicazioni 7 creazione di un file system contenente le applicazioni 63 W E T 5 5 sistema operativo 8 generazione di un immagine binaria che include il kernel e le applicazioni 9 copia dell immagine binaria della distribuzione completa ad una directory condivisa tramite un server TFTP in modo da poterla inviare alla scheda Antares Per poter compilare il sistema dovremo aver installato sul nostro pc le utility viste nella sezione 5 3 1 cosi come l utility make Per avviare il processo di configurazione e compilazione dovremo usare una del le seguenti stringhe di comando a seconda del sistema che desideriamo usare testuale testuale con ausilio di men o grafico necessita di un ambiente grafico X make config make menuconfig make xconfig Nel nostro caso abbiamo utilizzato la seconda opzione che permette di usa re un ambiente amichevole grazie all utilizzo delle librerie ncurses senza dover scomodare un interfaccia grafica Le scelte pi importanti per la configurazione del sistema sono la scelta della piattaforma per la quale stiamo compilando ovvero Antares sviluppata dall LSI la versione del kernel ovvero la 2 4 x e la versione della libreria C nel nostro caso la uClibc Sar poi necessario selezionare e Customize Kernel Setting e Cus
81. on Micro soft Visual Studio 6 e fa largo uso delle classi e librerie grafiche pro lt gt prietarie messe a disposizione da questo tool Il programma comple tato da alcuni file batch e da una versione del noto compilatore della GNU modificata per produrre file binari adatti a lavorare sulla scheda Antares 3 1 La scelta del compilatore Per poter eseguire programmi sulla piattaforma Antares occorre che questi siano stati compilati usando un compilatore specifico In particolare il compilatore deve presentare le seguenti caratteristiche e deve produrre file binari per un processore MCF5272 della famiglia Motorola Coldfire processore che stato ampiamente descritto nella sezione A 1 e deve funzionare in un ambiente Windows in quanto il programma ed68k lavora in tale ambiente e deve essere utilizzabile tramite linea di comando e deve essere gratuito o molto economico in quanto una copia di tale compi 35 3 2 compilatore della GNU latore deve essere installata su ogni computer del laboratorio dove verranno impartite le esercitazioni del corso 15 Analizzati tali requisiti stato scelto di utilizzare il noto compilatore della GNU Nel seguito viene descritto questo compilatore e viene spiegato come poterlo instal lare in un ambiente Windows Nel seguito indicheremo questo compilatore con il nome gcc m68k non confonderlo con il compilatore di sistema 3 2 Il compilatore della
82. operativo maggioranza dei microcontrollori orientati a sistemi embedded Questa particolari t ha reso molto difficile il procedimento di adattare il kernel di Linux a questo tipo di microcontrollori in quanto compiti molto semplici in presenza di microprocesso ri MMU come ad esempio la protezione delle zone di memoria di ciascun processo diventano invece compiti complessi con microcontrollori non dotati di MMU Il primo microcontrollore sul quale stato eseguito un uClinux il Motorola MC68328 Oggigiorno esistono port di questo sistema per un gran numero di microprocessori tra i quali vi si trovano anche i microcontrollori della famiglia Coldfire Vediamo brevemente com organizzata la distribuzione e le modifiche che si sono rese necessarie sulla distribuzione originale per adattarla al nuovo hardware 5 5 1 Struttura della distribuzione La distribuzione uClinux formata da 3 blocchi di software principali e il kernel in questa distribuzione sono inclusi i port del kernel di Linux della versione 2 2 x e della 2 4 x Verr usata la versione pi recente e la biblioteca standard C libc si trata di due implementazioni della bibliote ca standard del C per microcontroller la uC libc e la uClibc la differenza tra queste due pur essendo minima dovuta al fatto che la uC libc sebbene sia completa non segue rigorosamente lo standard per facilitare la migrazione di ap
83. permette di personalizzare completamente il sistema in modo che si adatti esattamente alle nostre necessit A quanto detto bisogna aggiungere che il kernel di Linux offre al nostro sistema i notevoli vantaggi tipici di un qualsiasi computer dotato di Linux ovvero si tratta di un sistema operativo multitasking e dotato di un architettura modulare che permette di configurare il kernel con le sole opzioni necessarie riducendo lo spazio occupato e offre il supporto di molteplici protocolli di rete TCP IP PPP SLIP etc e offre il supporto di molteplici fyle system NFS Ext2 FAT32 16 etc e robusto e affidabile e la disponibilit del codice sorgente permette di adattarsi alle necessit concrete di qualsiasi applicazione e gratuito dovuto al fatto che gran parte del software distribuito sotto licenza GPL e permette la creazione di driver per supportare nuovo hardware Questo punto facilitato ulteriormente dall esistenza di un gran numero di driver source che possono essere pertanto adattati La del sistema operativo la stessa di un sistema Linux convenzio nale quindi adattare applicazioni Linux al sistema uClinux un passo praticamente immediato La distribuzione di inoltre gi predisposta per girare sui pro cessori Motorola MCF5272 fatto che riduce ancora il numero di modifiche al codice sorgente che stato necessario effetuar
84. pilatore della GNU modificata per produrre file binari adatti a lavorare sulla scheda Antares 1 3 scelta del compilatore 1 3 La scelta del compilatore Per poter eseguire programmi sulla piattaforma Antares occorre che questi siano stati compilati usando un compilatore specifico In particolare il compilatore deve presentare le seguenti caratteristiche e deve produrre file binari per un processore MCF5272 della famiglia Motorola Coldfire processore che stato ampiamente descritto nella sezione A 1 e deve funzionare in un ambiente Windows in quanto il programma ed68k lavo ra in tale ambiente e deve essere utilizzabile tramite linea di comando e deve essere gratuito o molto economico in quanto una copia di tale compi latore deve essere installata su ogni computer del laboratorio dove verranno impartite le esercitazioni del corso LSED Analizzati tali requisiti stato scelto di utilizzare il noto compilatore della GNU Nel seguito viene descritto questo compilatore e viene spiegato come poterlo instal lare in un ambiente Windows Nel seguito indicheremo questo compilatore con il nome gcc m68k per non confonderlo con il compilatore di sistema 1 4 Il compilatore della GNU In una qualsiasi distribuzione di Linux possibile trovare il compila m tore GCC ovvero il Gnu C Compiler l assemblatore AS il linker LD AS Questi programmi fanno parte dei due pacchetti gcc e binutils e
85. plicazioni specifiche per microcontrollori embedded Di conseguenza racco mandabile l uso della biblioteca uClibc pi standard e completa a meno che qualche applicazione non richieda specificamente la scelta della uC libc e le applicazioni nella distribuzione uClinux sono incluse molteplici applicazio ni sia di sistema come ad esempio l interprete dei comandi sia applicazioni per l utente server Web Una volta effettuato il processo di compilazione della distribuzione viene gene rato un file binario unico contenente il kernel e il system tipico di un qual siasi sistema Linux dove si possono trovare le applicazioni le librerie ed i file di configurazione del sistema 61 W E T 5 5 sistema operativo 5 5 2 Modifiche alla distribuzione In questa sezione analizzeremo le modifiche che stato necessario effettuare per ottenere il funzionamento di sulla piattaforma Antares Come gi specificato nell appendice Antares basata sulla scheda di svilup po Motorola 5272 3 pertanto le modifiche sono state effettuate prendendo come punto di partenza il codice specifico per M5272C3 Le principali differenze tra queste due schede sono e memoria Flash la scheda Motorola provvista di un solo chip da 2 MBy tes di Flash del produttore AMD 1 mentre Antares provvista di due chip da 2 MByte ciascuno del produttore Fujitsu 3 stato pertanto necessario
86. possiamo vedere in dettaglio i due moduli di memoria installati nella scheda Antares Figura A 4 Dettaglio della memoria SDRAM A 2 2 Memoria Flash Per il salvataggio di dati in maniera non volatile Antares utilizza memoria di tipo Flash La scheda stata progettata per essere dotata di una quantit di 2 o 4 Mbytes di memoria Flash Questa decisione deriva dal fatto che schede per applicazioni che non richiedano una grande quantit di spazio per immagazzinare i file binari che verranno eseguiti possano essere fabbricate con solo uno dei due chip di memoria 80 ST A 3 Interfacce Flash da 2 Mbytes riducendo cos il costo del sistema Per rendere ci possibile si utilizzano due linee distinte di chip select per selezionare il relativo modulo di memoria Flash Le linee che si utilizzano a questo scopo sono CSO e CSI Dei due moduli di memoria risulta obbligatorio installare quello connesso al CSO in quanto il processore MCF5272 attiva detta linea nella fase di inizializzazione ottenendo dal dispositivo di memoria connesso a questa linea il puntatore di stack e la direzione della prima istruzione che deve essere eseguita Risulta perci chiaro che il codice che viene eseguito nella fase di inizializzazione del sistema deve essere immagazzinato nel dispositivo di memoria connesso con la linea 50 D ora in avanti ci riferiremo ai due moduli di memoria indicando semplicemente Flash0 o Flash1 sot
87. s e binutils 2 10 coldfire fixes diff e binutils 2 10 coldfire cpushl diff Patch per il pacchetto gee e gcc 2 95 3 coldfire epilogue fix diff e gcc 2 95 3 coldfire hwdiv diff e gcc 2 95 3 coldfire longmul diff e gcc 2 95 3 interrupt attribute 20010127 diff 37 3 5 Compilazione e gcc 2 95 3 coldfire version message diff e gcc 2 95 3 coldfire alignment diff Patch per il pacchetto newlib e newlib 1 9 0 coldfire 20010318 diff come sommariamente indicato dal nome di ogni file queste patch modificano alcuni dettagli del codice sorgente del compilatore adattandolo alle nostre esigenze 3 5 Compilazione Il programma Ed68k come fornito nel CDROM allegato dispone di una versione di questo compilatore che stato configurato su un computer dotato di processore Athlon Trattandosi di file binari ottimizzati per questa precisa architettura risulte r necessario rieffettuarne la compilazione qualora il programma venga installato su un computer con architettura differente 3 5 1 Installazione del compilatore gcc m68k Per fare ci avviamo una console Cygwin K Usando il pacchetto gcc m68k source r7 20010415 gnu source che si trova nel CDROM allegato e liberamnte scaricabile all indirizzo internet 16 sar possibile automatizzare il processo di compilazione effettuando in una volta sola tutti i passi necessari Sar necessario posizionarsi nella cartella contenente il fi le gcc
88. setup stesso provveder in seguito a scaricare dal mirror selezionato i soli pacchetti scelti Per le nostre esigenze sar necessario aggiungere alla configurazione di default i pacchetti devel dove vi sono il compilatore l assemblatore e il programma patch Una volta installato Cygwin sul proprio PC potremo utilizzare una console ba sh ben nota a qualsiasi utente Linux e da questa effettuare tutte le operazioni tipiche di una console Linux nonostante il sistema operativo del PC sia Windows pacchetto Cygwin permette inoltre di installare molteplici tool grafici come il server XFree e di conseguenza utilizzare applicativi grafici tipici di un sistema Linux Per i nostri scopi non sar necessaria nessuna di queste funzionalit importante notare che il sistema Cygwin funziona grazie ad alcune librerie che sono memorizzate nella sottodirectory BIN nel path dove abbiamo installato Cygwin e che vengono aggiunte alla variabile di sistema solamente durante l esecuzione di Cygwin Aggiungendo questa directory al path di sistema saremo in grado di utiizzare gli applicativi unix offerti da Cygwin anche senza lanciarli dalla console bash Questo risulter molto importante per noi in quanto sar lo stesso programma Ed68k a dover effettuare chiamate al compilatore 3 4 Le modifiche al compilatore gcc m68k Vediamo ora quali sono le patch che stato necessario usare Patch per il pacchetto binutil
89. sto laboratorio stato effettuato con l ausilio di una scheda didattica basata sul processore Motorola MC68000 Problema La rapida evoluzione dei sistemi basati su microprocessori digitali e le sempre mag giori prestazioni richieste a questo tipo di dispositivi hanno dettato la necessit di aggiornare l hardware di cui erano dotate le postazioni di laboratorio e in particolar modo il sistema di elaborazione dati utilizzato Soluzione proposta E stato pertanto deciso di utilizzare come componente centrale per lo svolgimento di questo laboratorio la scheda denominata Antares recentemente creata dai ricercato ri e dai tesisti della sezione LSP laboratorio di Sistemi Integrati del dipartimento di Ingegneria Elettronica dell Universit di Madrid La scheda Antares basata sul microcontrollore Motorola Coldfire MCF5272 caratterizzato da eccellenti prestazioni e orientato ai sistemi embedded Lavoro svolto Nel corso di questa tesi e stato realizzato un sistema completo di sviluppo software per la nuova piattaforma Antares In particolare mi soffermer a descrivere e Il programma Ed68k Questo programma stato pensato per offrire all utente un interfaccia di lavoro grafica ed amichevole con la quale poter sviluppare software e poter interagire agilmente con la scheda Antares Il compilatore e l assemblatore stato necessario dotare il sistema di sviluppo software di strumenti di compilazione capaci di pro
90. t ultimo infatti offre un gran numero di comandi dedicati alla gestione della scheda e al debug dei programmi caricati in memoria Ecco la lista dei comandi accettati dal ABUG e BF Block Fill permette di riempire un blocco di memoria con un dato e BM Block Move permette di spostare un blocco di memoria e BS Block Search permette di cercare un dato in un blocco di memoria 42 4 4 Utilizzo del dBUG e BR Breakpoints permette di inserire e rimuovere breakpoint e COLILO avvia il coldfire Linux Loader che provveder all esecuzione del pClinux e DATA Data Conversion permette di effettuare la conversione tra numeri esadecimali decimali e binari e DI Disassemble permette di disassemblare in maniera semplice parti di codice contenute in memoria e DL Download Console permette alla scheda di ricevere un file tramite la connessione seriale e DN Download Network permette alla scheda di ricevere un file tramite la connessione ethernet e GO Execute esegue un programma caricato in memoria e GT Execute To esegue un programma arrestandolo alla posizione di memoria specificata e HELP Help visualizza una schermata di aiuto e MMAP Display a memory map Visualizza la mappa completa della me moria e la configurazione delle linee di chip select Tale mappa visibile nella Figura 2 20 43 4 4 Utilizzo del dBUG y luca HyperT erminal
91. te traguardo Ringrazio tutte le persone della mia famiglia in particolare i nonni gli zii ed i miei fratelli Ringrazio tutti i professori e le persone con cui ho collaborato presso l Universit di Madrid nel corso della realizzazione di questa tesi per essere stati dei cari amici oltre che degli ottimi insegnanti e colleghi di lavoro Ringrazio Marco e tutti gli amici e le amiche che mi sono sempre stati vicini Ringrazio Elena Indice 1 RARE RR 1 1 2 Funzionamento del programma Ed68k 2 E 4 DI 4 PTT 5 A A 4 6 z 6 asss 8 2 Il programma Ed68k 10 deaur X urs 10 2 2 Funzionamento del programma Ed68k 11 2 8 Descrizione delle funzioni del programma 68 13 ZO VE 2394 13 rr 14 2 3 3 CONNESSIONE s eo 9 RU n en 15 r X 16 SARE SA 19 20 INDICE 3 e 2 3 8 Breakpoint su 2 3 11 Help 2 4 Programmare in Struttura del programma Ed68k 31 La scelta del 3 2 compilatore della GNU 3 3 DLambiente CYGWINI 44 47x iaa ea 3 4 Le modifiche al compilatore gec m68k 3 5 Compilazione 3 5 1 Installazione del compilatore gec m68k onnan a
92. tendo variare i coefficienti di una funzione di trasferimento assegna ta Per fare ci sar necessario connettere alle porte di ingresso uscita dei converti tori analogico digitale e digitale analogico che saranno pilotati dalla stessa scheda Antares tramite appositi segnali L esercitazione potr poi essere arricchita aggiungendo componenti e funzionalit al sistema Ecco alcune delle estensioni possibli e Visualizzare dati relativi al processamento in esecuzione su di un display LCD a 7 segmenti 1 2 Funzionamento del programma Ed68k e Effettuare il controllo remoto del programma con un comando ad infrarossi a radiofrequenza e Effettuare il controllo remoto del programma con l ausilio di una calcolatrice HP48 HP49 di un calcolatore palmare o di un portatile e Aggiungere funzionalit di riconoscimento vocale e Aggiungere funzionalit di sintesi vocale e Implementare un semplice frequenzimetro digitale e Implementare un semplice generatore di funzioni programmabile 1 2 Funzionamento del programma Ed68k Il programma Ed68k svolge pertanto il ruolo di interfaccia utente permettendo di effettuare tutte le operazioni richieste senza dover conoscere esattamente l hard ware e le funzionalit della scheda Antares e senza doversi preoccupare della com plicata sintassi necessaria per pilotare il compilatore e il firmware Ecco i compiti principali del programma Ed68k e Forn
93. tintendendo la linea di chip select alla quale sono connessi Entrambi i moduli di memoria sono assolutamente identici Il modello di memoria utilizzato il MBM29LV160BE del produttore Fujitsu 3 Questa famiglia di dispositivi caratterizzata da tempi di accesso di 70ns 90ns a seconda del modello selezionato Quelli installati in Antares hanno un tempo di ac cesso di emph90ns Nel nostro sistema la memoria Flash configurata per utilizzare i 16 bits del bus di dati Per maggiori dettagli su come stata realizzata la connes sione tra i moduli di memoria Flash e il microcontrollore MCF5272 si consultino gli schemi elettrici di Antares riportati in appendice Nella Figura A 5 possiamo vedere in dettaglio la zona della scheda Antares nella quale si trovano situati i dispositivi di memoria Flash Figura A 5 Dettaglio della memoria Flash A 3 Interfacce Con la denominazione di interfacce della scheda Antares indichiamo tutte le parti della scheda stessa che le permettono la comunicazio ne con ci a cui sar connessa Antares utilizza queste interfacce di 81 A 3 Interfacce comunicazione tanto con l utente quanto con i dispositivi che deve controllare In un sistema embedded nel quale le comunicazioni giocano un ruolo fondamen tale la disponibilit di molteplici interfacce di comunicazione un fattore determi nante Segue una descrizione dettagliata di tutte le interfacce
94. tomize Vendor User Settings per poter in seguito accedere ai relativi menu di configurazione Tutte queste opzioni sono illustrate nel men di configurazione della scheda riportato in figura Figura 64 5 5 sistema operativo uClinux Customize Yendor User Settings w w w w w ow w E f 5 E E Figura 5 3 Schermata di configurazione del uclinux A questo punto procedendo possiamo personalizzare la configurazione del kernel e delle applicazioni Tra le varie cose che si possono configurare troviamo la scelta del modello di microprocessore ovvero il MCF5272 il tipo di interfaccia Ethernet il driver del mo dulo QSPI i driver della memoria Flash il supporto per vari filesystem tra cui NFS JFFS etc Nella Figura 5 4 possiamo vedere la schermata principale della configurazione del kernel di uClinux 65 5 5 sistema operativo uClinux maturity level options W w W w Wow Wow wow w w o w w w Figura 5 4 Schermata di configurazione del kernel di uClinux Una volta terminata la configurazione del kernel passeremo a selezionare e con figurare le applicazioni che saranno incluse nella distribuzione Tra queste a titolo di esempio troviamo l interprete dei comandi e programmi di sistema come o mount Tra i vari tool vi
95. ulo modulatore PWM necessario collegare ai modulatori alcuni LED per verificare che si illuminino con varie intensit verifica dellel linee di interrupt esterne necessario connettere dei pulsanti alle linee di interrupt e verificare che il sistema riceva tale segnale 59 Y E T 5 5 sistema operativo 5 4 3 Descrizione tecnica La configurazione della mappa di memoria della scheda Antares illustrata nella Figura 0x00000000 MEMORIA SDRAM 0x01000000 0x10000000 M DULOS MCF5272 0x10000400 0x20000000 SRAM MCF5272 0x20001000 0x30000000 0x30000001 MEMORIA FLASH 1 0xFFE00000 MEMORIA FLASH 0 Figura 5 1 Mappa di memoria Antares Come gi stato spiegato nella sezione 5 4 1 il CoLiLo recupera un immagine dalla memoria FlasA0 ovvero dalla poszione 0xFFE10000 e dopo averla scompat tata la carica in RAM nella posizione 0x20000 Una volta caricata ne comincia l esecuzione dalla medesima posizione 0x20000 5 5 Il sistema operativo La distribuzione nata per colmare la mancanza del sistema operativo Linux nel mercato dei sistemi embedded Questa assenza era giustificata dal fatto che Linux un sistema operativo avanzato che fa uso dei molteplici vantaggi offer ti dalla unit di gestione della memoria tipicamente assente nella gran 60 Y T 5 5 sistema
96. ure CISC Complex Instruction Set Computer offrono un maggior numero di istruzioni che richedono in generale pi di un ciclo di clock per la loro esecuzione 75 U Y A 1 Microprocessore A titolo di esempio il modello MCF5272 orientato ad applicazioni di comunica zione come router gateway mentre il modello MCF5249 diretto ad applicazioni che richiedano trattamento di segnali e richiedano l accesso a dispositivi di salva taggio dati come ad esempio un riproduttore MP3 importante notare che a pre scindere da finalit tanto differenti entrambe i modelli possiedono la medesima versione del nucleo Coldfire e sono quindi architetturalmente molto simili Nella Fi gura A 2 sono elencati i differenti modelli di Coldfire con le relative caratteristiche tecniche peculiari Product Dhrys2 1 Processor Processor Serial DRAM Operating Operating Packaging Additional MIPS Cache SRAM Interface Controller Voltage Frequency Information max MHz bytes bytes UART MHz MCF5206 v2 7 5121 512 2UARTS 2 8 8 n a FPM EDO n a 5 16 25 33 t 160 pin A n a XCF52068 2 50 AKI 8K 2UARTs 2 8 8 2 CH FPM EDO n a 33 40 54 160 pin Enhanced pin compatible version of 5206 with HW divide BDM C 5V tolerant 1 0 MCF5249 v2 125 8KI 96 2 UART 2 Afup to 47 4 CH SDRAM na 1 8 3 3 140 t 160 ball HWdivide BDM Pc 05 MAPBGA 12 bit ADC CDROM block CD text Hard Disk Drive Memory
97. usando un ambiente Windows o Kermit se invece lavoriamo in un ambiente Linux Una volta avviato 1 CoLiLo otterremo una schermata simile alla seguente Antares v1 2 boot 1 Arrancar imagen de usuario Por defecto 2 Arrancar backup de uClinux i Entrar en modo interactivo Arrancando en 3 segundos CoLiLo Antares gt 56 5 4 boot loader CoLiLo Ci viene presentata in lingua spagnola la possibilit di avviare una delle due immagini del sistema operativo salvate in memoria Flash tasti 1 e 2 oppure di ottenere un interprete dei comandi in modo interattivo tasto 1 La prima opzione sar presa di default una volta trascorsi 5 secondi Se una volta entrati nel modo interattivo digitiamo il carattere otterremo una breve tabella che illustra i differenti comandi e i relativi parametri che si possono dare al CoLiLo oLiLo Antares gt Cold Comandos mediante port fire Linux Loader arranca la imagen por defecto addr volcado de memoria desde addr xfer_addr ejecutar desde xfer_addr down_addr port cargar imagen a la direccion down_addr source_addr dest_addr size copia una zona de memoria source_addr dest_addr size copia una zona de memoria en flash source_addr dest_addr size descomprime una imagen down_addr dest_addr xfer_addr port secuencia 1 d g Source addr dest addr xfer addr secuencia d g source addr final
98. utile per eseguire le parti di codice pi critiche per quanto riguarda il tempo di esecuzione calcoli in tempo reale elaborazione audio etc modulo di debug il controller offre un modulo che permette di effettua re il debug del codice attraverso l interfaccia JTAG BDM fatto che facilita notevolmente il lavoro di sviluppo software per questo tipo di microcontrollore controller ethernet 10 100 il microcontrollore include un controller ethernet 10 100 che permette la conessione del sistema a reti locali Controller USB 1 1 slave Controller USB 1 1 Questo blocco implementa lo standard USB 1 1 e permette al controller di connettersi con altri dispositivi sempre che ve ne sia uno che agisca da master host modulo QSPI questo modulo permette di controllare fino a 16 dispositivi con interfaccia SPI potendo agire da master mentre non pu agire da slave il modulo non pu essere controllato dall esterno attraverso SPI controller SDRAM grazie al controller SDRAM integrato possiamo dotare il nostro sistema di memoria SDRAM che risulta molto pi economica della pi classica SRAM tre uscite PWM il controller possiede tre modulatori per ampiezza di impulsi configurabili in maniera indipendente quattro porte le quattro porte di multiplex per divisione nel tempo permettono di collegare questo microcontrollore ad interfacce RDSI 78 A 2 Memoria due UARTs il MCF5272 offre due interf
99. utine di start e le routine di gestione degli interrupt e verr restitui to un file in formato s record con estensione h68 pronto per essere caricato tramite la connessione seriale nella memoria della scheda Antares e Cargar per inviare un file tramite la connessione seriale alla memoria della scheda Antares Verr chiesto quale file caricare verr aperta la finestra di debug con il listato del programma verr evidenziata la prima linea esegui bile del programma entry point verranno impostati i registri SR Il programma risulter pronto per essere eseguito Program Counter 3Status Register 17 2 3 Descrizione delle funzioni del programma Ed68k Archivo Editar Conexi n Construir Ejecutar Registros Memoria P Ruptura Ver Ventana Ayuda Watch n s m s 4 58 PC 00020000 SR SOxnzve y US C NGCCXSES1 ELF FILE FORMAT ELF32 M68K DISASSEMBLY OF SECTION 0 00000000 00020000 START MOVEAL 196608 SP 1 00000000 00020006 JSR 000200FE lt INIT 0002000 BUCLE JSR 0002012 lt BUCLEMAIN gt 5506085056 00020012 BRAS 0002000C BUCLE 00020014 RTS D4 00000000 00020016 RTS D5 00000000 SISTEMA MSDOS SBC68K D6 00000000 D7 00000000 LONG MYSTRLEN CHAR ST a 21 00000000 00020018 lt MYSTRLEN gt LINKW 8 00000000 00020010 dec CLRL XFPG 4 2 00020020 MOVEL FP
Download Pdf Manuals
Related Search
Related Contents
1 - Lojas Colombo V2401/2402-CE User`s Manual - Express Systems & Peripherals 日本語取扱説明書(PDF:543KB) Aga Ranges Fired Earth User's Manual Copyright © All rights reserved.
Failed to retrieve file