Go Down

Topic: Dove iniziare per programmare SAM3U (Read 7275 times) previous topic - next topic

Janos

Mmmmmm, ero sicuro che l'operatore << fosse solo un'istruzione per il precompilatore...
Sarebbe da controllare il compilato cosa fa perché ci sta che il precompilatore, riconoscendo che 1 << 5 è un'operazione eseguibile a tempo di compilazione la esegua lui. Per tagliare la testa al toro lo sostituirò con 0b00010000...  ;)

leo72

Se tu fai 1<<5 è un conto, se tu fai a<<5 è un altro.
Nel primo caso hai 2 costanti numeriche, e quindi il compilatore potrebbe (ma non è detto: tu a scuola hai studiato gcc, immagino, ma qui usiamo avr-gcc, che potrebbe anche ragionare in maniera diversa) sostituire il valore già calcolato. Ma nel secondo caso il compilatore non sa che valore assumerà a per cui come può eseguire in anticipo l'operazione?

Janos

Si si, nel secondo caso è indubbio che non può essere calcolato a tempo di compilazione, ma nel primo caso sarebbe da controllare.
Non ho studiato gcc, ho fatto elettronica, non informatica, ma ho avuto un esame praticamente quasi sull'atmega, oltre che un po' di pld. Io ho il ricordo che il prof. ci avesse detto che 1 << 5 il precompilatore lo sostituisse in 0b00010000 però effettivamente mi hai fatto venire il dubbio. Magari mi ricordo male.

astrobeed


ci avesse detto che 1 << 5 il precompilatore lo sostituisse in 0b00010000 però effettivamente mi hai fatto venire il dubbio. Magari mi ricordo male.


Tutti i compilatori degni di questo nome, e gcc lo è, risolvono i calcoli su costanti durante il processo di compilazione sostituendo direttamente il valore calcolato.
Esempio pratico se scrivo "byte A; A = 3x2;" il compilatore assegna ad A direttamente il valore 6 senza inserire il calcolo nel programma, ovvero la riga diventa "A = 6;".

Vero ha ragione astro. Il preprocessore processa macro e non fa calcoli, ma il precompilatore a cui si riferisce janos anche se la documentazione non ne parla lo potremo anche chiamare così. Tutte le operazioni che coivolgono operandi il cui valore è conosciuto a tempo di compilazione vengono risolte. Se il valore di un'operando non è conosciuto a tempo di compilazione il calcolo verra effettuato a run-time.

Però nessuno mi ha fatto i complimenti per il codice delle ISR ridotto all'osso grazie all'or exclusivo. Si vabbe che non è farina del mio sacco in quanto ho scoperto quel codice all'interno di una libreria, ma si tratta comunque di buon codice che merita.

Ciao.
AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

lesto

non ci avevo fato caso, è un bel sistema quello dell'xor.
Ora bisogna scoprire se è velocizzato abbastanza :)
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

astrobeed


Però nessuno mi ha fatto i complimenti per il codice delle ISR ridotto all'osso grazie all'or exclusivo.


Mi era sfuggito, in effetti è una soluzione elegante e molto efficace.


Janos

Non ci avevo fatto caso neppure io allo xor... Cavolo, è geniale... =) Non ci pensavo...

redfox74

Ciao Janos,
ho visto che accennavi all'interesse per stm32f4 , non so' se avevi gia' visto il nostro progetto :
http://www.virtualrobotix.com/profiles/blogs/vr-multipilot32f4-the-most-powerful-auto-pilot-in-the-world-compa
Abbiamo gia' fatto tutto il porting delle API base di arduino sull'F4 e anche di tutte le librerie del progetto arducopter.
Il micro ha prestazioni incredibili rispetto ad un avr mega.
Nel link che ti ho dato hai tutti i dati.
Il nuovo Arduino DUE non sara' sul SAM3U :) Quello si chiamava Arduino 1500 e l'avevo progettato io :) Un anno e mezzo fa' .
Saluti
Roberto

Janos

Bel lavoro, ma costa troppo per essere un'oggetto sul quale dovrò fare delle prove...  ;)

astrobeed


Bel lavoro, ma costa troppo per essere un'oggetto sul quale dovrò fare delle prove...  ;)


Se vuoi iniziare ad usare gli ST32 ci sono delle ottime board low cost di ST, p.e. questa con l'ST32F4 (core Cortex M4 con FPU) che da RS paghi solo 12.6 Euro + iva, 22 Euro compresa la spedizione.

Janos


Quote
già è un prezzo più abbordabile... =)

Caspita regalato, altro che abbordabile.

Quel libro non l'ho mai letto, costicchia pure e dal titolo si riferisce a freescale (che mi sta sulle p...e), l'uncio vantaggio è che prende in considerazione proprio il cortex-M4.

Ciao.
AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

Janos


lesto

è una marca di microcontrollori.
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Go Up