Así que estoy trabajando en un proyecto que contiene un procesador Blackfin, específicamente el BF592 hoja de datos
Una cosa que me confunde es cómo funcionará exactamente el proceso de arranque. Durante el desarrollo, planeo cargar programas a través de la interfaz JTAG. Esto también me permitirá depurar.
Sin embargo, cuando quiero implementar un programa de tal manera que pueda iniciarse desde cero, necesitaré colocar el programa (archivo de carga) en algún tipo de flash externo. Mirándolo en la hoja de datos BF592, puedo hacer que el procesador arranque el flash SPI externo.
Uno de los modos de arranque se describe a continuación:
arranque maestro SPI1 desde flash (BMODE = 0x2) - En este modo, SPI1 está configurado para operar en modo maestro y para conéctese a dispositivos direccionables de 8, 16, 24 o 32 bits. los el procesador utiliza el PG11 / SPI1_SSEL5 para seleccionar un solo SPI EEPROM / dispositivo flash, envía un comando de lectura y sucesivo dirija los bytes (0 × 00) hasta que sea válido 8, 16, 24 o 32 se detecta un dispositivo direccionable de bits y comienza a sincronizar los datos en el procesador. Se requieren resistencias pull-up en el Pasadores SSEL y MISO. Por defecto, se escribe un valor de 0 × 85. al registro SPI_BAUD.
Estoy confundido. ¿Cómo funcionaría exactamente esto? ¿Cómo sabría el maestro SPI qué código de operación enviar al flash externo para que se recupere la memoria? Por ejemplo, he estado mirando este flash externo IC. Requiere que se envíe un código de operación de 0x0B seguido de la dirección de 3 bytes deseada. ¿Cómo sabría exactamente el SPI master en el Blackfin emitir esto?
He estado profundizando en los manuales de Blackfin y esta parte parece que se agita con la mano. ¿Qué es exactamente lo que me estoy perdiendo? ¿Hay algunos registros de configuración en el Blackfin donde esto se configuraría? ¿Necesito comprar algunos flash IC compatibles? ¿Hay algún estándar para SPI flash donde el código de operación 0x0B siempre se utiliza al extraer datos?
¡Gracias!
Actualización: finalmente pude encontrar el manual de hardware dedicado que explica explícitamente la secuencia de 'arranque desde SPI'. Consulte la página 690 . Esto dice que emite un código de operación 0x03 y / y 0x0B.