|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Oct 2009
Messaggi: 532
|
come si porgrammanoi componenti elettronici?
per programmare componenti elettronici, di qualsiasi genere, qual è il linguaggio più adatto?? l'assembly??
e se uno volesse iniziare a studiare qualcosa, dove dovrebbe sbattere la testa??
__________________
------HP Pavilion Dv6 2040EL------------------------ Processore: Intel Core i7 1.6 Ghz Q720 RAM: 4 Giga Scheda Video: NVIDIA GeForce GT 230M 1GB dedicata |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2004
Città: Padova
Messaggi: 2342
|
Dipende dal componente... per esempio un DSP o microcontrollore di solito si programmano in C (che puoi integrare con assembly).
__________________
CPU Ryzen 2600 @ 3,95Ghz + Bequiet Dark Rock TF / MB Asus X470-F Gaming / RAM 2x8GB DDR4 G.Skill FlareX 3200 CL14 / VGA Sapphire RX 7900 XT Nitro+ @ 3200Mhz / SSD Samsung 970 Pro 512GB + Sandisk 240GB Plus + Sandisk 960GB Ultra II PSU Seasonic Platinum P-660 / Headset Kingston HyperX Flight |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Oct 2009
Messaggi: 532
|
quindi l'ìassembly non è il miglior linguaggio per programmare componenti elettronici?
__________________
------HP Pavilion Dv6 2040EL------------------------ Processore: Intel Core i7 1.6 Ghz Q720 RAM: 4 Giga Scheda Video: NVIDIA GeForce GT 230M 1GB dedicata |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Nov 2004
Città: Padova
Messaggi: 2342
|
Quote:
L'assembly lo puoi usare (lo puoi pure embeddare nel C) ma porterebbe via molto più tempo al programmatore e poi i vari produttori di MC e DSP spesso forniscono dei compilatori ottimizzati proprio per programmare sui loro dispositivi, per cui il C è probabilmente la via più utilizzata.
__________________
CPU Ryzen 2600 @ 3,95Ghz + Bequiet Dark Rock TF / MB Asus X470-F Gaming / RAM 2x8GB DDR4 G.Skill FlareX 3200 CL14 / VGA Sapphire RX 7900 XT Nitro+ @ 3200Mhz / SSD Samsung 970 Pro 512GB + Sandisk 240GB Plus + Sandisk 960GB Ultra II PSU Seasonic Platinum P-660 / Headset Kingston HyperX Flight |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Questa domanda mi spaventa. L'hai messa giù troppo genericamente. Innanzitutto non tutti i componenti elettronici si programmano. Un transistor non si programma!!
Ad essere programmabili sono quelle che si chiamano Logiche Programmabili. Di questa famiglia fanno parte una valanga di dispositivi che vanno dai PLA, agli ASIC, fino agli FPGA. Ognuno di questi è progettato in un certo modo e ammette vari metodi di programmazione. Ad essere programmabili, nel senso classico, sono i sistemi basati su architetture Von Neumann e Harvard. Per farla breve, il programmatore mette da qualche parte ( un'area di memoria ram o rom, un disco magnetico, ecc... ) una sequenza d'istruzioni. Le istruzioni sono codificate secondo l'ISA del dispositivo. L'assembly non è altro che una trasposizione leggibile dall'uomo dell'ISA della cpu che stai utilizzando. Il realtà la cpu non esegue le istruzioni assembly ma la loro traduzione in linguaggio macchina. Stesso discorso vale per il C. In questo caso è il compilatore a tradurre le istruzioni in linguaggio macchina. Per i dispositivi come gli FPGA la faccenda è completamente diversa, semplicemente si scarica nel dispositivo una mappa che descrive la funzione di ogni singolo gate o le connessioni tra i gate. |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Oct 2009
Messaggi: 532
|
quindi se io voless iniziare a capirci qualcosa da perdetto neofita, come dovrei fare? in che modo mi dovrei approcciare??
__________________
------HP Pavilion Dv6 2040EL------------------------ Processore: Intel Core i7 1.6 Ghz Q720 RAM: 4 Giga Scheda Video: NVIDIA GeForce GT 230M 1GB dedicata |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Nov 2004
Città: Padova
Messaggi: 2342
|
Quote:
Giusto per intenderci, mi riferisco a cose del genere: http://www.microchip.com/pagehandler.../family/16bit/ (dsPIC della microchip) Ma ovviamente esistono diversi modi di "programmare", non sempre legati alla scrittura del codice, in relazione alle diverse tipologie di chip. Tu che componenti elettronici stai immaginando?
__________________
CPU Ryzen 2600 @ 3,95Ghz + Bequiet Dark Rock TF / MB Asus X470-F Gaming / RAM 2x8GB DDR4 G.Skill FlareX 3200 CL14 / VGA Sapphire RX 7900 XT Nitro+ @ 3200Mhz / SSD Samsung 970 Pro 512GB + Sandisk 240GB Plus + Sandisk 960GB Ultra II PSU Seasonic Platinum P-660 / Headset Kingston HyperX Flight |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Innanzitutto concentrati per ora sui soli microprocessori e in particolare gli x86.
Ci sono ottimi libri sull'architettura x86 tra cui Art of Assembly, Assembly Language for x86 Processors e Hacking the art of exploitation. Quest'ultimo è un libro sull'hacking ma è decisamente introduttivo e contiene i primi capitoli che parlano estensivamente della programmazione a basso livello delle cpu x86. |
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Oct 2009
Messaggi: 532
|
Quote:
@demos88 io no ho idea di come cominciare... sicneramente non credevo che ci fossero modi diversi di programmare.... comunque credo che iniziare con un libro basilare per x86 e poi passaare a controllori e cose varie non sia tanto difficile.. cioè alle fine la teoria è sempre la stessa, cambia solo il modo in cui va applicata?
__________________
------HP Pavilion Dv6 2040EL------------------------ Processore: Intel Core i7 1.6 Ghz Q720 RAM: 4 Giga Scheda Video: NVIDIA GeForce GT 230M 1GB dedicata |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Purtroppo l'informatica è nata in inglese. Risorse valide in italiano se ne trovano pochissime, su argomenti così avanzati se ne contano sulle dita di una mano.
C'è questo sito ad esempio http://www.giobe2000.it/Assembler/index.htm E ci sono alcuni libri di architettura dei calcolatori ( come il Tanenbaum ), però non spiegano l'assembly x86 ma danno un'idea generale di come funziona un computer a livello elettronico. Magari è pure conveniente farsi prima un'idea di massima, anche se con i libri che ho consigliato si comprende man mano tutto il quadro. |
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Oct 2009
Messaggi: 532
|
Quote:
e sopratutto dove potrei ottenerli?
__________________
------HP Pavilion Dv6 2040EL------------------------ Processore: Intel Core i7 1.6 Ghz Q720 RAM: 4 Giga Scheda Video: NVIDIA GeForce GT 230M 1GB dedicata |
|
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Il primo è offerto gratis su internet dall'autore stesso. Gli altri si vendono in libreria ovviamente
![]() Però ti conviene forse cominciare da quel sito che ho linkato. Almeno ti fai un'idea generale. |
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Oct 2009
Messaggi: 532
|
è necessario? perchè preferirei apporcciarmi a qualcosa di cartacero piuttosto che a un amteriale online...
__________________
------HP Pavilion Dv6 2040EL------------------------ Processore: Intel Core i7 1.6 Ghz Q720 RAM: 4 Giga Scheda Video: NVIDIA GeForce GT 230M 1GB dedicata |
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
|
![]() |
![]() |
![]() |
#15 | ||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Soltanto un paio di precisazioni.
Quote:
Possiamo dire che è il linguaggio di più basso livello dopo quello macchina, e che gli "assomiglia molto". Quote:
Intanto non è detto che l'assembly consenta di mappare tutta l'ISA del processore. Chiari esempi: Motorola 68000 e Intel x86/x64, che hanno forme di "aliasing" per le istruzioni (un solo mnemonico assembly, più opcode nell'ISA). Inoltre mette a disposizioni dei costrutti di più alto livello (esempio: le macro; ma non solo).
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||
![]() |
![]() |
![]() |
#16 | ||
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Quote:
Quote:
le macro ad esempio sono costrutti offerti da certi assemblatori, ma puoi benissimo crearti un assembler che non offra macro |
||
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Generalmente assembly e assembler vanno di pari passo. Quando la casa madre definisce la sintassi degli mnemonici (che è quello a cui ti stai riferendo), definisce anche un linguaggio assembly completo di tutto ciò che serve per compilare (assemblare) i codici sorgenti e generare il codice oggetto.
Anche volendo togliere di mezzo le macro, rimangono le direttive per definire le sezioni, per specificare l'indirizzo di inizio del codice, definire le costanti, le etichette, ecc., che sono indispensabili per tirare fuori il codice oggetto da un sorgente assembly. Tutte cose che, com'è facile intuire, sono indispensabili per lavorare con questo linguaggio, e che vanno oltre la mera sintassi e definizione degli mnemonici. Poi nessuno impedisce di realizzare un assemblatore per un determinato processore con una sintassi diversa non soltanto dagli strumenti elencati, ma persino dagli mnemonici definiti dalla casa madre. E' il caso dell'odiosa sintassi AT&T disponibile per diversi processori, che è stata inventata da chi non ha mai lavorato seriamente in assembly andando oltre l'hello world, e che continua a far danni oggi.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#18 | |
Senior Member
Iscritto dal: Oct 2009
Messaggi: 532
|
Quote:
![]()
__________________
------HP Pavilion Dv6 2040EL------------------------ Processore: Intel Core i7 1.6 Ghz Q720 RAM: 4 Giga Scheda Video: NVIDIA GeForce GT 230M 1GB dedicata |
|
![]() |
![]() |
![]() |
#19 | |
Senior Member
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
|
Quote:
Se vuoi studiare elettronica non puoi che partire da qui: http://www.amazon.it/Elettrotecnica-...6709320&sr=1-5 per poi passare a: http://www.amazon.it/Elettronica-di-...6709423&sr=1-5 Altrimenti se ti interessa programmare parti dal pc e poi, dopo aver almeno cercato gli argomenti presenti in quei libri che ho citato, passi ai microcontrollori o ai dsp. Se vuoi la pappa pronta comprati Arduino ma prima o poi un libro di elettronica ti servirà!
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli! ![]() |
|
![]() |
![]() |
![]() |
#20 | |
Senior Member
Iscritto dal: Oct 2009
Messaggi: 532
|
Quote:
__________________
------HP Pavilion Dv6 2040EL------------------------ Processore: Intel Core i7 1.6 Ghz Q720 RAM: 4 Giga Scheda Video: NVIDIA GeForce GT 230M 1GB dedicata |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:36.