Page 2 of 2

Re: Consiglio sui microcontrollori atmel

PostPosted: 03 Mar 2014, 17:41
by legacy
a me il core Avr8 non piace, nemmeno un po'
e le toolchain di origine GNU ancora di meno
per altro sono tutte impastrugnate di bachi
mai risolti che se escono dalla porta
ti rientrano dalla finestra

insomma spero proprio di non averci mai a che fare
sopratutto per hobby con quella roba

molto meglio i PIC, in particolare i dsPIC ed i PIC32
anche il support e l'ambiente di lavoro e' + intuitivo
e sopratutto … piu' soddisfazioni e meno frustrazioni

Re: Consiglio sui microcontrollori atmel

PostPosted: 03 Mar 2014, 18:13
by deluca
@legacy,
lascia stare l'hardware di AVR_8_bit che è perfetto !! almeno per il livello che copre.
Difficilmente ho trovato anomalie a livello hw e pensa che nel mio LAB abbiamo realizzato dagli anni '90 centinaia di progetti ancora oggi funzionanti 24H24.
se puoi prova i compilatori di un certo livello, vai su CodeVision, oppure ICC di ImageCraft..... oppure sul Bascom-AVR. Spendi qualche centinaio di euro e vedrai i risultati dei compilatori.... saranno senza dubbio molto + efficienti.
E' ovvio che con i compilatori GNU e i vari free toolchain di Arduino incapperai prima o dopo nelle macagne prive di risoluzioni.... a meno di non mettere mani sul codice assemblato.

Re: Consiglio sui microcontrollori atmel

PostPosted: 03 Mar 2014, 18:45
by legacy
non ho criticato l'hw ma la sua ISA, perche' la trovo brutta, contorta, poco documentata al lato compiler module, tant'e' che di fatto per la documentazione dello stesso compiler module bisogna rifarsi ai sorgenti del compilatore, nel caso specifico per quanto c'e' in di giro di pubblico bisogna rifarsi ai sorgenti di avr-gcc (il che e' tutto un programma): Mcrochip ha tonnellate di documentazione in PDF al riguardo, e non solo, ha pure molto + support, sia come librerie che come codice pubblico, il tutto con una qualita' superiore. Lo stesso avr-gcc e' perennemente pieno di buchi e che le librerie lo sono altrettanto. Per esempio sono passati ben due anni da quando in avr-gcc e' saltato fuori il problema di memory layout dei mega e ancora se ne parla, poi il prog mem, poi il famoso bit di indirizzamento, insomma … c'e' sempre qualche cosa che non va e tocca ogni volta impazzire nelle loro bislacche patch. La linea Xmega e' ancora peggio, ci sono pure bachi hw. Poi e' chiaro, uno si compra il tool professionale che mette a posto i vari problemi, e ci gioca ed e' pure felice, pero' un povero hobbista che non ha quelle cifre io lo indirizzerei bene e meglio verso Microchip: almeno si toglie dalle scatole quei problemi e al costo di un solo programmatore (del costo ridicolo) si porta a casa MPU molto + amichevoli, molto meglio documentate, con una ISA molto + interessante (sopratutto la isa dei PIC32 e' MIPS32 aka direttamente supportata nei corsi di architetture elaborative), e soprattutto con un ambiente di sviluppo gratuito che e' a prova di utonti; ed aggiungiamoci pure che, mentre la roba Microchip gira su WIndows, MacOSX e linux scenza alcun problema, la roba gratuita di Atmel o gira solo su Windows o e' gestita con i piedi per quanto riguarda linux (provare per credere), il che significa che poi ci si trova nettamente in difficoltà ad ogni aggiornamento: altro motivo per preferire Microchip.

Re: Consiglio sui microcontrollori atmel

PostPosted: 03 Mar 2014, 19:22
by franco60
deluca wrote:@franco
puoi iniziare con il più classico degli esempi "Blink Led" tanto per testare se l'hw è configurato correttamente.


Code: Select all
#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
    DDRB=0xFF;          //PORT B (LEDs) output
    while(1)
    {
        PORTB=0x00;     //LEDs ON
        _delay_ms(1000); //delay
        PORTB=0xFF;     //LEDs OFF
        _delay_ms(1000); //delay
    }
}



ok grazie , ma ancora piccoli problemi :

1 - non avendo la porta parallela come posso ovviare ? questa http://www.robotstore.it/product/153/Po ... ATMEL.html potrebbe essere una soluzione ?

posso inviarti schema della test board e del control borad , via email , magari qualche consiglio più dedicato ci scappa :)

2 - il compilatore avr ho guardato la tua lezione ma sinceramente non ho capito molto , se potresi darmi altre info su come aprire scrivere il programma e poi inviarlo alla scheda.

grazie ancora della pazienza.

Re: Consiglio sui microcontrollori atmel

PostPosted: 03 Mar 2014, 19:28
by franco60
legacy wrote:non ho criticato l'hw ma la sua ISA, perche' la trovo brutta, contorta, poco documentata al lato compiler module, tant'e' che di fatto per la documentazione dello stesso compiler module bisogna rifarsi ai sorgenti del compilatore, nel caso specifico per quanto c'e' in di giro di pubblico bisogna rifarsi ai sorgenti di avr-gcc (il che e' tutto un programma): Mcrochip ha tonnellate di documentazione in PDF al riguardo, e non solo, ha pure molto + support, sia come librerie che come codice pubblico, il tutto con una qualita' superiore. Lo stesso avr-gcc e' perennemente pieno di buchi e che le librerie lo sono altrettanto. Per esempio sono passati ben due anni da quando in avr-gcc e' saltato fuori il problema di memory layout dei mega e ancora se ne parla, poi il prog mem, poi il famoso bit di indirizzamento, insomma … c'e' sempre qualche cosa che non va e tocca ogni volta impazzire nelle loro bislacche patch. La linea Xmega e' ancora peggio, ci sono pure bachi hw. Poi e' chiaro, uno si compra il tool professionale che mette a posto i vari problemi, e ci gioca ed e' pure felice, pero' un povero hobbista che non ha quelle cifre io lo indirizzerei bene e meglio verso Microchip: almeno si toglie dalle scatole quei problemi e al costo di un solo programmatore (del costo ridicolo) si porta a casa MPU molto + amichevoli, molto meglio documentate, con una ISA molto + interessante (sopratutto la isa dei PIC32 e' MIPS32 aka direttamente supportata nei corsi di architetture elaborative), e soprattutto con un ambiente di sviluppo gratuito che e' a prova di utonti; ed aggiungiamoci pure che, mentre la roba Microchip gira su WIndows, MacOSX e linux scenza alcun problema, la roba gratuita di Atmel o gira solo su Windows o e' gestita con i piedi per quanto riguarda linux (provare per credere), il che significa che poi ci si trova nettamente in difficoltà ad ogni aggiornamento: altro motivo per preferire Microchip.



si in effetti il materiale della microchip è stato quello dove ero orientato , ma un mio amico aveva una test board e due microchip e mi ha detto informati se puoi iniziare con questo materiale , ed è quello che sto provando a fare.

Re: Consiglio sui microcontrollori atmel

PostPosted: 03 Mar 2014, 20:02
by deluca
@franco,
certamente, mi puoi inviare gli schemi e porre le domande che vuoi, non crearti nessun problema.... :)
i forum servono proprio a questo.

PS. quanto più scrivi , quante più risposte otterrai....

Re: Consiglio sui microcontrollori atmel

PostPosted: 03 Mar 2014, 20:15
by legacy
Se intendi restare su Atmel AVR8 come percorso posso suggerirti di puntare ad Arduino, p.e. se prendi una board "2009" costa poco e ti ci puoi fare il callo alla minore spesa, e cosi' usi i chip Atmel meno problematici senza dover comprare o litigare con altro, cosi' inizi a studiarti un po' il datasheet del 328 (montato sulla 2009) prendendoci dimestichezza, magari andando a sbirciare il codice C/C++ delle librerie Arduino e magari modificandole. In questo modo hai un carico di studio agevolato dall'aspetto hobbistico del "pastrugnare" con l'hw cogliendone subito i risultati: e' molto motivante!. Insomma, se sei proprio a digiuno direi che va benissimo prenderla in questo modo "hobbistico". Poi eventualmente passi al mega e magari … passi dall'ambiente Arduino all'accoppiata AVR-studio + AVR-dragon. Volendo a quel punto, se valuti la cosa ancora conveniente, puoi anche passare agli Xmega.


Tra qualche tempo poi mi dirai :mrgreen:

Re: Consiglio sui microcontrollori atmel

PostPosted: 04 Mar 2014, 08:24
by einstein
ragazzi,
ho scaricato ed installato bascom-avr, che se pur nella versione demo, lo trovo molto ben fatto.
Il simulatore integrato funziona benissimo e sto iniziando a fare delle prove con la gestione dei pin di I/O.

A presto,
Piero

Re: Consiglio sui microcontrollori atmel

PostPosted: 04 Mar 2014, 09:08
by js-bascom
Stavo pensando....dal momento che sei di Siracusa forse ti dovresti chiamare Achimede invece di Einstein.

Re: Consiglio sui microcontrollori atmel

PostPosted: 04 Mar 2014, 11:13
by einstein
Urca!!, sai che non ci avevo pensato? :lol:

Re: Consiglio sui microcontrollori atmel

PostPosted: 06 Mar 2014, 19:12
by franco60
eccomi di nuovo ,
come da consiglio di Deluca ,dopo aver visionato il mio kit , ho scaricato bascom avr , ma :( come farlo comunicare con la mia scheda ?
ho provato a fare un nuovo progetto , mettendo le stringhe che mi hai dato , ma non riconosce la scheda ( penso ).
ho utilizzato un cavo adattaore usb - rs232 , ma forse non va bene .

consigli ???

grazie

Re: Consiglio sui microcontrollori atmel

PostPosted: 06 Mar 2014, 20:24
by deluca
franco60,
per capirci meglio, posta il codice che vuoi compilare e spedire alla tua scheda.
usa i tag in questo modo:

Code: Select all
metti qui il tuo codice


Poi, da quello che ho capito, relativamente a quello che hai scritto,
devi prima programmare il micro e solo dopo puoi comunicare con esso per mezzo della RS-232/usb.
Ti devi procurare un programmatore ISP per caricare il bitstream sul micro, lo hai di già?

Re: Consiglio sui microcontrollori atmel

PostPosted: 06 Mar 2014, 21:58
by einstein
@franco60 scusa la curiosità, ma tu in Bascom-avr hai scritto i seguenti comandi?

Code: Select all
#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
    DDRB=0xFF;          //PORT B (LEDs) output
    while(1)
    {
        PORTB=0x00;     //LEDs ON
        _delay_ms(1000); //delay
        PORTB=0xFF;     //LEDs OFF
        _delay_ms(1000); //delay
    }
}

Re: Consiglio sui microcontrollori atmel

PostPosted: 06 Mar 2014, 22:06
by Fagos
scusate !!
ma queste righe di codice non sono per Bascom, deluca penso le abbia scritte per avrstudio4.
questi sono comandi scritti in C per winavr, secondo me franco60 sta facendo un pochino confusione :)

Re: Consiglio sui microcontrollori atmel

PostPosted: 06 Mar 2014, 23:43
by franco60
azzz lo sapevo che facevo confusione ,

si ho scritto propio quel codice .

ma non posso trasferire il programma dal pc alla mia test board dove c'è la scheda con il micro?

Re: Consiglio sui microcontrollori atmel

PostPosted: 07 Mar 2014, 07:58
by Fagos
caro franco60,
per trasferire un codice su un micro ci sono alcuni passaggi da rispettare.

1) Conoscere ed impostare i settaggi per l'hardware del microcontrollore (vedere sul datasheet)
2) Scrivere il codice nel linguaggio che desideri usare (es: C, Assembly, Bascom-AVR)
3) Fare una analisi di sintassi e se possibile una simulazione del codice sorgente
4) Compilare il codice sorgente per creare un file detto HEX o BIN
5) Se possibile simulare il codice prima di effettuare la programmazione del chip
6) Scaricare il file HEX o BIN sul micro per mezzo di un programmatore ISP o attraverso la seriale usando un boot-loader che deve essere precaricato sul microcontrollore.
7) Resettare il micro e vedere se il programma gira sul micro.

Questi sono i passaggi minimi necessari per vedere il tuo codice girare sulla tua scheda.

Re: Consiglio sui microcontrollori atmel

PostPosted: 07 Mar 2014, 15:07
by pier
Per aiutarti occorre sapere quale scheda usi. Se è una Arduino il micro ha un "bootloader" preprogrammato a bordo che ti consente di caricarvi il tuo applicativo mediante seriale (convertitore USB/seriale) altrimenti è meglio pensare ad una programmazione ISP con acquisto/autocostruzione dell'economico programmatore. In rete si trova parecchia roba. Una ulteriore alternativa è la programmazione parallela (stand alone) ma il costo del programmatore è generalmente un po' elevato. Per indicazioni puoi andare in Bascom nel tab "options" --> "programmers" puoi vedere quali programmatori sono direttamente supportati da Bascom.
Ti consiglio di cominciare a guardarti il codice di qualche semplice esempio che hai allegato al Bascom per capire quali sono le configurazioni base (in genere regfile, crystal, swstack, hwstack, framesize, baud), di cercare di intuire cosa fa il codice aiutato dai commenti, poi di provare a compilare e a simulare. Solo alla fine puoi provare a programmare il micro fisico.
Tieni presente che lo schema della scheda dovrà essere compatibile con quanto il tuo programma farà e che dovrai anche settare (in una schermata apposita in fase di programmazione) gli "option bit" che riguardano le modalità di selezione e di funzionamento dell'oscillatore, le protezioni delle memorie, l'attivazione o meno della protezione per la sottoalimentazione (brownout), la modalità di reset e quant'altro affinchè il micro sia configurato in modo compatibile con il tuo programma e quanto vuoi faccia (studia il pdf completo del micro per queste info quando ti sarà chiesto di settare questi bit).
Quando avrai ottenuto un risultato positivo puoi provare a scrivere qualche cosa di tuo e inviarlo al micro magari cominciando a modificare il codice usato nei test e arricchendolo.
Buon lavoro e non scordare che Bascom è "basic like" mentre Arduino (nel suo ambiente di sviluppo) è "C like" seppure viene gestito anche da Bascom che a questo punto diventa l'ambiente di sviluppo e quindi Basic!

Re: Consiglio sui microcontrollori atmel

PostPosted: 07 Mar 2014, 19:20
by franco60
ok ,
ricominciamo ,
magari sto chiedendo troppo , quindi provo a formularlo in questa maniera :

" c'è qualcuno disposto a guidarmi passo passo , almeno per i primi veri approcci , cioè , io vi dico il tipo di scheda e del micoro , e qualcuno mi dice cosa mi serve oltre il materiale in mio possesso ( ricordo ho una testboard e 2 controllerboard con montato sopra ATMega128 16 AI con relativi schemi ) del tipo ok ti serve :

1 programmatore del tipo ........
2 un programma .........oltre a Bascom che ho scaricato nella versione demo
3 un cavo da usb a .....
e così via .

e provare a darmi il codice tipo quello postato da Deluca , che ringrazio cordialmente per la sua pazienza ,

diciamo una specie di io dico tu fai .

grazie ancora per l'attenzione che tutti mi avete dedicato.

Re: Consiglio sui microcontrollori atmel

PostPosted: 07 Mar 2014, 20:09
by deluca
Ok franco60,
visto che hai tanta volontà di imparare cercherò di aiutarti.

Hai bisogno per prima cosa il programmatore ISP "In System Programmer"
2 soluzioni:
1) comprarlo
2) autocostruirlo con meno di 2 euro.

AVR_ISP_SCHEMATIC.png
AVR_ISP_SCHEMATIC.png (23.48 KiB) Viewed 7735 times


Questo lo puoi gestire facilmente con AVRDUDE o con il PonyProg

Re: Consiglio sui microcontrollori atmel

PostPosted: 07 Mar 2014, 21:04
by franco60
grazie , appena fatto lo comunicherò , così possiamo proseguire