• Sábado 20 de Abril de 2024, 00:10

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - sangano

Páginas: [1]
1
Programación de Aplicaciones para Dispositivos / Re: Arrancar a programar para Iphone
« en: Domingo 6 de Septiembre de 2009, 06:41 »
Hola, lamentablemente hasta ahora no se puede(que yo sepa) utilizar otra plataforma que no sea un mac, en este sentido es muy cerrado, ahora seria que montaras una maquina virtual y poder funcionar asi. Ya con el SO de un mac(leapard por ejemplo), ahi tienes para programar Xcode e interface builder, que son las herramientas principales para programacion, ojala te sirvade de algo.

saludos.

2
Programación de Aplicaciones para Dispositivos / Re: Master Boot Record usb
« en: Lunes 4 de Agosto de 2008, 22:29 »
Hola, pude encontrar la solucion, dejo lo que hice por si  a alguien le sirve.
Código: Text
  1.  
  2. // esta estructura es para el paquete CBW que se envia en la comunicacion con el dispositivo, esto tambien por lo general es un areglo de char.
  3. // esto esta en el .h
  4. typedef struct USB_CBW
  5. {
  6.     int signature;
  7.     int tag;
  8.     int dataTransferLenght;
  9.     char CBWFlags;
  10.     char lun;
  11.     char CBWCBLenght;   
  12.     char CBWCommand[16];
  13. }CBW_STR;
  14.  
  15.  

en el archivo .c
Código: Text
  1.  
  2. int readMbr()
  3. {
  4.         int lba = 0; // este valor es donde se quiere comenzar a leer, cero por ser el master boot record.
  5.     int size = 512; // tamaño de paquete para mandar.
  6.         int reuturData;
  7.        char mbr[512];
  8.        memset(mbr, 0x0, 512); // variable para guardar el mbr retornado.
  9.  
  10.     cbw.signature = 0x43425355;
  11.     cbw.tag = 1234;
  12.     cbw.dataTransferLenght = sendDataLen;
  13.     cbw.CBWFlags = 0x80;
  14.     cbw.lun = 0x0;
  15.     cbw.CBWCBLenght = 10;
  16.     cbw.CBWCommand[0] = 0x25; // este es el valor del comando scsi de lectura.
  17.         cbw.CBWCommand[2] = (zero & 0xFF000000) >> 24;
  18.     cbw.CBWCommand[3] = (zero & 0xFF0000) >> 16;
  19.     cbw.CBWCommand[4] = (zero & 0xFF00) >> 8;
  20.     cbw.CBWCommand[5] = (zero & 0xFF);
  21.     cbw.CBWCommand[7] = (size & 0xFF00) >> 8;
  22.     cbw.CBWCommand[8] = (size & 0xFF);
  23.  
  24.         // enviando el comando cbw.
  25.        returnData =  usb_bulk_write(devHandle, 0x02, (char *)&cbw, 31, 5000);
  26.  
  27.        // recuperando el mbr.
  28.        returnData = usb_bulk_read(devHandle, 0x81, mbr, 512, 5000);
  29. }
  30.  
  31.  

Despues de haber recuperado el mbr, se tendria que enviar el paquete csw para aseguarse de que todo salio correcto.
omito esto si no se alargaria mucho el codigo.

la informacion la saque de la pagina de usb.org  en developers/devclass_docs , ahi hay informacion sobre los comandos que se le envian al usb. Tambien recordar que utilizo libusb para la comunicacion con el dispositivo.

saludos.

3
Programación de Aplicaciones para Dispositivos / Master Boot Record usb
« en: Miércoles 25 de Junio de 2008, 06:21 »
Hola a todos, mi primer post aqui, bueno, he estado haciendo pruebas con libusb para trabajar con un pendrive(mass storage), pude hacer algunas cosas con el  tales como, reconcer el fabricante, modelo, y la capcidad de este, ahora quiero guardar y obtener archivos(mp3, zip, txt, etc), aqui mi problema, segun lo que he investigado, casi tengo que crear un sistema de archivos pora poder trabajar con el dispositivo. Para esto necesito obtener la el MBR para saber el formato(deberia ser algun fat) y leer las particiones, pero no consigo o no entiendo como hacer esto, no encuentro en los comandos estandar scsi como hacerlo, ni otra forma de realizar esta operacion.
 Si alguno ya tuvo alguna experiencia con esto o esta en lo mismo que yo, se agradeceria la ayuda.

saludos.

Páginas: [1]