Hi there. I am trying to devise a means to flash the W25Q32BV SPI flash chip connected to our ADSP-SC573 processor. My requirements are 1. that it can be flashed with a command line utility and 2. that the command line utility runs on linux. There are good reasons for these requirements which I won't go into.
According to CCES 2.10.1 documentation, openocd flash programming supports external CFI-compatible NOR flashes, and there is no mention of SPI flash programming. Therefore an alternative method must be found. The proposed approach is:
1. Add a module to my application that exposes a UART interface.
2. Write a python script that sends a .ldr file over UART to the application, followed by a checksum. This file will contain programs to be executed on the ARM core and on the SHARC core.
3. Include in the module described in (1) an SPI interface that copies the binary over to SPI2 FLASH, unless the checksum fails, in which case return an error code and do nothing.
4. Have boot select switch set to 1, which on boot will cause the ARM processor to set up DMA channels to read from external memory into L1 SRAM for SHARC core sections and L2 SRAM for ARM core sections, as well as some other locations (MCAPI and DRAM) for other software modules.
My questions are:
1. Does the version of OpenOCD bundled with CCES 2.10.1 support programming SPI flash chip bundled with the ADZS-SC573-EZLITE HDK?
2. Is there a simpler way to satisfy my requirements? In other words, do I have to go to the effort of writing my own bootloader just to use linux? I hope I am wrong.
3. In step (4) above, by just putting an LDR file in SPI flash, will the hardware do the rest for me and enable me to boot into my application on both cores, as expected?
NOTE 1: There are some forum posts on this issue but I have not found an answer to my questions.
- How to load .ldr from SD card to SPI flash then boot BF609?
- After bootup application runs from SPI flash instead of DDR.
- BF706 serial flash W25Q32BV device programming tool problem
- BF70x spi flash memory-mapped
NOTE 2: When we receive our boards, we will use cldp.exe for the first flash.