Post Go back to editing

SC573 program SPI2 Flash ROM

Category: Software
Product Number: ADSP-SC573

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.

NOTE 2: When we receive our boards, we will use cldp.exe for the first flash.