Pages: 1 ... 72 73 [74] 75 76 ... 123   Go Down
Author Topic: [OT] PIC, 8051, MCU e CPU varie  (Read 41921 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Edison Member
*
Karma: 11
Posts: 1489
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

con tutto il rispetto, cosa hai mai sviluppato di serio ? e sopratutto in quanto tempo ?
Logged

Offline Offline
Edison Member
*
Karma: 38
Posts: 1900
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

con tutto il rispetto, cosa hai mai sviluppato di serio ? e sopratutto in quanto tempo ?

ecco, appunto. E' questo confine che vorrei sondare.
Logged

Offline Offline
Edison Member
*
Karma: 11
Posts: 1489
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

eh, se devi fare una coverage, p.e., vorrei capire se avete ben presente cosa significhi instrumentare il codice se non si hanno altri strumenti per tracciare esattamente dove e' passato il PC e quali condizioni hanno determinato il ramo True piuttosto che il ramo Else

se non avessi l'ulink pro dovrei mettermi li a manina ad infilare tante righe di serial_printfs o serial_putc/s prima e dopo di ogni IF, fin dentro nei rami, per non parlare del collisor per raccogliere le triplette in eseguzione e scaricarle poi dall'apparato

un bagno di sangue che vi lascio ben immaginare quanto sia "divertente" da fare e sopratutto da ri-fare se l'eng di turno vi cambia qualcosa nel fw sotto test (o se voi stesse cambiate qualcosa perché vi accorgete che la versione eng non rispetta qualche requisito o semplicemente avete tappato)

il codice che scrivo e' considerato "non funzionante" fintanto che non hai dimostrato che funziona in tutte le condizioni e sotto condizioni messe per iscritto nei vari requisiti, e alcuni sono di basso livello, il che significa che se usi una putc per sparare fuori sulla seriale qualcosa stai alterando lo scenario applicativo, il che significa, oltre il bagno di sangue, anche il dover giustificare a mano il perché si sia fatto in quel modo

con 700 euro di jtag mi evito tante di quelle rotture di scatole, ispeziono direttamente e al volo varie variabili sotto controllo, e se me la gioco bene in modo furbo riesco con qualche breakpoint scriptabile a runtime (quindi tutto automatico) a cavar fuori la coverage completa senza che io debba di fatto instrumentare nulla!

anche i test diventano rapidissimi in tutte le condizioni e sotto condizioni messe a requisitio, mi basta che lo script si breaki in un punto comodo ed alteri una variabile per dimostrare che il flusso e' corretto anche in un caso anomalo!



per non parlare poi del debugging sotto kernel, o sotto memory protection unit, o peggio ancora sotto cache!
Logged

Offline Offline
Edison Member
*
Karma: 11
Posts: 1489
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il talker anni '90 e' un pezzo di codice che gira in modo tale che per ogni istruzione viene sollevata una exception che porta l'esecuzione in un handler che ha il compito di aggiornare l'host. Cio' consente l'esecuzione step by step, con la possibilità' di breakasi in un punto comodo, alterare/visionare variabili, pero' il tutto richiede un un flusso dati notevole con la conseguenza che il codice compilato con talker in "debug" mode gira 1:(X^2) della frequenza del codice compilato in "release" mode (senza talker)

il talker e' anche molto invasivo, sopratutto aggiunge delle belle latenze temporali, e non e' affatto trasparente sotto interrupt essendo lui stesso del codice che gira sotto interrupt

e' la tecnologia degli anni '90 quando non c'era il jtag e/o gli studenti non potevano permettersi CPU-emulator hw, cose che costavano anche 25.000 euro.

oggi un talker minimale permette di caricare in flash del codice partendo dalla seriale e si usa quasi solo per questo e solo quando sul target non e' accessibile o implementato il jtag.

nessuno, eccetto i patiti dell'hobby (per altro virtuosisti), ci fa + debug!
« Last Edit: November 19, 2013, 07:48:47 pm by lock » Logged

0
Offline Offline
Shannon Member
****
Karma: 117
Posts: 10106
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

con tutto il rispetto, cosa hai mai sviluppato di serio ? e sopratutto in quanto tempo ?

su microcontrollori nulla al di fuori "del gioco", ma lato pc ci lavoro, anche se solo da un anno e mezzo.

Il punto è che i miei "talker" (non conoscevo il termine) li mantentengo nel codice (salvo non siano punti cruciali time-sensitive) proprio per "debuggare" anche quando si è in produzione.

Per esempio, il codice per il quad che sto scrivendo per la STM (che trovate sul github in firma, assieme ad altri progettini)i punti salienti vengono sempre spediti via USB; valore grezzo letto dai sensori, valore del quaternione post-dcm, valore degli angoli euleriani ricavati dal quaternione (che eliminerò a favore di versori), valore dato in pasto ai motori. (notare che il SW lato PC rielabora i valori di input e calcola la sua DCM, che viene confrontata con quella STM)
Ed ho ancora un sacco di banda USB libera.
Certo, poi, come ho detto per debuggare l'USB (interrupt) ho usato il vero debugger, anche se in tal caso mi pare che in alcune condizioni possa rompere il timing del protocollo USB, anche se non credo mi sia mai successo

Poi devi considerare anche che in java (ma sicuramente anche in altri linguaggi) ci sono le cosiddette "test unit", una serie di test che testano una per una le calssi/funzionalità, dandogli in pasto un input noto ed analizzandone il risultato. (mooooolto comode quando devi sistemare senza rompere i requisiti)
Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Edison Member
*
Karma: 11
Posts: 1489
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ma lato pc ci lavoro, anche se solo da un anno e mezzo.

non facciamo sempre confusione tra PC e cose embedded, non ci azzeccano nulla l'uno con l'altro, specialmente java!

Il punto è che i miei "talker" (non conoscevo il termine) li mantentengo nel codice (salvo non siano punti cruciali time-sensitive) proprio per "debuggare" anche quando si è in produzione.

no, tu fai sputare fuori del raw per migliorare o saggiare il codice, e' ben diverso dal fare una coverage, di fatto non stai debuggando nulla, ti stai rendendo conto o meno di quanto l'algoritmo di turno sia buono o scarso!

per debuggare in senso embedded devi poter modificare a caldo uno o più registri, alterare variabili, verificare che il codice passi o non passi in determinati punti, il tutto senza cambiare nulla nel contesto, senza ricompilare e senza essere minimamente invasivo, sopratutto sotto interrupt!

conseguenza nessun talker va bene, difatti e' 10 anni che nessuno più li usa se c'e' il jtag
Logged

Offline Offline
Edison Member
*
Karma: 11
Posts: 1489
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sulla evb del DSP56000 c'e' un talker addirittura assistito da una MPU esterna, il tutto seguito sull'host da uno specifico programma DOS: funzionare funziona (solo in asm), pero' e' la preistoria, difatti, cosa rilevante, i tempi di sviluppo si allungano in progressione geometrica =P

Logged

Offline Offline
Sr. Member
****
Karma: 2
Posts: 396
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

salve a tutti, mi scuso per rivolgermi in questo forum per una piattaforma che non centra nulla con arduino smiley-sad
mi è stato regalato il freedom kl25z della freescale
http://it.farnell.com/freescale-semiconductor/frdm-kl25z/kl25z-freedom-board-arm-dev-board/dp/2191861
volevo imparare a programmare per questa piattaforma dato che già so muovermi con arduino con il C non pensavo che cambiasse molto. parto però già con il piede sbagliato.
l'inglese io non lo mastico purtroppo e non trovo materiale che può aiutarmi.
di questa scheda non conosco nulla neanche come programmarla e vado malissimo perché non so che programmi devo usare smiley-sad quindi mi rivolgo a voi sperando che qualcuno con la mia stessa curiosità ha comprato questa scheda e può dirmi almeno come partire. scusate ancora e grazie per la pazienza.
Logged

Offline Offline
Edison Member
*
Karma: 38
Posts: 1900
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

salve a tutti, mi scuso per rivolgermi in questo forum per una piattaforma che non centra nulla con arduino smiley-sad
mi è stato regalato il freedom kl25z della freescale
http://it.farnell.com/freescale-semiconductor/frdm-kl25z/kl25z-freedom-board-arm-dev-board/dp/2191861
volevo imparare a programmare per questa piattaforma dato che già so muovermi con arduino con il C non pensavo che cambiasse molto. parto però già con il piede sbagliato.
l'inglese io non lo mastico purtroppo e non trovo materiale che può aiutarmi.
di questa scheda non conosco nulla neanche come programmarla e vado malissimo perché non so che programmi devo usare smiley-sad quindi mi rivolgo a voi sperando che qualcuno con la mia stessa curiosità ha comprato questa scheda e può dirmi almeno come partire. scusate ancora e grazie per la pazienza.

1) Se non sai l'inglese, almeno quello Tecnico (più semplice) stai fresco

2) Una scorciatoia molto facile, e non-traumatica, può essere l'impiego della tua Board come sistema, o meglio, piattaforma, mbed. http://mbed.org/
In pratica la struttura del linguaggio e la modalità di programmazione, è molto simile ad Arduino, quindi avresti vita molto facile, almeno come scorciatoia iniziale per usare un Microcontrollore ARM.
Tra l'altro la board 25 è proprio mbed compatible. Devi solo aggiornare il firmaware (bootloader).

3) Personalmente sto sperimentando discrete difficoltà a padroneggiare ARM con sistemi di sviluppo "seri" come KEIL (uVision), la struttura di preparazione è abbastanza complessa e le conoscenze pregresse servono poco. Va quasi tutto reimparato da zero.

4) Qua trovi un corso in italiano su ARM Freescale. La board si basa sul 46, ma per ora i progetti e quanto descritto, sono compatibili anche con la tua board 25 based.  http://it.emcelettronica.com/primo-corso-tutti-su-arm-con-potenza-dei-micro-freescale
Nel link trovi la prima puntata del Corso, principiato a fine Settembre. Ora siamo alla 5a, per una puntata alla settimana.

Infine, IMHO, il passaggio da Arduino ad ARM è un salto troppo grande.
Logged

Offline Offline
Edison Member
*
Karma: 11
Posts: 1489
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

cosa non ti piace di Keil ?

vero anche che preferivo uVision v3, mi ci trovavo meglio, e non c'era la rogna del pack manager, ma per il resto siam li.
Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9185
"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

Ed ecco i nuovi PIC32 da 200 MHz che segnano 330 DMIPS
Logged

Offline Offline
Edison Member
*
Karma: 11
Posts: 1489
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

notare quel "30% Better Code Density", sarebbe da indagare perche' e' notevole per un RISC di classe MIPS!
Logged

Offline Offline
Edison Member
*
Karma: 38
Posts: 1900
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ed ecco i nuovi PIC32 da 200 MHz che segnano 330 DMIPS

Fantastico! Non vedo l'ora di vedere le prestazioni da fantascienza del mio LED-BLINK che lampeggerà perfettamente, quasi senza jitter! smiley-lol

Il mio benchmark preferito: un LED che lampeggia senza istruzioni di delay

main{
            while()  PORTC =!PORTC;
           }
Oscilloscopio alla mano, si vede a che frequenza viaggia...

Cmq interessanti questi nuovi cosi32, specie se conserveranno la facilità di programmazione dei PIC32 attuali. Poi costano una sega.

Lo sò che ha poco senso, ma cosa vieta ad un Hobbista, o un Professionista non estremo (che non deve pianificare milioni di pezzi, ma solo qualche centinaio), di utilizzare un oggetto del genere, che costa due lire in più di un 8 bit?

Logged

0
Offline Offline
Faraday Member
**
Karma: 39
Posts: 5608
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ma perche' dici che costa poco, questa schedina, lo starter kit ufficiale, costa 120dollari
http://www.microchipdirect.com/productsearch.aspx?Keywords=DM320006-C

c'e' una qualche specie di concorrente arduinico a prezzo arduinico ?
Logged

- [GUIDA] IDE1.x - Nuove Funzioni - Sketch Standalone - Bootloader - VirtualBoard
http://arduino.cc/forum/index.php/topic,88546.0.html
- [LIBRERIA] ST7032i LCD I2C Controller Library
http://arduino.cc/forum/index.php/topic,96163.0.html

Offline Offline
Edison Member
*
Karma: 38
Posts: 1900
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Machissenefrega dello Starterkit!  La MCU costa 7 dollari!
Logged

Pages: 1 ... 72 73 [74] 75 76 ... 123   Go Up
Jump to: