4 votos

Puede Blackfin DSPs de arranque de "cualquier tipo" de SPI flash externo?

Así que estoy trabajando en un proyecto que contiene un procesador Blackfin, específicamente el BF592 de hoja de datos

Una cosa que me confunde es exactamente cómo el proceso de inicio de trabajo. Durante el desarrollo, he pensado en la carga de programas a través de la interfaz JTAG. Esto también me permite depurar.

Sin embargo, cuando, de hecho, quiero implementar un programa que se puede iniciar desde cero, que tendrá lugar el programa (gestor de archivos) en algún tipo de flash externo. Mirando el BF592 hoja de datos, puedo tener el procesador de arranque externo de flash SPI.

Uno de los modos de arranque se describe de la siguiente manera:

SPI1 de arranque maestro de flash (BMODE = 0 x 2) - En este modo, SPI1 está configurado para funcionar en modo maestro y a conectarse a de 8, 16, 24 o 32 bits dispositivos direccionables. El procesador utiliza la PG11/SPI1_SSEL5 para seleccionar una sola SPI EEPROM/flash del dispositivo, envía un comando de lectura y sucesivas bytes de dirección (0×00) hasta una validez de 8, 16, 24 o 32 poco direccionable dispositivo es detectado, y comienza la sincronización de datos en el procesador. Las resistencias Pull-up son necesarios en el SSEL y MISO pines. Por defecto, un valor de 0×85 está escrito a la SPI_BAUD registro.

Estoy confundido. Exactamente cómo funcionaría esto? Cómo sería el SPI maestro sabe lo que opcode a presentar para el flash externo tal que la memoria se recupera? Por ejemplo, he estado mirando este flash externo IC. Se requiere un código de operación de 0x0B para ser enviado seguido por el deseado 3 bytes de la dirección. Cómo sería exactamente el SPI maestro en el Blackfin conocer a este problema?

He estado cavando profundamente en la Blackfin manuales y a esta parte parece ser la mano saludó con la mano. Exactamente lo que me estoy perdiendo? Hay algunos registros de configuración en el Blackfin donde esto puede ser configurado? Necesito comprar algunos compatible con flash IC? ¿Hay alguna norma para SPI flash donde el opcode 0x0B siempre se utiliza cuando la extracción de datos?

Gracias!

Actualización: finalmente fui capaz de encontrar el dedicado manual de hardware de la que explícitamente se explica el inicio de SPI' de la secuencia. Consulte la página 690. Este dice, que emite un 0x03 o/y 0x0B código de operación.

4voto

GSerg Puntos 33571

Sí, la Blackfin "sólo sabe" que necesita para emitir un comando de lectura seguido por una dirección (todos los ceros) con el fin de cargar el software desde el exterior SPI flash. Los dispositivos de diferentes fabricantes (en su mayoría) utilizan el mismo conjunto de comandos.

El código que hace esto se almacena en una pequeña ROM dentro de la Blackfin propio chip. Usted tiene que cavar en busca de ella, pero los Dispositivos Analógicos usualmente tiene el código fuente para que la ROM escondido en algún lugar en la biblioteca de los archivos que vienen con las herramientas de desarrollo de software, en caso de que usted quiera.

He tenido ocasionalmente, es necesario para evitar errores en la ROM del cargador de arranque con respecto a determinados SPI flash dispositivos mediante la creación de una etapa adicional de cargar el gestor de arranque para mi proyecto. Yo uso la ROM de gestor de arranque para cargar una segunda etapa del gestor de arranque de la SPI flash, que, a continuación, carga el código de la aplicación. La segunda etapa del gestor es principalmente una copia de la ROM, bootloader, pero es construido a vivir dentro de las limitaciones de la ROM de código, mientras que también corregir el error relacionadas con la obtención del código de aplicación de carga.

Si usted está interesado en los detalles escabrosos, escribí un Circuito de Bodega artículo sobre él. El artículo no está disponible en línea, pero los asociados archivo contiene el código fuente de mi reemplazo del cargador de arranque, y los comentarios, no explicar exactamente cuál era el problema.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X