Topic permanente di programmazione newbie

Niente da fare, ho inserito le tue righe in AVRDUDE.CONF, ho aggiornato i files pins.Arduino.h e .c, ho creato la board, appena provo la compilazione mi dice

mcu attiny4313 supported for assembler only

e

unknown MCU ‘attiny4313’ specified
Known MCU names:
avr2
at90s2313

che manca? ma tu, bb, l’hai mai provata questa mcu, intendo dire che basta selezionarla e fare un banale compilazione del blick per sapere se ti funziona o meno

menniti: Niente da fare, ho inserito le tue righe in AVRDUDE.CONF, ho aggiornato i files pins.Arduino.h e .c, ho creato la board, appena provo la compilazione mi dice mcu attiny4313 supported for assembler only

Questo non è un errore di avrdude, è del GCC, ti dice che non riconosce quel micro e che non può compilare.

astrobeed:

menniti: Niente da fare, ho inserito le tue righe in AVRDUDE.CONF, ho aggiornato i files pins.Arduino.h e .c, ho creato la board, appena provo la compilazione mi dice mcu attiny4313 supported for assembler only

Questo non è un errore di avrdude, è del GCC, ti dice che non riconosce quel micro e che non può compilare.

Dunque io ho solo eseguito il verify, senza tentare di fare upload, per cui dovrei spiegare al GCC che questo micro esiste, secondo te posso farlo e come?

menniti:
Dunque io ho solo eseguito il verify, senza tentare di fare upload, per cui dovrei spiegare al GCC che questo micro esiste, secondo te posso farlo e come?

Non puoi farlo, è necessario eseguire l’upgrade del compilatore per risolvere.

astrobeed:

menniti: Dunque io ho solo eseguito il verify, senza tentare di fare upload, per cui dovrei spiegare al GCC che questo micro esiste, secondo te posso farlo e come?

Non puoi farlo, è necessario eseguire l'upgrade del compilatore per risolvere.

Ottimo, allora faccio come il vecchio cinese, mi siedo davanti al PC e aspetto, qualcosa accadrà :) per il momento il 4313 può aspettare anche lui e tornare nel cassetto.

menniti: Ottimo, allora faccio come il vecchio cinese, mi siedo davanti al PC e aspetto, qualcosa accadrà :) per il momento il 4313 può aspettare anche lui e tornare nel cassetto.

Ho verificato, il compilatore 4.3.2 abbinato all'IDE di Arduino non prevede il 4313, è previsto nella 4.3.3 che trovi nell'ultima release di WinAvr. Possibile soluzione indolore, non è detto che funzioni e adesso non ho tempo per provare, però se ti va di perderci un po di tempo prova a scaricare l'ultima relase di WinAvr, esegui l'installazione, si limita ad espandere i contenuti, dopo di che cancella il contenuto della cartella "..\arduino-0023\hardware\tools\avr" e copiaci dentro tutto quello presente nella cartella WinAvr, dovresti trovarla in "C:\Programmi\Atmel\WinAvr", esclusa la cartella avr32 che non ti serve. Fatto quanto sopra dovresti avere l'IDE aggiornato al compilatore 4.3.3 che include il 4313.

astrobeed:

menniti: Ottimo, allora faccio come il vecchio cinese, mi siedo davanti al PC e aspetto, qualcosa accadrà :) per il momento il 4313 può aspettare anche lui e tornare nel cassetto.

Ho verificato, il compilatore 4.3.2 abbinato all'IDE di Arduino non prevede il 4313, è previsto nella 4.3.3 che trovi nell'ultima release di WinAvr. Possibile soluzione indolore, non è detto che funzioni e adesso non ho tempo per provare, però se ti va di perderci un po di tempo prova a scaricare l'ultima relase di WinAvr, esegui l'installazione, si limita ad espandere i contenuti, dopo di che cancella il contenuto della cartella "..\arduino-0023\hardware\tools\avr" e copiaci dentro tutto quello presente nella cartella WinAvr, dovresti trovarla in "C:\Programmi\Atmel\WinAvr", esclusa la cartella avr32 che non ti serve. Fatto quanto sopra dovresti avere l'IDE aggiornato al compilatore 4.3.3 che include il 4313.

grazie, provo subito, sono curioso, anche perché se va a buon fine mi troverò altri possibili micro in elenco

Possibile che non riesco a trovare WINAVR sul sito Atmel? :fearful:

http://winavr.sourceforge.net/download.html

Ciao QP

ma hai chiamato il 4313 con il nome giusto nella board?(t4313)

BrainBooster: ma hai chiamato il 4313 con il nome giusto nella board?(t4313)

ho provato ora per scrupolo, ma anche l'attiny2313 viene scritto per intero, ecco perché dico che il nome deve essere altrove, come giustamente dice Astro.

@ QP: grazie, me lo dà come primo link ma mi era sembrato un po' sospetto :fearful: oltretutto mi dà in ftp una cartella zeppa di versioni, scarico l'ultima?

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

Ciao QP

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.

menniti: 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:

/* 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 , never directly. */

#ifndef _AVR_IO_H_
#  error "Include  instead of this file."
#endif

#ifndef _AVR_IOXXX_H_
#  define _AVR_IOXXX_H_ "iotn4313.h"
#else
#  error "Attempt to include more than one  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.

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

menniti: 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.

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.

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

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 ?

@ 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 :D 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 ;) 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à :astonished:

menniti: @ 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.