No, ho voluto fare un prova senza ottimizzazioni, giusto per valutare il modo in cui lavora il compilatore.
Il Keil usa un suo compilatore denominato ARMCC
Proposta per sistema di sviluppo ARM
Moderatore:
brabus
0
voti
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
0
voti
TardoFreak ha scritto:Il Keil usa un suo compilatore denominato ARMCC
Che se non sbaglio è cc compilato per archittettura ARM.
È possibile scaricarlo da qui:
http://www.arm.com/products/tools/softw ... -patch.php
basta fare il login.
Sto spulciando i sorgenti (delle librerie).
0
voti
Si, però senza licenza ARMCC è limitato a 32KB. 
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
0
voti
Posso chiederti di fare una prova con le ottimizzazioni di gcc ?
Sicuramente (o almeno credo) il Keil usa già le ottimizzazioni, e quindi il confronto non mi sembra "alla pari".
Sicuramente (o almeno credo) il Keil usa già le ottimizzazioni, e quindi il confronto non mi sembra "alla pari".
0
voti
Il keil di suo non ottimizza, lo fa se glielo dici di fare.
Appena avrò un po' di tempo proverò con le ottimizzazioni.
Appena avrò un po' di tempo proverò con le ottimizzazioni.

"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
2
voti
Mentre gironzolavo per il sito della Segger sono capitato in questa pagina che elenca tutti gli IDE che supportano * il J-link.
*
Chiedo scusa per lo slang ** , ma ormai per capirsi bisogna abbassarsi a questi livelli. Ed è diventato un vizio.
**
gergo, si dice gergo...
Tra gli IDE elencati ce ne sono parecchi free.
Anche questa pagina di Wikipedia presenta una bella lista di tool
, e non solo IDE, ma anche dongles/probes per il debugging
e vari RTOS.
Sembra che ci sia l'imbarazzo della scelta... ma è difficile scegliere bene.
Per quanto riguarda i probes, mi sembra che oltre al J-link della Segger, famoso ma proprietario (anche se è lo standard de facto), meriti un'occhiata anche OpenOCD che (come dice il nome) è open. Si trova già montato a un prezzo simile al J-link versione EDU. Mi sembra però ancora un po' immaturo e forse è un rischio buttarsi subito su quello.
Invece, per quanto riguarda gli IDE, ho cercato di sfoltire la lista di quelli che supportano il J-link.
Ho tolto dalla tabella della Segger tutti quelli che non sono gratuiti e tutti quelli dedicati ai micro di una sola Casa costruttrice. Restano:
emIDE
Eclipse + plugins per GNU ARM
CooCox CoIDE
iSystem WinIDEA
Em::Blocks
Eclipse + plugins (che vanno installati a mano) e CooCox CoIDE sono basati su Eclipse.
Eclipse è potente ma pesante. Poi ha bisogno della macchina virtuale Java, che lo rende portabile, ma ci vuole un PC potente. Poi Eclipse ha cento bottoni e mille voci di menù che nel 90% dei casi non si usano. Insomma non mi sembra lo strumento più adatto a un principiante.
Quindi escluderei anche questi due. Restano:
iSystem WinIDEA
emIDE
Em::Blocks
iSystem WinIDEA è gratuito e senza limitazioni di codice (per ora) ma proprietario. Esiste anche la versione WinIDEA Open che NON è open source come il nome potrebbe far credere.
Dalla web pare un IDE davvero potente, con supporto per gruppi di lavoro, controllo di versione, profiler, test automatici con uno strumento chiamato testIDEA. Funziona su Win e Linux (con wine).
Tuttavia potrebbe fare la fine dell'Atollic con limitazione di codice. Poi, una volta fatto l'investimento di imparare, è facile che si abbia bisogno di funzionalità presenti solo nella versione a pagamento.
Insomma, è da scaricare e custodire gelosamente, magari provare, ma ancora non mi sembra ottimale per l'hobbista.
P.S: ho visto che anche lui è basato su Eclipse, ed è pesantuccio (i file di installazione vanno da 280 a 400 MB). Sto scaricando la web, ma sarà una cosa lunga.
emIDE e Em::Blocks sono fratelli. Entrambi derivano da Code::Blocks. Sono in gran parte open source.
Se ho ben capito, Em::Blocks usa una versione particolare del compilatore chiamata GNU ARM.
Quale dei due è meglio? Ho cercato opinioni e ho trovato soprattutto qui (leggere dal messaggio che appare in avanti. La discussione risale a un anno fa).
Ho trovato qualcosa anche qui (ultimo commento) e qui (cercare nella pagina il testo "Sylv1 wrote").
Sembra che Em::Blocks riceva più consensi, specialmente per il debugging (interfaccia più chiara, completa e simile a Keil μVision) e il supporto a ST-link oltre a J-link.
D'altra parte dalla tabella sul sito della Segger sembra che emIDE sia l'unico free che supporta sia il SWO che il trace.
Il SWO (Serial Wire Output?) secondo quello che ho letto qui "is a single pin output from the core which can be used to transfer terminal data (printf) as well as for data tracing (monitor variable read/write accesses)". In tal caso vorrebbe dire che si può colloquiare col target con due soli fili, un bel risparmio di spazio sulla scheda. Chiedo conferma all'esperto
TardoFreak.
Il trace, se vale ancora quello che facevo sull'80386, dovrebbe essere la possibilità di memorizzare in un buffer circolare gli indirizzi di tutte le istruzioni di un processo man mano che vengono eseguite, più eventualmente i valori delle variabili ogni volta che vengono lette e scritte. Così, quando viene triggerato un breakpoint (per esempio sulla lettura di un certo valore da una certa variabile), si può andare all'indietro (per qualche migliaio di istruzioni) per vedere come si è arrivati a quella situazione. È un bell'aiuto per capire certi bachi. Si può tracciare anche senza fermare macchine in servizio (anche se questo all'hobbista può non interessare).
Anche qui chiedo conferma se anche sull'ARM si intende questo.
Però può benissimo essere che quella tabella della Segger non sia aggiornata, e anche Em::Blocks abbia queste capacità.
In conclusione, mi sembra che Em::Blocks sia un altro possibile candidato, forse migliore di emIDE.
E detto questo, auguro a tutti una buona notte.
*
**
Tra gli IDE elencati ce ne sono parecchi free.
Anche questa pagina di Wikipedia presenta una bella lista di tool
Sembra che ci sia l'imbarazzo della scelta... ma è difficile scegliere bene.
Per quanto riguarda i probes, mi sembra che oltre al J-link della Segger, famoso ma proprietario (anche se è lo standard de facto), meriti un'occhiata anche OpenOCD che (come dice il nome) è open. Si trova già montato a un prezzo simile al J-link versione EDU. Mi sembra però ancora un po' immaturo e forse è un rischio buttarsi subito su quello.
Invece, per quanto riguarda gli IDE, ho cercato di sfoltire la lista di quelli che supportano il J-link.
Ho tolto dalla tabella della Segger tutti quelli che non sono gratuiti e tutti quelli dedicati ai micro di una sola Casa costruttrice. Restano:
emIDE
Eclipse + plugins per GNU ARM
CooCox CoIDE
iSystem WinIDEA
Em::Blocks
Eclipse + plugins (che vanno installati a mano) e CooCox CoIDE sono basati su Eclipse.
Eclipse è potente ma pesante. Poi ha bisogno della macchina virtuale Java, che lo rende portabile, ma ci vuole un PC potente. Poi Eclipse ha cento bottoni e mille voci di menù che nel 90% dei casi non si usano. Insomma non mi sembra lo strumento più adatto a un principiante.
Quindi escluderei anche questi due. Restano:
iSystem WinIDEA
emIDE
Em::Blocks
iSystem WinIDEA è gratuito e senza limitazioni di codice (per ora) ma proprietario. Esiste anche la versione WinIDEA Open che NON è open source come il nome potrebbe far credere.
Dalla web pare un IDE davvero potente, con supporto per gruppi di lavoro, controllo di versione, profiler, test automatici con uno strumento chiamato testIDEA. Funziona su Win e Linux (con wine).
Tuttavia potrebbe fare la fine dell'Atollic con limitazione di codice. Poi, una volta fatto l'investimento di imparare, è facile che si abbia bisogno di funzionalità presenti solo nella versione a pagamento.
Insomma, è da scaricare e custodire gelosamente, magari provare, ma ancora non mi sembra ottimale per l'hobbista.
P.S: ho visto che anche lui è basato su Eclipse, ed è pesantuccio (i file di installazione vanno da 280 a 400 MB). Sto scaricando la web, ma sarà una cosa lunga.
emIDE e Em::Blocks sono fratelli. Entrambi derivano da Code::Blocks. Sono in gran parte open source.
Se ho ben capito, Em::Blocks usa una versione particolare del compilatore chiamata GNU ARM.
Quale dei due è meglio? Ho cercato opinioni e ho trovato soprattutto qui (leggere dal messaggio che appare in avanti. La discussione risale a un anno fa).
Ho trovato qualcosa anche qui (ultimo commento) e qui (cercare nella pagina il testo "Sylv1 wrote").
Sembra che Em::Blocks riceva più consensi, specialmente per il debugging (interfaccia più chiara, completa e simile a Keil μVision) e il supporto a ST-link oltre a J-link.
D'altra parte dalla tabella sul sito della Segger sembra che emIDE sia l'unico free che supporta sia il SWO che il trace.
Il SWO (Serial Wire Output?) secondo quello che ho letto qui "is a single pin output from the core which can be used to transfer terminal data (printf) as well as for data tracing (monitor variable read/write accesses)". In tal caso vorrebbe dire che si può colloquiare col target con due soli fili, un bel risparmio di spazio sulla scheda. Chiedo conferma all'esperto
Il trace, se vale ancora quello che facevo sull'80386, dovrebbe essere la possibilità di memorizzare in un buffer circolare gli indirizzi di tutte le istruzioni di un processo man mano che vengono eseguite, più eventualmente i valori delle variabili ogni volta che vengono lette e scritte. Così, quando viene triggerato un breakpoint (per esempio sulla lettura di un certo valore da una certa variabile), si può andare all'indietro (per qualche migliaio di istruzioni) per vedere come si è arrivati a quella situazione. È un bell'aiuto per capire certi bachi. Si può tracciare anche senza fermare macchine in servizio (anche se questo all'hobbista può non interessare).
Anche qui chiedo conferma se anche sull'ARM si intende questo.
Però può benissimo essere che quella tabella della Segger non sia aggiornata, e anche Em::Blocks abbia queste capacità.
In conclusione, mi sembra che Em::Blocks sia un altro possibile candidato, forse migliore di emIDE.
E detto questo, auguro a tutti una buona notte.
Big fan of ⋮ƎlectroYou! Ausili per disabili e anziani su ⋮ƎlectroYou
Caratteri utili: À È É Ì Ò Ó Ù α β γ δ ε η θ λ μ π ρ σ τ φ ω Ω º ª ² ³ √ ∛ ∜ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ∃ ∄ ∆ ∈ ∉ ± ∓ ∾ ≃ ≈ ≠ ≤ ≥
Caratteri utili: À È É Ì Ò Ó Ù α β γ δ ε η θ λ μ π ρ σ τ φ ω Ω º ª ² ³ √ ∛ ∜ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ∃ ∄ ∆ ∈ ∉ ± ∓ ∾ ≃ ≈ ≠ ≤ ≥
1
voti
P.S. volevo segnalare questa pagina che spiega come mettere in piedi una tool chain gcc (io ci capisco poco, ma mi sembra che potrebbe essere utile).
Poi volevo segnalare che
PietroBaima mi ha convinto che è meglio mettere una password ai file da scaricare. Quindi ho compresso il file con 7-zip (che permette una compressione e una cifratura migliori) e ho modificato l'intervento 25. Ho anche scelto una password senza riferimenti a EY... 
Poi volevo segnalare che

Big fan of ⋮ƎlectroYou! Ausili per disabili e anziani su ⋮ƎlectroYou
Caratteri utili: À È É Ì Ò Ó Ù α β γ δ ε η θ λ μ π ρ σ τ φ ω Ω º ª ² ³ √ ∛ ∜ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ∃ ∄ ∆ ∈ ∉ ± ∓ ∾ ≃ ≈ ≠ ≤ ≥
Caratteri utili: À È É Ì Ò Ó Ù α β γ δ ε η θ λ μ π ρ σ τ φ ω Ω º ª ² ³ √ ∛ ∜ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ∃ ∄ ∆ ∈ ∉ ± ∓ ∾ ≃ ≈ ≠ ≤ ≥
1
voti
GuidoB ha scritto:Per quanto riguarda i probes, mi sembra che oltre al J-link della Segger, famoso ma proprietario (anche se è lo standard de facto), meriti un'occhiata anche OpenOCD che (come dice il nome) è open. Si trova già montato a un prezzo simile al J-link versione EDU. Mi sembra però ancora un po' immaturo e forse è un rischio buttarsi subito su quello.
Attenzione. La scritta OpenOCD in quel link non rappresenta il nome dell' hardware, ma bensí che quest' ultimo può essere usato con il software OpenOCD.
0
voti
È vero... grazie per la correzione! 

Big fan of ⋮ƎlectroYou! Ausili per disabili e anziani su ⋮ƎlectroYou
Caratteri utili: À È É Ì Ò Ó Ù α β γ δ ε η θ λ μ π ρ σ τ φ ω Ω º ª ² ³ √ ∛ ∜ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ∃ ∄ ∆ ∈ ∉ ± ∓ ∾ ≃ ≈ ≠ ≤ ≥
Caratteri utili: À È É Ì Ò Ó Ù α β γ δ ε η θ λ μ π ρ σ τ φ ω Ω º ª ² ³ √ ∛ ∜ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ∃ ∄ ∆ ∈ ∉ ± ∓ ∾ ≃ ≈ ≠ ≤ ≥
Chi c’è in linea
Visitano il forum: Google Adsense [Bot] e 6 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)
