Pages: 1 ... 16 17 [18] 19 20 ... 36   Go Down
Author Topic: Topic permanente di programmazione newbie  (Read 27337 times)
0 Members and 1 Guest are viewing this topic.
Rovereto
Offline Offline
Full Member
***
Karma: 0
Posts: 152
La luce e' piu' veloce del suono. Per questo motivo alcune persone sembrano brillanti fino a quando non parlano.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si. Ossia questa http://sourceforge.net/projects/winavr/files/WinAVR/20100110/

Ciao
QP
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 478
Posts: 12284
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Fatto, ma ho lo stesso errore, forse non è sufficiente questa manovra di sostituzione della cartella avr e comunque nell'AVRDUDE.CONF nuovo il 4313 non c'è, ho visto che aprendo il makefile l'mcu appare, ma davvero non so come integrarlo, ed è un peccato non riuscirci perché ci sono altri micro che mi interessano come gli attyny 88 e 861; gli 861 sono molto simili ai 2313, abbastanza da poter tentare di partire da questi per aagiungere i dati nel core e creare la relativa board.
Per il momento lascio installato il winavr e ripristino la vecchia versione della cartella, poi se mi suggerite idee o se fate qualche tentativo tenetemi aggiornato.
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9158
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Fatto, ma ho lo stesso errore, forse non è sufficiente questa manovra di sostituzione della cartella avr e comunque nell'AVRDUDE.CONF nuovo il 4313 non c'è

Impossibile che ti da lo stesso errore perché la versione 4.3.3 di AVRGCC prevede il 4313, l'ho verificato.

Queste sono le prime righe del suo file .h di configurazione:

Code:
/* Copyright (c) 2009 Atmel Corporation
   All rights reserved.

/* $Id: iotn4313.h,v 1.1.2.2 2009/11/02 02:44:17 arcanum Exp $ */

/* avr/iotn4313.h - definitions for ATtiny4313 */

/* This file should only be included from <avr/io.h>, never directly. */

#ifndef _AVR_IO_H_
#  error "Include <avr/io.h> instead of this file."
#endif

#ifndef _AVR_IOXXX_H_
#  define _AVR_IOXXX_H_ "iotn4313.h"
#else
#  error "Attempt to include more than one <avr/ioXXX.h> file."
#endif


#ifndef _AVR_ATtiny4313_H_
#define _AVR_ATtiny4313_H_ 1

edit: forse il problema è nel nome che usi per il micro che non è quello atteso dal compilatore.
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 478
Posts: 12284
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

sarebbe questo che hai postato tu? _AVR_ATtiny4313_H_ oppure dove lo trovo?
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9158
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

sarebbe questo che hai postato tu? _AVR_ATtiny4313_H_ oppure dove lo trovo?

No questo è il nome simbolico usato nel file di descrizione, non ha nulla a vedere con quanto atteso dal compilatore sulla riga di comando, mi pare che c'è una opzione che fornisce la lista dei micro supportati e il nome da utilizzare, devo dare un attimo una sbirciatina al manuale del gcc.

Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9158
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho fatto al volo una prova sostituendo AvrWin con l'ultima versione come ti avevo detto, nome cpu ".mcu=attiny4313" e il compilatore lo accetta, però poi viene fuori una serie di errori perché il core non è adatto per il micro, quindi la questione supporto del compilatore è risolta, ora tocca risolvere il problema core.
Logged

0
Offline Offline
Faraday Member
**
Karma: 45
Posts: 5780
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

attima la scoperta della signature sbiellabile.
Menny scopri cose interessanti anche quando sbagli  smiley

quind l'idea del menu' Proteggi Micro e' accettata ?

qualcuno sa niente del discorso di cancellare solo il bootloader ? giusto per didattica, lo sketch non partirebbe giusto ?
Non basterebbe cancellare solo il primo byte della flash ?
Logged

- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 478
Posts: 12284
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@ Astro: riprovo, ma sono ragionevolmente sicuro di aver usato proprio quella dicitura: mi confermi di aver sostituito solo la cartella della nuova versione (nel mio caso era in root non in programmi) al posto della vecchia? e poi come hai fatto la prova, hai creato una board qualsiasi con quella mcu?

@ Testato: è stata spettacolare questa cosa smiley-grin Guarda io non ho particolari problemi ora a implementare il lock_bit, ormai "possiedo" la tecnica, ci perderò un po' di tempo e sarà fatto; ma devo approfondire un paio di questioni sul datasheet per capire se davvero ne vale la pena; invece quella cosa del no_BL scusa ma "me pare propio na strunzata" ed io sto già litigando moltissimo col tempo quindi lascio l'onore a te, quando avrai il mio sketch sul PC ti potrai sbizzarrire smiley-wink ti ricordo che quando programmiamo con l'ISP il BL non lo mettiamo ed lo sketch parte lo stesso, se devi solo sabotare la flash non ne capisco davvero la necessità smiley-eek
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9158
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@ Astro: riprovo, ma sono ragionevolmente sicuro di aver usato proprio quella dicitura: mi confermi di aver sostituito solo la cartella della nuova versione (nel mio caso era in root non in programmi) al posto della vecchia? e poi come hai fatto la prova, hai creato una board qualsiasi con quella mcu?

Si ho semplicemente sostituito il contenuto della cartella con quello della nuova versione di WinAvr, poi ho preso una board per Attiny e ho semplicemente cambiato il nome della mcu, giusto per vedere se veniva accettato dal compilatore, e infatti la compilazione parte, però poi vengono fuori vari errori dovuti al mancato supporto del core a questo modello.

Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@ Leo e BB: quindi ora vorrei poter aggiungere una board per programmare correttamente il 4313 (mi basta 1MHz); da quanto ho capito i file da modificare sono tre:
 – AVRDUDE.CONF: qui (come feci allora col 328noP) mi limito a fare un copincolla del 2313 ed a modificare nome, descrizione e signature; Vi ricordo che ieri, semplicemente modificando la signature ho programmato il 4313 con la board ed il finto boootloader del 2313, cambiando solo il valore del LFuse che, peraltro, non ha alcuna importanza per gli sketch; quindi la manovra su AVRDUDE in linea di massima va; poi non scordiamo tutto ciò che disse Astro a proposito di questo tipo di operazioni barbariche, ma visto che ieri ho fatto lampeggiare tre led senza questioni, a me basta.
– pins_arduino.c e pins_arduino.h: anche qui posso fare un copincolla del 2313 modificando le sole info varianti, ho già verificato che la pinature è identica e le assegnazioni dei pin sono perfettamente compatibili
-boards.txt: e anche qui una nuova board a partire dalla 2313 in cui modifico i vari attributi, l’LFuse (giusto per esattezza) e il nome dell’mcu, mentre lascio inalterato il bootloader che, a farla sporca, forse potrei copiare e rinominare opportunamente nella cartella specifica.
La questione è: tutto ciò mi evita l’errore dell’IDE che ogni volta mi strapazza le vecchie che mi dice che non conosce il 4313 e mi mostra l’infinito elenco di quelli che dice di conoscere?
A voi l’ardua sentenza.
Ripensando alla cosa, non è così come ti ho detto. Nel senso che quando ho modificato il core Sanguino per i 1284 ho visto che di file ce n'erano anche altri da cambiare, non solo i file pins_arduino: questi servono per la mappatura dei pin, ma poi c'era il discorso dei timer, degli interrupt, del PWM... Insomma, va preso il core Tiny, file per file, e controllato se e dove servono le modifiche.

Quote
@ Leo: l'IDE nel messaggio sembra chiaro: usare -F significa non controllare la signature, che altro dovrebbe fare/non fare?
Tu hai chiesto se bastava aggiungere quell'opzione, io ti ho detto che per alcuni compiti serve, per altri no. Esempio: se hai un chip briccato, signature o non signature, non lo programmerai mai con avrdude anche usando l'opzione -F. Non so se mi sono spiegato.
Logged


0
Offline Offline
Faraday Member
**
Karma: 45
Posts: 5780
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

yep, attendo l'uscita sulla rivista e poi ci buttiamo nelle modifiche.
sai se sara' possibile comprare la sola pcb ? o cmq tutto il kit, tanto in teoria dovrebbe essere un kit economicissimo, sempre perche' non mi va di mettere mano all'acido.

per il fatto del cancella bootloader (fai bene a non considerarlo per il progetto, e' solo una domanda al forum per capire cose nuove) non e' come il discorso del caricre lo sketch in isp.
se il bootloader e' presente, e' lui che passa allo sketch, quindi rimuovendoplo lo sketch non parte, secondo me  smiley
Logged

- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Il bootloader risiede in un'area di Flash che viene protetta mediante i fuse ed a cui viene passata l'esecuzione del codice all'avvio del micro, se i fuse prevedono quest'area.
Io credo che se riprogrammi i fuse per togliere l'area riservata al bootloader, non hai bisogno di cancellarlo materialmente perché l'esecuzione del codice parte, senza bootloader impostato nei fuse, dalla cella $0000 e non più dall'area riservata.
Logged


0
Offline Offline
Faraday Member
**
Karma: 30
Posts: 2905
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
No questo è il nome simbolico usato nel file di descrizione, non ha nulla a vedere con quanto atteso dal compilatore sulla riga di comando, mi pare che c'è una opzione che fornisce la lista dei micro supportati e il nome da utilizzare, devo dare un attimo una sbirciatina al manuale del gcc.
Forse ti riferisci a questa?

avr-gcc -dumpspecs

Certo non è chiarissima, almeno a me girano gli oci.

Ciao.
Logged

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

Deep south of Italy
Offline Offline
Faraday Member
**
Karma: 8
Posts: 2955
The quieter you become, the more you can hear
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

qui c'è in elenco:
http://www.nongnu.org/avr-libc/user-manual/
e gcc può compilare per integrati di quella famiglia (avr25):
http://gcc.gnu.org/onlinedocs/gcc/AVR-Options.html
Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9158
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

qui c'è in elenco:
http://www.nongnu.org/avr-libc/user-manual/
e gcc può compilare per integrati di quella famiglia (avr25):
http://gcc.gnu.org/onlinedocs/gcc/AVR-Options.html

Diciamo che per il momento la questione aggiornamento compilatore alla 4.3.3 è risolta.
Ieri sera ho fatto molte prove con tutti programmi che ho per Arduino, sia UNO che MEGA2560, alcuni molto complessi come MultiWii (software per quadricotteri), e non ho riscontrato nessun problema, quindi direi che il trapianto è perfettamente riuscito e il paziente gode di ottima salute  smiley
Per quanto riguarda gli ATtiny4313 rimane il problema del core perché sebbene ora viene riconosciuto dal compilatore poi saltano fuori errori dovuti alle differenze hardware tra questi micro e quelli normalmente impiegati su Arduino.
Ho fatto una prova al volo con il core per ATtiny 45-85, sapendo già che non poteva funzionare, solo per verifica se cambiavano gli errori e così è stato confermando ulteriormente che ora è possibile compilare anche per i 4313.
Ho fatto un ulteriore test con una versione sperimentale dell'IDE 1.0 con trapiantata la toolchain di ATmel al posto di WinAvr, ci sto lavorando sopra da diverso tempo per la famosa questione del limite di memoria del ATmega2560, e anche questa riconosce senza problemi i 4313, cosa di cui ero più che certo, e mi fornisce gli stessi errori, dovuti al core, del test con avrgcc 4.3.3.

Salvo imprevisti, ovvero impegni lavorativi, dovrei rilasciare a breve la procedura per sostituire WinAvr con la toolchain di Atmel, che è sempre aggiornatissima e con molti meno bug delle altre release di avrgcc, in modo da mettere la parola fine ai fastidiosi bug e limiti della versione 4.3.2, abbastanza vecchiotta (2009), di WinAvr che è ufficialmente abbinata all'IDE di Arduino, inclusa la 1.0, per Windows.


Logged

Pages: 1 ... 16 17 [18] 19 20 ... 36   Go Up
Jump to: