Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1782 connectés 

  FORUM HardWare.fr
  Hardware
  Matériels & problèmes divers

  Adresses Mémoire des sondes

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Adresses Mémoire des sondes

n°8959486
Kaidaten
Posté le 02-12-2013 à 19:56:23  profilanswer
 

Bonsoir bonsoir,
 
Tout d'abord, je m'excuse si je me trompe d'endroit pour poser ma(mes) questions,  
je ne savais pas trop où les poster...
 
Cela fait plusieurs heures que je cherche un moyen d'accéder aux adresses mémoire des sondes de mon pc (températures, vitesse des ventilos etc...)
 
C'est dans le but de me faire un petit programme style mini-aida64, que je peux mettre sur un périphérique (une espèce de mini écran de monitoring)
 
Pouvez vous m'aider svp ?
 
Les adresses que j'ai trouvées n'ont pas l'air de fonctionner... (après, c'était un banal code C avec un pointeur sur l'adresse et un printf de la valeur pointée, pas certain que ce soit très efficace...)
 
Merci d'avance  !

mood
Publicité
Posté le 02-12-2013 à 19:56:23  profilanswer
 

n°8960125
Av3k
Posté le 03-12-2013 à 11:18:16  profilanswer
 

Quelles addresses par curiosité?
 
Sinon, je ne connais pas ces valeurs mais il est possible quelle soit stockée dans une zone mémoire "protégée" par le system, ce qui expliquerait que tu te fasses renvoyer si tu essaies d'y acceder.  
 
Comment y accèdes tu avec ton pointeur?

n°8960964
Kaidaten
Posté le 03-12-2013 à 20:38:46  profilanswer
 

Sur Everest, j'ai récupéré un fichier texte "propriété de la sonde"
Les adresses que j'ai utilisées sont celles ci :
 
------[ LM78 ISA Sensor Device at 0290 ]------
 
0000  00 00 00 00  00 00 00 FF  FF FF FF FF  FF FF FF FF
0010  FF 00 00 00  00 00 FF FF  FF FF FF FF  FF FF FF FF
0020  FF 01 02 FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
0030  FF 1F 20 16  FF 1F FF 1F  FF 1F FF 1F  FF 1F FF 1F
0040  F7 1F FF 1F  02 02 02 02  02 FF FF FF  FF FF 06 FF
0050  01 FF FF FF  FF FF FF FF  C1 FF FF FF  FF E1 00 FF
0060  FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
0070  FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
0080  FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
0090  FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
00A0  FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
00B0  FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
00C0  FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
00D0  FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
00E0  FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
00F0  FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
 
Bnk0  01 FF FF FF  FF FF FF FF  C1 FF FF FF  FF E1 00 FF
Bnk1  2A 00 00 4B  00 50 00 FF  FF FF FF FF  FF FF FF FF
Bnk2  FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
Bnk3  FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
Bnk4  00 73 FF FF  00 00 00 FF  FF 1E 17 33  09 FF FF FF
Bnk5  D1 CD 00 FF  00 00 00 00  00 00 00 00  00 00 00 00
Bnk6  7F 7F 7F 7F  FF FF 00 00  05 0A 00 00  00 00 00 00
 
J'ai essayé un peu de tout là dedans (^^" )
Pour le pointeur je fais ;  
int (ou double)* pointeur=NULL;
pointeur=0x*adresse*
 
J'ai aussi essayé les adresses mémoire qu'on peut trouver dans msinfo32, j'ai pris les adresses des "ressources carte mère"


Message édité par Kaidaten le 03-12-2013 à 20:41:15
n°8961450
Av3k
Posté le 04-12-2013 à 10:01:51  profilanswer
 

Et qu'est ce que le programme te renvoie quand tu essaies d'accèder a ces valeurs? Ce serait surprenant qu'il ne crash pas ^^
 
Je t'invite a réviser les accès mémoire en C car ta méthode d'accès n'est pas bonne :)
 
EDIT: allez je suis de bonne humeur :

Code :
  1. char ptr = * ((char *) 0x2A00004B);


 
Après rien ne garantie que windows t’autorise l'accès a cet espace mémoire, et la ça va être plus touchy.


Message édité par Av3k le 04-12-2013 à 10:07:40
n°8962259
Kaidaten
Posté le 04-12-2013 à 18:45:06  profilanswer
 

Ah je ne connaissais pas cette méthode ^^
Merci bien !

 

Je n'ai que quelques notions en C... Je suis en train d'étudier ce langage :)

 

Pourquoi faut-il écrire *((char *) *adresse*) ?

 

Et effectivement, lorsque je lançais mon "programme", j'avais un message "... a cessé de fonctionner."

Message cité 1 fois
Message édité par Kaidaten le 04-12-2013 à 18:45:42
n°8962798
Av3k
Posté le 05-12-2013 à 09:24:57  profilanswer
 

Kaidaten a écrit :

Ah je ne connaissais pas cette méthode ^^
Merci bien !
 
Je n'ai que quelques notions en C... Je suis en train d'étudier ce langage :)
 
Pourquoi faut-il écrire *((char *) *adresse*) ?
 
Et effectivement, lorsque je lançais mon "programme", j'avais un message "... a cessé de fonctionner."


 
Qu'est ce qui a cessé de fonctionner? Car dans ce cas, si tu es "sur" de ces adresses, tu ne devrais pas avoir ce msg, la ca peut signifier que tu tapes dans l'espace d'adressage d'un autre processus...
 
Pour t'expliquer rapidement : En C, il n'y a pas de moyen direct d'accèder a une adresse donnée "en dure" (car c'est sale, à risque etc....) il faut donc trouver un moyen de contourner la méthode traditionnelle (malloc, free etc..)
 
Donc le (char *) @ est un cast implicite, precisant que l'addresse 0x123456 est de type pointeur sur caractère (1 bit) le *(lecast) signifie  
que tu as un pointeur sur cette adresse. (je sais pas si c est très clair mais c'est pas si facile a explique....)
 
Si tu as que quelques notions en C, tu t'attaques à une partie bien au dessus de ton niveau actuellement, je t'invite à regarder les cours sur developpez.com notamment celui sur la gestion mémoire en C  :)  
 
Et petit conseil : code sous linux, tu auras bcp plus de facilité avec la mémoire qu'avec la gestion

Spoiler :

desastreuse

de celle ci sous windows  :hello:


Message édité par Av3k le 05-12-2013 à 09:27:30
n°8962878
Kaidaten
Posté le 05-12-2013 à 11:00:34  profilanswer
 

Ok je vais aller voir les cours sur developpez.com pour commencer :)
Merci pour ton aide !
 
Quant aux adresses, je ne suis pas sûr du tout. Je fais à tatillon ^^"


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Hardware
  Matériels & problèmes divers

  Adresses Mémoire des sondes

 

Sujets relatifs
Lecteur Cartes Mémoire USB 3.0Ma nouvelle barrette de mémoire ne fonctionne pas
conseil mémoire RAMMemoire 3bip court et un long(lenovo server)
Battlefield 4 et ses performances liées à la mémoireProblème incompatibilité entre barrettes de mémoire
Exposé sur la mémoire de masse centraleSlot mémoire H.S. ou Pb d'alim ??? Z87X-UD3H
fréquence carte mère et memoire 
Plus de sujets relatifs à : Adresses Mémoire des sondes


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR