[OT ITA] Lo spamm bar (Part 1)

Un tutorial di base per i GPIO dei nuovi AVR ... Getting Started with GPIO :slight_smile:

Guglielmo

Ieri sul sito di microchip mi stavo documentando su Car Access ed in effetti microchip offre qualcosa, però manca documentazione e quella che c'è deriva da Atmel, io vorrei rimanere su AVR.

Comunque in generale sono interessato a progetti Open Sources sul Car Access.

Ciao.

I prodotti "Car Access" di Microchip sono quelli di Atmel, ma non sono i classici AVR, sono chip dedicati (come immagino tu abbia già visto :D).

Guglielmo

Ho l'impressione che qualcuno abbia avuto un "rimprovero dall'alto", altrimenti non si capirebbe la "giustificazione" di Guglielmo.
Per me non sembravano "consigli per gli acquisti"..... :wink:

speedyant:
Ho l'impressione che qualcuno abbia avuto un "rimprovero dall'alto"

... assolutamente NO, oltretutto siamo in Spam Bar, ma ... come diceva qualcuno un tempo ..."a pensar male si fa peccato ma quasi sempre ci si azzecca" e quindi ... ho voluto precisare :grin:

Guglielmo

P.S.: E nota che ho fatto la stessa cosa, in altro thread, sul forum ufficiale ... conosco i miei polli :smiling_imp:


Guglielmo

Ciao a tutti ... sono "tonnato" (come il vitello :stuck_out_tongue: :D)

Attualmente sono poco online (anche se ora la linea di casa dovrebbe funzionare) perche' per la maggior parte del tempo sono in giro a fare lavoretti saltuari, mentre cerco qualcosa di piu stabile (ancora non ho trovato alcun impiego fisso, ne' purtroppo credo ne trovero' a breve ... ma si spera sempre)

Voi tutti bene, spero :wink:

Voi tutti bene, spero :wink:

Si tutto bene più o meno come stai tu, ma mi sento stabile nell'intervallo di 1ms, infatti affermo "Si tutto bene.." ma subito dopo mi chiedo se stare tutti più o meno come te equivalga a dire che stiamo bene. :smiley:

PS: La faccina dello schizzato non la ho.

Io personalmente vado avanti a calci in culo, ma se trovassi qualcuno che i calci me li da eviterei di dovermeli dare io sti calci in culo. :wink:

Ciao e bentornato.

Etemenanki:
Ciao a tutti ... sono "tonnato" (come il vitello :stuck_out_tongue: :D)

Oh ... chi si rivede ... cominciavo a preoccuparmi ...
... ben tornato e ... auguri che, se cerchi "un posto fisso", né hai sicuramente bisogno :wink:

Guglielmo

gpb01:


Guglielmo

Adesso c'è anche la SUPER! :slight_smile: :slight_smile:

Maurotec:
...
PS: La faccina dello schizzato non la ho.

ma ... schizzato cosi , o schizzato cosi ? ... :smiley: :smiley: :smiley:

gpb01:
... auguri che, se cerchi "un posto fisso", né hai sicuramente bisogno :wink:

Eh, purtroppo lo so ... tutti cercano o massimo venticinquenni (ed io ne ho "un paio" di piu :D), oppure gente a cui manca un'anno, massimo uno e mezzo, alla pensione (cosi possono assumerli a tempo indeterminato sapendo gia che piu di tanto non rimangono li) ... io la pensione la vedro' (forse, se esistera' ancora) fra almeno 11 o 12 anni, quindi "non interesso" piu di tanto ... eh, be, si continua a cercare ...

Etemenanki:
Ciao a tutti ... sono "tonnato" (come il vitello :stuck_out_tongue: :D)

Voi tutti bene, spero :wink:

Beh, abbastanza bene, grazie

Fa sempre piacere rileggersi

Grazie di essere tornato, o mio buon diavolo del silicio

Parliamo di cose serie.
avr-libc è ferma alla versione 2.0, attualmente vedo poche speranze che il progetto vada avanti.
avr-gcc è alla versione 9.2 dove c'è apparente supporto per le nuove mcu con periferiche indipendenti come attiny817-814 ecc.

Microchip da la possibilità di scaricare i device support file da qui:http://packs.download.atmel.com/

Alcuni di questi file sono utili per ricavare gli header file da includere ed in generale per automatizzare la generazione del tree dei sorgenti di avr-libc per poi fare il build. Se questa prospettiva si rivela funzionale sarà possibile mantenere il progetto con meno lavoro si spera.

Qualcuno ha già provato a fare questo lavoro e lo trovate qui.

Il build di quel tree non compila del tutto, il motivo risiede nel include/avr/makefile.am dove la riga 646 ha 4 spazi anziché un TAB. (make vuole il TAB).

Risolto questo saltano altri problemi, il più importate si presenta nel momento di compilare malloc.c, l'errore è il seguente:

avr-gcc -DHAVE_CONFIG_H -I. -I../../..  -I../../../common -I../../../include -I../../../include  -Wall -W -Wstrict-prototypes -mmcu=avr2 -D__COMPILING_AVR_LIBC__ -mcall-prologues -Os  -MT malloc.o -MD -MP -MF .deps/malloc.Tpo -c -o malloc.o ../../../libc/stdlib/malloc.c
In file included from ../../../libc/stdlib/malloc.c:38:
../../../libc/stdlib/malloc.c: In function 'malloc':
../../../libc/stdlib/stdlib_private.h:90:34: error: 'AVR_STACK_POINTER_REG' undeclared (first use in this function)
   90 | #define STACK_POINTER() ((char *)AVR_STACK_POINTER_REG)
      |                                  ^~~~~~~~~~~~~~~~~~~~~
../../../libc/stdlib/malloc.c:165:8: note: in expansion of macro 'STACK_POINTER'
  165 |   cp = STACK_POINTER() - __malloc_margin;
      |        ^~~~~~~~~~~~~

Come si vede sta compilando per AVR2.
AVR_STACK_POINTER_REG è una macro creata se esiste la macro SP.

Tutte le mcu appartenenti al gruppo AVR2 hanno 8k e l'indirizzo dello Stack pointer dovrebbe essere lo stesso.
Quando si compila per AVR3 ecc la malloc viene nuovamente compilata per poi fare parte di libc.a, quindi un libc.a per gruppo (AVR2, 3, 4, 5 ecc).

La compilazione potrebbe non andare a buon fine perché avr-gcc installato nel mio sistema non fornisce supporto per AVR2 e mancano quindi gli specfile.

Devo provare se eliminando AVR2 (e tutti gli altri gruppi non supportati da avr-gcc) da avr-libc per vedere se almeno compila con successo.

PS: mi scoccia non potere usare alcune MCU interessanti come i nuovi attiny.

Ciao.

Maurotec:
PS: mi scoccia non potere usare alcune MCU interessanti come i nuovi attiny.

Sarà ora che ti scarichi MPLAB X, XC8 e la AVR Toolchain e cominci a programmare in quell'ambiente :wink:

I prima ad essere supportati sono proprio i nuovi ATtiny (... che ormai sono prodotti da Microchip) :smiley:

Guglielmo

Sarà ora che ti scarichi MPLAB X, XC8 e la AVR Toolchain e cominci a programmare in quell'ambiente :wink:

Si l'ho scaricato da poco e devo dire che il pachiderma gira su Fedora, ma la vedo dura passare a sviluppare in questo ambiente. Ho anche XC8 ma ancora devo scaricare altro ma non so se lo farò mai.

Alla fine ho risolto con avr-libc3, l'ho installato in usr/local e per compilare per attiny817 compila e ho anche il code completition quando scrivo es PORTA. ecc mi mostra i membri della struct, questo con QtCreator, mentre con mplabx compila correttamente, non mi mostra i membri di struct e l'editor mostra PORTA.DIRSET sottolineato.

Come include ho solo xc.h.

Non trovo alcun esempio di progetto mplabx per avr, quindi non so se aggiungendo una define o header si abilita l'autocompletition. Oppure magari si paga questa caratteristica o ancora devo scaricare Giga su Giga.

Sono abituato male, ma CTRL+rotella su QtCreator è troppo comodo, se trovassi come abilitarlo su mplabx.
La cosa assurda che CTRL+rotella funziona nella Build Tab ma non nell'editor.

Ci devo dedicare almeno una settimana, poi se proprio non va mi rassegno.
Anzi no, XC8 c'è l'ho quindi configuro QtCreator per lavorare con questo, tanto si tratta comunque di GCC.

Ciao.

Maurotec:
Non trovo alcun esempio di progetto mplabx per avr, quindi non so se aggiungendo una define o header si abilita l'autocompletition. Oppure magari si paga questa caratteristica o ancora devo scaricare Giga su Giga.

Hai cercato male, di esempi è piena la rete ... :smiley:
... l'autocompletameto è una funzione di base, ma è personalizzabile ... devi andarti avedere tutte le opzioni di MPLAB X che ... non essendo un prodotto amatoriale ma professionale utilizzato da milioni di aziende nel mondo, NON è banale né da usare né da configurare bene ... ::slight_smile:

Guglielmo

P.S.: A pagamento ci sono solo dei livelli in più di ottimizzazione dei compilatori o dei plug-in particolari, il resto è tutto gratuito. Su linux dovrebbe girare piuttosto bene visto che è tutto Java e NetBeans :wink:
P.P.S.: Per esempi vari prova a guardare QUI e QUI (link utili che ho già messo in passato)

Per l'autocompletition ho risolto abilitando in Options>Embedded>Enable Gathering of compiler symbols.
Ho risolto anche i problemi di intefaccia con caratteri troppo piccoli.

Rimangono solo poche cose da configurare, ma diciamo che già adesso dovrei essere pronto a portare alcuni progetti da QtCreator verso mplabx, così vediamo anche se risparmio un poco di flash.

Mentre per gli esempio che mi hai lincato, li avevo visti e sono tutti per PIC. Per tiny817 si trova qualcosa di atmel studio ma non riesco ad importarlo, vedremo compunque l'inizio è sempre traumatico.

Il simulatore è ottimo per quel poco che sono riuscito ad usare.

Su linux dovrebbe girare piuttosto bene visto che è tutto Java e NetBeans :wink:

Si gira bene, solo un poco lento nella fase iniziale e nel parser dei sorgenti rispetto a QtCreator che è scritto i C++.
Lavora bene secondo me perché assieme all'ide viene scaricato anche java, perché ricordo i primi esperimenti con java open sources e da li nasce il legame netbeans == pachiderma.

Peccato non potere usare AVR isp MKII da dentro mplabx, ma non è un problema.

Ciao e grazie sempre.

Maurotec:
Peccato non potere usare AVR isp MKII da dentro mplabx, ma non è un problema.

Purtroppo AVRISP MKII è stato abbandonato già a suo tempo da Atmel (prima dell'acquisizione) che ormai spingeva solo per il loro Atmel ICE (ottimo prodotto). MPLAB X ha ereditalo la situazione e quind NON ha implemnetato il vecchio AVRISP MKII, ma Atmel ICE oltre ai loro nuovi prodotti.

Comunque, come ho avuto già modo di segnalare, SNAP (che è un PICkit 4 castrato), supporta PIC (MIPS), ARM ed AVR. Dato il costo ridicolo (e, come hai visto in passato, ogni tanto va in offerta al 50%) conviene mettersene un paio in casa ed usare quello :smiley:

Guglielmo

A chi dovesse interessare, faccio notare che questo mese la scheda di sviluppo "SAM D21 Xplained Pro Evaluation Kit" è in offerta sullo store di Microchip con lo sconto del 20% il che ne porta il costo dagli originali 28 US$ a circa 22.40 US$.

Si tratta di una scheda basata su Atmel SAM D21 (lo stesso delle varie Arduino MKR - SAM D21 ARM® Cortex®-M0+) che ha integrato, come tutte queste schedine di sviluppo di Microchip, il programmatore/debugger, ed è direttamente supportata da MPLAB X e dal nuovo Harmony 3 :wink:

Insomma, un buon entry-level per chi desidera avvicinarsi a dette MCU (ricordo che il mercato e di conseguenza Microchip, sta sempre più andando verso tale architettura).

Guglielmo

Interessante, come sempre!