Parece que no puede escribir en spi flash

9

Bueno, he estado estancado en esto por un tiempo, tal vez 2-3 semanas en este punto. Simplemente no estoy seguro de lo que estoy haciendo mal. Estoy intentando escribir en esta spi flash part , y ahora solo estoy ejecutando rutinas para borrar, escribir y leer para tratar de aislarlo pero hasta ahora no hay suerte. Por supuesto, he resuelto un montón de errores en el camino ...

De todos modos, tengo mi línea WP atada a lo alto del tablero, y he reducido el reloj hasta 200 kHz, luego ejecuto mi rutina de borrado y se ve así:

PrimeroverificolaIDsoloparaladepuración,eseeselcomando9F,luegoconfiguroWRENconelcomando06,C7eselborradocompletodechips,yluegoverificoelbitdeestadocon05yestáclaro.Eltiempodeborradodelchipdeestacosaesdesolo35ms.

Ahorarecargomicódigoytratodeescribir:

Primero establezco WREN con 06, revise el estado para ver si WREN está configurado con 05, es así, luego envíe el comando de programa de página 02 a la dirección 0x000000. Puedes ver que estoy escribiendo deadcafe como los primeros bits. Tampoco aparece en la imagen aquí después de que se complete la escritura (una página o 256 bytes), envío el comando 0x04 para deshabilitar WREN. He observado eso y configuré los últimos cuatro bytes de mi búfer de página en 0xAA, 0x55, 0xAA, 0x55 y los vi justo antes de que el CS suba de nivel.

Ahora detenga el código de recarga e intente ejecutar un ciclo de lectura: Envíe 0x03 como comando de lectura y 0x000000 como la dirección, y ... todos los 0xFF se devuelven desde el dispositivo.

Puedo ver el dispositivo respondiendo a mi ID de lectura y configurar los comandos WREN para que sepa que me escucha y puedo responder. No sé qué estoy haciendo mal en este momento. Supongo que volveré a leer la hoja de datos e intentaré algunas cosas, pero si alguien tiene alguna idea, agradecería la ayuda. Se perfila como otro fin de semana frustrante trabajando en esto.

    
pregunta confused

1 respuesta

3

Simplemente odio que esto todavía esté en la parte superior de la lista de "sin respuesta", así que voy a responder.

Como se indica en los comentarios de 'confundido', hay un comando llamado 'Desbloqueo global' que debe ejecutarse antes de escribir en la parte flash.

    
respondido por el slightlynybbled

Lea otras preguntas en las etiquetas