AnsweredAssumed Answered

Further questions about DSP Code Programming and Emulator

Question asked by nlsa001 on Apr 16, 2014
Latest reply on Apr 23, 2014 by CraigG



I posted discussion called "Questions about Programming Code into SPI Flash with ADSP21479' on 3/27. And I got some answers from a tech support (thanks to Jithul again here.) . According to the suggestions from the tech support, I modified the DSP-Reset according the datasheet. It seemed to work well at beginning, but later when I checked more DSP boards, there are still some of the boards not work (about 40%), I think that case may be closed, so I post some new questions here.


In my application, I use ADSP 21479 with a flash memory for the code saving. And I use VisualDSP++ and ADZS-USB-ICE (Emulator) as developer. So far my code could be run with the DSP board very well under the emulator, but when I program the code into the flash mem through the JTAG Port, only some of the boards (about 60%) work.


My testing procedure with the DSP board is as following steps:

1. Power on DSP board at my test fiixture, and then power on the Emulator (ADZS-USB-ICE) and then open the Visual DSP++.

2. On the VisualDSP, Build File and then Build Project, and then run the project with the Emulator with all my testing system.

3. If the running is good, programmed the Loader file (generated by VisualDSP) into the Flash Mem on the DSP board through the JTAG port, and then disconnect the Emulator power and then the DSP board power.

4. Power on the DSP board again and see if it could perform the testing by itself (the JTAG connector of the Emulator still plug into the header on the test fixture that connect to the DSP board).


I found worked board could be run again with the Emulator and VisualDSP, but when I use the no-worked board connect to the Emulator and VisualDSP as a target, the VisualDSP got problem during Project Build with followed phenomena: it run by itself but not the working code; it displays as "Failed to set automatic breakpoint at "main" "; "Visual DSP has detected that the processor core is in a hung state." (when I tried to Halt the bad running), etc. I list them all in the attached file. Last time when I asked this issue, And I try to view the Flash Mem's Data-out during the DSP-Reset (in my current system, the length of DSP-Reset is about 32 MS) for a good board and a bad one. I found the first few data were the same, so it seems to me that the programmed code in the bad board is correct and could be loaded in the DSP, but with some reason, the DSP could not run the code from the Starting Address (that is the same with VisualDSP's info of "Failed to set automatic breakpoint at "main" " when Build Project with the bad board?). My questions are list as followed:

1. What happened to the target DSP, when the VisualDSP display the information " Failed to set automatic breakpoint at "main" " and the others I listed in the attached file? It's a hardware problem or software one and what peripheral pin connections might make the damage to the DSP if it's hardware problem?

2. What are the differences between Emulator running and the real DSP running with the same code but programmed into the board. The VisualDSP could call the code from the Flash Mem on the DSP board and run the code? Would you please recommend some articles introducing how the Emulator works with a target DSP?

3. Any advices to inspect my issues though hardware or software?


Here I attach two files for your reviewing. The first one list all the information when VisualDSP Build Project to the bad DSP board per the Emulator. All the bad boards got at least one of the information in the list. (Jithul said "the improper power up sequencing of the processor" might make the error information, but I think most of my operations followed the Connection and Power On/Off Sequence, and I ran at least eight bad boards for multiple times.) Another attachment list the first few data reading from the SPI Flash Mem during the DSP-Reset.


Should you need any other information about my questions, please let me know.


Thanks a lot,