I've been trying for the past 2 days to get SPI Slave boot to work on the ADSP21489 EZ-KIT with no success. I'm using a PSoC3 as a host and connecting the MOSI, MISO (not even necessary), SPI_CLK, CS, and RESET lines to the appropriate DPI pins on the "expansion II interface" (MOSI = DPI_P1, MISO = DPI_P2, SPI_CLK= DPI_P3, CS = DPI_P5, and RESET = pin 35 on the expansion II interface). Switches 3.1, 3.2, 3.3, and 3.5 connecting the SPI lines to the expansion II interface are all ON and the Boot Mode Select Switch (SW4) is set to 0 (SPI slave boot). Let me explain my process from the beginning:
1) Open 489_spi project for default boot kernel, uncomment #define DEBUG so the kernel hangs allowing me to break in and check that the kernel was loaded.
2) Create loader file with these settings: SPI Slave, Include, 8-bit
3) Power-up Sharc with RESET set high, run program on host (PSoC3) which takes the Sharc out of RESET (asserting low) and transmits the loader file (LSB first) over SPI with a rate of 250kHz.
3a) The program transmits the first 1536 8-bit words (256 48-bit instructions), deasserts the CS high, waits 10ms, asserts the CS low, then sends the rest of the loader file
3b) The data sent over SPI was verified using a Logic Analyzer, all the data looks good and matches the loader file generated by VisualDSP
4) I then go to VisualDSP and connect to the session, halting the process on the Sharc.
After halting the process and looking at the Dissassembly window, the memory does not match what I had when running the executable from VisualDSP, leading me to think that the boot process failed. Here are some things I think it might be but have not been able to overcome:
- When creating a session in VisualDSP, I select "ADSP-21489" and click on "Configurator," then select "ADSP-21489 (1 processor) via HPUSB-ICE," and then press "Copy." Now I notice that you can select the "Device," press "Modify," and change the "Initial connection option" to "Halt," not "Halt then Reset," which I don't want. When I go back to "Type" and select the correct type, "21489 USB EZ-KIT" instead of "HPUSB-ICE," I can no longer select the device and modify it to the correct initial connection option. Does this mean that the session is in fact halting and then resetting, causing me to think that the boot failed?
- Is 3a the correct way I should be sending the loader file to the Sharc?
- Is 250kHz an alright SPI_CLK for the Sharc?
Any help would be greatly appreciated!!