begin process at 2008 08 30 18:42:42
1 234 147 membres
180 nouveaux aujourd'hui
14 294 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Lire données sur un support non formaté? [ Système / Fichier & Disque ] (Djedj)

Lire données sur un support non formaté? le 06/03/2007 15:49:06

Djedj
Bonjour,

Alors pour être bref : j'ai besoin de lire des données sur une carte SD... Mais problème : ces données ont été écrites "à la queue leu leu", octet par octet, par un microcontrolleur de type PIC. En l'absence d'un système de fichier FAT, la carte n'est donc évidemment pas reconnue par windows. Comment néanmoins pourrais-je accéder aux bits de ma carte SD depuis VB?

Merci d'avance!

Re : Lire données sur un support non formaté? le 06/03/2007 19:04:16

rt15
Membre Club
Salut,

Déjà bon courage...

Je te propose une astuce assez stupide m'enfin... Je suppose que ton PIC, tu peux lui dire d'écire à partir d'une certaine adresse sur ta carte.

Donc si tu formate ta carte et que tu met un seul et unique énorme fichier dedans (Que tu remplie de 0 par exemple ou d'un caractère particulier).

Tu écris avec ton PIC au milieu de ta carte.

Tu récupère le fichier altérer sous Windows et tu retrouve la postion où le PIC a écrit.

A tes risques et périls... Je n'y connais rien en formatage.

Re : Lire données sur un support non formaté? le 06/03/2007 19:20:12

violent_ken
Membre Club


Violent Ken


Salut, je crois que c'est tout simplement impossible à réaliser.
La méthode pour lire/écrire dans un disque, c'est CreateFile, ReadFile, WriteFile et SetFilePointer. Et comme le handle récupéré par CreateFile est -1 quand le disque n'est pas formaté (je suis preque certain de çà)... c'est dead.

@+


Re : Lire données sur un support non formaté? le 06/03/2007 19:28:48

casy
Membre Club
La solution serait d'accèder à la carte, non pas comme un disque amovible comme le voit Windows mais en direct comme le fait le PIC.
Je sais pas si c'est possible, mais si ça l'est, il faut surrement passer par la création d'un driver spécifique, et donc pas en VB

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #

Re : Lire données sur un support non formaté? le 06/03/2007 19:31:30

violent_ken
Membre Club


Violent Ken


Oui voilà, il faudrait concevoir un driver, parce que sinon en VB on n'a que les APIs Windows pour travailler sur le disque.
Mais aussi puissantes soient-elles, c'est pas jouable de lire un disque non formaté.

@+


Re : Lire données sur un support non formaté? le 06/03/2007 20:20:28

Djedj
Pourtant des utilitaires de récupération comme smart recovery peuvent récupérer des données sur des partitions corrompues . Pr rt15, c'est une idée, pas très professionnelle malheureusement, mais c'est peut-être une solution si je veux eviter de me programmer un PIC pour qu'il gère le FAT16... Ce n'est pas tellement une surprise, mais j'esperais quand même qu'il existait des API windows me permettant de lire des bits sur un support non formaté!

Re : Lire données sur un support non formaté? le 06/03/2007 20:36:40

casy
Membre Club
Les utilitaires de récupérations n'utilisent en général pas les api windows, ils travaillent en mode driver en court-circuitant les fonctions de Windows directement en adressant physiquement le disque à travers le noyau.

Certains mêmes (comme EasyRecovery pour le rcup, ou la suite Blancco pour l'effacement par exmple), court-circuite même totalement windows (kernel, noyau, ...) et travaille directement avec les fonctions bas niveau du bios.

Déjà que la programmation de drivers n'est pas à la portée de tous, ce type de programmation est réservé à une part restreinte de l'élite de la programmation.

Quant aux apis pour lire sur des supports non formater, je vais prendre une image pour t'expliquer. Windows ne sert que lire ou écrire sur les pages d'un livre dûment fabriqué (avec table des matières, pages numérotés, ...). Ce que tu veux faire, toi, revient à lire ou ecrir directement sur le rouleau de papier (le gros rouleaux de plusieurs tonnes, 6 en général) qui sort de l'usine à papier et qui servira plus tard, bien plus tard, à fabriquer le livre pour Windows.

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #

Re : Lire données sur un support non formaté? le 06/03/2007 20:41:38

rt15
Membre Club
debug (En invite DOS, sur tous les PC) permet de récupérer des secteurs de boot (fonctions read et write). Mais je sais pas à quel point il travail bas niveau et donc s'il peu bosser sur du non formaté (Y a différents niveau de formatage tout ça tout ça en plus). Il travail sur les secteurs apparement.

Si tu parviens à faire un load, de ta carte SD, tu pourras faire un write dans un fichier de ton dur.

ATTENTION : Un write mal ajuster sur ton dur peux faire très mal. Dans ton cas tu n'as pas besoin d'utiliser d'arguments avec ta commande write (Pour l'utiliser de façon sûre, il faut faire n nom fichier, ajuster cx et bx, puis utiliser write sans argument.

Par contre faudrait essayer de travailler les arguments du load.

Un manuel de debug.


Re : Lire données sur un support non formaté? le 06/03/2007 21:33:58

42wawa42

Si tu as écrie le soft "write" pour le PIC, tu dois être capable a écrire le soft "read" très simple non.... Beaucoup trop de ligne écrite pour rien dire. Mais le développement Casy sur le rouleau de papier est très proche de la réalité. 


Re : Lire données sur un support non formaté? le 07/03/2007 12:44:30

Djedj
Merci à tous pour vos réponses! Hélas, ça m'a l'air encore plus compliqué de forcer VB à lire du non formaté que de forcer le PIC à écrire sur du FAT, et le temps me manque... je vais commencer par essayer la solution de rt15 (fichier vide, dans lequel on écrit séquentiellement), et éventuellement je programmerai les drivers PIC pour gérer la FAT16.


Classé sous : données, lire, carte, formaté, support

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS