Installazione e configurazione RT DRUID -PROBLEMI-

Forum relativo alle schede FLEX, ERIKA Enterprise, RT-Druid, ScicosLab, ...

Moderator: paolo.gai

Locked
Bezul

Installazione e configurazione RT DRUID -PROBLEMI-

Post by Bezul »

Salve a tutti sono uno studente universitario e mi sto avvicinando per la prima volta a questo mondo, sto incontrando delle difficoltà nell'installare ed utilizzare l'ambiente RT Druid anche avendo seguito questa guida:

http://erika.tuxfamily.org/wiki/index.p ... pplication

per impostare tutto l'ambiente su Windows Vista.
Quello che mi succede e che Ecpilse non riesce a compilare i progetti d'esempio ho provato con 2 progetti Task Demo sotto OOExamples e Simple Periodic Task sotto Flex.
Utilizzo una Flex Full e la versione di Erika è l'ultima la 1.6.1.
Posto i log della console, come si nota non riesce a trovare le funzioni _FOSC e _FOSCSEL tipiche del microcontrollore

Log di Task Demo:

Code: Select all

**** Build of configuration Default for project pov ****

C:\Users\WISTA\flexworkspace\pov\Debug\make_launcher.bat all 
C:\cygwin\bin\bash found!
cygwin warning:
  MS-DOS style path detected: C:\Users\WISTA\flexworkspace\pov\Debug
  Preferred POSIX equivalent is: /cygdrive/c/Users/WISTA/flexworkspace/pov/Debug
  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
Using erika files in /cygdrive/c/Users/WISTA/Desktop/EE_RT-~1.1-I/eclipse/plugins/COB887~1.201/ee_files
CPP   ee_flex_demoboard.c
In file included from C:\Users\WISTA\Desktop\EE_RT-~1.1-I\eclipse\plugins\COB887~1.201\ee_files\pkg\board\ee_flex\src\ee_flex_demoboard.c:256:
C:/Users/WISTA/Desktop/EE_RT-~1.1-I/eclipse/plugins/COB887~1.201/ee_files/pkg/mcu/microchip_dspic/inc/ee_utils.h: In function 'EE_read_foscsel':
C:/Users/WISTA/Desktop/EE_RT-~1.1-I/eclipse/plugins/COB887~1.201/ee_files/pkg/mcu/microchip_dspic/inc/ee_utils.h:138: error: '_FOSCSEL' undeclared (first use in this function)
C:/Users/WISTA/Desktop/EE_RT-~1.1-I/eclipse/plugins/COB887~1.201/ee_files/pkg/mcu/microchip_dspic/inc/ee_utils.h:138: error: (Each undeclared identifier is reported only once
C:/Users/WISTA/Desktop/EE_RT-~1.1-I/eclipse/plugins/COB887~1.201/ee_files/pkg/mcu/microchip_dspic/inc/ee_utils.h:138: error: for each function it appears in.)
C:/Users/WISTA/Desktop/EE_RT-~1.1-I/eclipse/plugins/COB887~1.201/ee_files/pkg/mcu/microchip_dspic/inc/ee_utils.h: In function 'EE_read_fosc':
C:/Users/WISTA/Desktop/EE_RT-~1.1-I/eclipse/plugins/COB887~1.201/ee_files/pkg/mcu/microchip_dspic/inc/ee_utils.h:154: error: '_FOSC' undeclared (first use in this function)
make: *** [obj/pkg/board/ee_flex/src/ee_flex_demoboard.o] Error 1

**** Build Finished ****
Log di Simple Periodic Task:

Code: Select all

**** Build of configuration Default for project lol ****

C:\Users\WISTA\flexworkspace\lol\Debug\make_launcher.bat all 
C:\cygwin\bin\bash found!
cygwin warning:
  MS-DOS style path detected: C:\Users\WISTA\flexworkspace\lol\Debug
  Preferred POSIX equivalent is: /cygdrive/c/Users/WISTA/flexworkspace/lol/Debug
  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
Using erika files in /cygdrive/c/Users/WISTA/Desktop/EE_RT-~1.1-I/eclipse/plugins/COB887~1.201/ee_files
CPP   ee_utils.c
In file included from C:\Users\WISTA\Desktop\EE_RT-~1.1-I\eclipse\plugins\COB887~1.201\ee_files\pkg\mcu\microchip_dspic\src\ee_utils.c:43:
C:/Users/WISTA/Desktop/EE_RT-~1.1-I/eclipse/plugins/COB887~1.201/ee_files/pkg/mcu/microchip_dspic/inc/ee_utils.h: In function 'EE_read_foscsel':
C:/Users/WISTA/Desktop/EE_RT-~1.1-I/eclipse/plugins/COB887~1.201/ee_files/pkg/mcu/microchip_dspic/inc/ee_utils.h:138: error: '_FOSCSEL' undeclared (first use in this function)
C:/Users/WISTA/Desktop/EE_RT-~1.1-I/eclipse/plugins/COB887~1.201/ee_files/pkg/mcu/microchip_dspic/inc/ee_utils.h:138: error: (Each undeclared identifier is reported only once
C:/Users/WISTA/Desktop/EE_RT-~1.1-I/eclipse/plugins/COB887~1.201/ee_files/pkg/mcu/microchip_dspic/inc/ee_utils.h:138: error: for each function it appears in.)
C:/Users/WISTA/Desktop/EE_RT-~1.1-I/eclipse/plugins/COB887~1.201/ee_files/pkg/mcu/microchip_dspic/inc/ee_utils.h: In function 'EE_read_fosc':
C:/Users/WISTA/Desktop/EE_RT-~1.1-I/eclipse/plugins/COB887~1.201/ee_files/pkg/mcu/microchip_dspic/inc/ee_utils.h:154: error: '_FOSC' undeclared (first use in this function)
make: *** [obj/pkg/mcu/microchip_dspic/src/ee_utils.o] Error 1

**** Build Finished ****
che mi manchi qualche libreria? Oppure devo impostare qualche variabili d'ambiente?

Avendo windows vista ho letto che ci possono essere dei problemi con i path, per il workspace di eclipse ho impostato C:\Users\<NomeUtente>\flexworkspace che dovrebbe essere giusto, almeno secondo il tutorial però il compilatore della Microchip è in C:\Program Files\Microchip che sarebbe non percorso non ammissibile perchè contiene degli spazi, anche se è l'equivalente della stringa Programmi in cui si installano tipicamente i programmi. E' questo che può provocare problemi?

Infine vorrei farvi vedere l'IDE, che non credo si presenti bene perchè mi da tutti i riferimenti dei registri del microcontrollore come errati

Image

Image

E' normale anche questo?



Grazie :)
nicola.serreli

Re: Installazione e configurazione RT DRUID -PROBLEMI-

Post by nicola.serreli »

Ciao,

Giusto per conferma, quando indichi la versione di Erika come l'ultima 1.6.1, intendi che hai fatto l'update dei pacchetti dopo aver decompresso lo zip?
(nel tutorial che hai indicato, si trova al punto 4 di First RT-Druid startup and configuration)
Dal log escluderei che stai usando direttamente l'svn.

a prima vista, sembra che il makefile abbia trovato il compilatore nel path da te indicato (o in quello di default, se non hai apportato modifiche). Infatti, in caso contrario avresti avuto error del tipo "gcc not found".
Quello che e' capitato in passato e' che, al variare della versione del compilatore microchip, alcuni file venivano spostati da una parte ad un'altra, mandando in crisi la procedura di inclusione. Posso chiederti la versione del compilatore?

Per quanto riguarda gli errori indicati dall'editor fornito con eclipse, e' colpa della complessita' del codice di Erika. Spesso alcune inclusioni e alcune guardie non vengono risolte correttamente dall'editor, che le segnala come errore. Normalmente, tali errori non sono presenti nella fase di compilazione.

A presto,
Nicola
Bezul

Re: Installazione e configurazione RT DRUID -PROBLEMI-

Post by Bezul »

Ciao nicola, grazie della risposta!
Si, ho scaricato il pacchetto e ho fatto l'update da Eclipse come indicato nella procedura.
Il compilatore è questo:
Microchip C30 MPLAB C Compiler for PIC24 MCUs and dsPIC DSCs v3.10 (B) versione Student
Release: 9 May 2008

Effettivamente non so se è la versione Combo oppure la Lite, posso provare a reinstallarlo cercando appositamente la versione Combo, ho usato alcuni installer che mi sono stati dati dall'Università.

Provando una versione più vecchia, la Erika Enterprise 1.5.1 for dsPIC, compila le demo ma l'editor dell'IDE appare con più errori, come si nota dallo screen:

Image

Potrebbe essere quindi un problema di compilatore Microchip se le versioni più nuove non compilano?
Inoltre se volessi usare la 1.5.1 e la aggiornassi con l'updater di Eclipse ci potrebbe essere qualche problema di compatibilità?
Per finire dallo screen si nota, nella gerarchia delle directory di 'provaa', che dopo aver compilato mi appaiono Includes e Archives, che normalmente non ho mai visto dopo la compilazione su altre macchine...è normale?
Grazie.
nicola.serreli

Re: Installazione e configurazione RT DRUID -PROBLEMI-

Post by nicola.serreli »

Ciao,

generalmente cerchiamo di verificare la compatibilita' con l'ultima versione del compilatore, senza rovinare quella con le versioni precedenti. E' possibile che durante questi 2 anni (la 1.5.1 e' di marzo 2010) qualcosa si sia rovinato nell'interazione con quella versione del compilatore (quella di oggi e' la 3.31).

Se aggiorni la 1.5.1 usando l'update site della 1.6.1, ottieni una 1.6.1 su eclipse 3.4. Non dovresti avere problemi di compatibilta' ma dovresti riavere lo stesso problema in compilazione, con meno funzionalita' della ide.
In linea di massima, ti sconsiglio anche di restare con la 1.5.1 in quanto "perdi" gli ultimi 2 anni di sviluppo su erika.
Se puoi, installa una versione piu' recente del compilatore.

per quanto riguarda gli errori nell'ide, RT-Druid 1.5.1 non informava eclipse della posizione dei file di erika, quindi qualunque riferimento a funzioni e costanti di erika venivano trattate come errori. Dalla 1.6.1, la situazione e' migliorata, ma come hai fatto notare, non e' ancora perfetta.

Includes e Archives esistono da parecchio e sono legati alla perspective c/c++.
Includes e' un collegamento ai file .h (nella 1.6.1 sono gli header di erika e quelli generati in fase di compialzione) mentre Archives e' un collegamento ai file che l'ide ha riconosciuto come binari eseguibili.
Bezul

Re: Installazione e configurazione RT DRUID -PROBLEMI-

Post by Bezul »

Grazie delle risposte!
Allora provo a cambiare appena possibile compilatore, usando il 3.31 con la 1.6.1 di Erika e provo così a compilare il tutto. Vi tengo informati!
Se non riscontro ancora problemi credo di restare alla 1.5.1 che almeno mi permette di compilare... dove posso trovare un changelog delle versioni di erika per capire cosa è cambiato di importante negli ultimi 2 anni?
Grazie ancora per il supporto! ;)
nicola.serreli

Re: Installazione e configurazione RT DRUID -PROBLEMI-

Post by nicola.serreli »

Ciao,

non sono sicuro al 100%, ma credo che l'unico changelog disponibile in questo momento, capace di tornare indietro fino alla 1.5.1, sia il repository svn.
http://svn.tuxfamily.org/viewvc.cgi/eri ... /?view=log

Principali modifiche:
- supporto per nuove architetture (ppc e200zx, tricore, s12, esirisc, msp400, cortex Mx)
- aggiornamenti e correzzioni su mico32, amazing ball, flexmini, protezione della memoria, sistem call, gestione interrupt,
- refactoring, correzioni e miglioramenti vari sul codice
- passaggio ad eclipse 3.7
- semplificata la creazione di generatori di codice custom, tramite conversioni xslt

Delle ultimissime versioni, e' presente un change log automatico su http://software.evidence.eu.com/ee_161/log.html
paolo.gai
Administrator
Posts: 877
Joined: Thu Dec 07, 2006 12:11 pm

Re: Installazione e configurazione RT DRUID -PROBLEMI-

Post by paolo.gai »

confermo che le versioni vecchie del compilatore non sono più supportate...

PJ
Bezul

Re: Installazione e configurazione RT DRUID -PROBLEMI-

Post by Bezul »

Confermo che cambiando compilatore usando l'MPLAB C Compiler for PIC24 MCUs and dsPIC DSCs, cioè il Combo, Student Edition v3.31 la versione di Erika e RT Druid 1.6.1 compila perfettamente e produce un cof eseguibile. L'ho testato con l'esempio Simple Periodic Task e tutto a funzionato come desiderato.
Se può essere utile ecco il link per scaricare il compilatore (cercare nell'elenco MPLAB C Compiler for PIC24 and dsPIC v3.31 ):
http://www.microchip.com/stellent/idcpl ... e=en535363

Utilizzando questo campilatore però si perde compatibilità con le versioni più vecchie di erika tipo la 1.5.1 che ho usato nelle fasi iniziali

Grazie per il supporto.

EDIT:
mi correggo, forse ho esultato troppo presto. Compilando il Task Demo, il Build è terminato ma con questo strano warning:

make: Warning: File `obj/pkg/mcu/microchip_dspic/src' has modification time 0.002 s in the future
make: warning: Clock skew detected. Your build may be incomplete.

Code: Select all


**** Build of configuration Default for project naltra ****

C:\Users\WISTA\flexworkspace\naltra\Debug\make_launcher.bat all 
C:\cygwin\bin\bash found!
cygwin warning:
  MS-DOS style path detected: C:\Users\WISTA\flexworkspace\naltra\Debug
  Preferred POSIX equivalent is: /cygdrive/c/Users/WISTA/flexworkspace/naltra/Debug
  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
Using erika files in /cygdrive/c/EVIDEN~2/eclipse/plugins/COB887~1.201/ee_files
MAKE_DIRECTORIES
[b]make: Warning: File `obj/pkg/mcu/microchip_dspic/src' has modification time 0.002 s in the future[/b]

CP crt0.s
cc -E  frommchp/crt0.S > frommchp/crt0.s
ASM   crt0.s
CP p33FJ256MC710.h
GEN ee_pic30regs.h
CPP   eecfg.c
CPP   code.c
LOC
CPP   ee_flex_demoboard.c
CPP   ee_hal_structs.c
CPP   ee_context.c
CPP   ee_irq.c
CPP   ee_utils.c
CP p33FJ256MC710.inc
GEN ee_pic30regs.inc
CPP   ee_oo.S
CPP   ee_activate.c
CPP   ee_schedule.c
CPP   ee_force_schedule.c
CPP   ee_gettaskstate.c
CPP   ee_gettaskid.c
CPP   ee_terminat.c
CPP   ee_thendin.c
CPP   ee_irqendin.c
CPP   ee_tstub.c
CPP   ee_tnterm.c
CPP   ee_lookup.c
CPP   ee_rq_exchg.c
CPP   ee_rq_inser.c
CPP   ee_shtdown.c
CPP   ee_startos.c
CPP   ee_chaintas.c
CPP   ee_internal.c
CPP   ee_utils.c
CPP   ee_adc.c
CPP   ee_pwm.c
AR  libee.a
LD
OBJDUMP
************************************

Compilation terminated successfully!
[b]make: warning:  Clock skew detected.  Your build may be incomplete.[/b]

**** Build Finished ****


Inoltre ho notato che continua a comparire:
Using erika files in /cygdrive/c/EVIDEN~2/eclipse/plugins/COB887~1.201/ee_files

questa stringa, che nella 1.5.1 non c'era, è sintomo di qualche percorso sbagliato oppure è normale che compaia?

Riporto, nel caso potesse essere utile a qualcuno, che utilizzando questo compilatore, come previsto, la versione 1.5.1 non funziona più!
nicola.serreli

Re: Installazione e configurazione RT DRUID -PROBLEMI-

Post by nicola.serreli »

Ciao,

la compatibilita' tra il compilatore di oggi ed erika di 2 anni fa chiaramente non c'e' perche' nel mentre alcuni file del compilatore sono stati spostati e le procedure di build semplicemente non li trovano.

Il Clock skew non e' un problema cosi' drammatico, specialmente se fai una compilazione da zero e comunque e' legato all'ambiente in cui gira la compilazione (os, se usi una macchina fisica o virtuale, se nel mentre della compilazione e' partito l'aggiornamento dell'ora del pc ...).
Come dice la nota "Your build may be incomplete." puo' succedere che per problemi dell'ora del pc, alcuni file possono essere erroneamente considerati piu' vecchi della loro contro-parte compilata, inducendo (erroneamente) il makefile a non compilarli di nuovo. (nota: uno scostamento di 2 millisecondi difficilmente ti causera' questo problema)


relativamente alla riga
"Using erika files in /cygdrive/c/EVIDEN~2/eclipse/plugins/COB887~1.201/ee_files"
serve per indicare, in fase di build, quali sono i file di erika su cui si basa l'oggetto compilato. E' utile per quelle persone che hanno piu' di una copia di erika.
In questo caso indica che sta usando i file di erika che si trovano tra i plugin di eclipse.
su http://erika.tuxfamily.org/wiki/index.p ... Files_path ci sono maggiori informazioni su come impostare un path diverso per individuare i file di erika.
nota: personalmente consiglio di aggiornare erika e RT-Druid in modo sincrono, usando la procedura di aggiornamento di eclipse. Infatti ogni notte facciamo girare diversi test (ad oggi circa 3000) e viene effettuato un rilascio solo se tutti i test vengono superati.

domanda: ok che hai iniziato lo sviluppo con la 1.5.1, ma c'e' qualcosa che funzionava in quella versione e che con la 1.6.1 non va piu'?
Bezul

Re: Installazione e configurazione RT DRUID -PROBLEMI-

Post by Bezul »

Ho rifatto alcune prove, avendo anche capito grazie a Nicola cos'era quel warning.
Sembra che ora sia tutto okay...l'errore non compare più e compila bene.

Ho usato la versione 1.5.1 sia perchè ho un progetto iniziato per quella versione, o subito successive, sia avevo a disposizione un compilatore datato che non mi faceva compilare su 1.6.1, ora ho avuto la possibilità di cambiare il compilatore quindi sono passato alla 1.6.1.

Prima che aggiornassi in compilatore non mi compilava nulla la 1.6.1, ora invece i Demo funzionano e il warning del clock compare sporadicamente e quando compare rifaccio fare il build perchè appunto è solo un problema di sincronismo.
Ho provato anche a importare e compilare il progetto iniziato sulla versione più vecchia di erika, per ora compila bene anche se è stato necessario cambiare questa libreria
cpu/pic30/inc/ee_irqstub.h
con questa
ee_irq.h
continuo con i test però sembra non ci siano particolari comportamenti inaspettati.
Grazie :)

Una piccola nota: dopo aver compilato la mia applicazione su 1.6.1 tutti gli errori legati alle variabili del microcontrollore tipo T1CON, PR1 ecc.. sembrano spariti dall'IDE, come se ora li riconoscesse. Questa cosa non è successa invece dopo la compilazione dei Demo.
paolo.gai
Administrator
Posts: 877
Joined: Thu Dec 07, 2006 12:11 pm

Re: Installazione e configurazione RT DRUID -PROBLEMI-

Post by paolo.gai »

ok, bene... nota che:

- le versioni nuove del compilatore microchip non sono compatibili con le versioni vecchie (!), figuriamoci RT-Druid...

- il problema del clock skew può essere dovuto alla mancata sincronizzazione tra il tuo PC e l'orario globale... fai una verifica!

- gli errori dentro rt-druid spariscono dopo la compilazione in quanto alcuni define vengono generati solo durante la compilazione...


Buon lavoro,

PJ
Locked