PDA

View Full Version : leggere e scrivere delle locazioni di memoria nell'embedded controller del notebook


falessi
27-06-2014, 10:25
Ciao a tutti!
Vorrei poter leggere e scrivere in locazioni fisiche di memoria, in modo da poter cambiare dei valori nell' embedded controller del mio notebook al fine di controllare la ventola della cpu/gpu.

Premetto che riesco a farlo usando RW-Everyting (RWE) ed AutoIT, ma aprire e chiudere ogni secondo RWE non è il massimo della vita, quindi vorrei poter effettuare le operazioni che faccio tramite RWE direttamente (e senza usare l'acpi poiché i valori inseriti vengono ignorati) usando del codice in C o in Labwindows/CVI

Come posso procedere?

Grazie

falessi
01-07-2014, 12:23
Ragazzi,
mi basta anche sapere come poter accedere a delle locazioni fisiche di memoria....

Grazie

WarDuck
01-07-2014, 13:10
La prima cosa che devi fare è cercare di capire su quali indirizzi logici viene mappato il controller, dopodiché in base alla marca e alla relativa documentazione non dovrebbe essere troppo complicato fare ciò che chiedi.

Non so inoltre se questo genere di controller hanno un protocollo di comunicazione standard (es. I2C).

falessi
01-07-2014, 17:30
Per quanto riguarda gli indirizzi ho quelli visibili tramite rw-everyting, ho anche i datasheet del controller....adesso però non so come puntare gli indirizzi in c (o in labwindows/cvi)....

WarDuck
01-07-2014, 22:15
Immagino tu sia su Windows, quanta esperienza hai con la programmazione C in quest'ambiente?

Comunque ho trovato una discussione su stackoverflow identica:

http://stackoverflow.com/questions/9385252/access-laptop-embedded-fan-controller-programmatically

Lì consigliano di usare questa API di Windows, se hai un indirizzo fisico, in maniera da mapparlo:

http://msdn.microsoft.com/en-us/library/windows/hardware/ff554618%28v=vs.85%29.aspx

Nota: sembra una funzione del Windows Driver Kit, non vorrei che devi farti un driver, ma non penso se lo fa RWEverything lo devi poter fare anche te.

Bisogna cercare meglio online...

falessi
02-07-2014, 12:58
Prima di tutto GRAZIE.
per quanto riguarda il sistema operativo...si sono su win (8.1).
per quanto riguarda la mia esperienza di programmatore...programmo da un po, ma non mi ritengo un programmatore di alto livello, anche perché la piattaforma che uso è il Labwindows/cvi, che supporta l'ansi c, che ho studiato all'università....non ho mai usat le api
per la discussione su stackoverflow...la conoscevo, ma non ho trovato nulla di utilizzabile.....

Gli indirizzi che RW-Everytng usa queste due locazioni: EC_SC=0066 E_DATA=0062...
L'embedded controller è un ITE 8512 E.