Hi guys,
I am developing firmware on DSP side of omap-138. I am using sys/bios.
my system communicates to a Custom Motorola Based System ( I will called it "CMBS" for short) through serial port UART2.
I use some functions that flash arrays to DSP flash (logicPD SOM board).
situation was:
1) My DSP emulator was connected
2) I was running the DSP firmware from the CCS Code Composer Studio (through the emulator)
3) The CMBS module was connected to the DSP and sending data on the serial port, CMBS sends non ASCIIs codes.
4) I restarted DSP program (software reset through CCS) several times to get CMBS -DSP interface in sync
5) I have also tried power ON/OFF both systems
For some reason the DSP is now producing NaN codes (not a number code that floats use to represent a non valid number),
I do not think it is a bug in my code because code have been working fine for several moths now. Also I tried another DSP in same system immediately after getting the NaNs and this new DSP works fine with same code. I did not go through the process of described above (points 1 to 5) because I am afraid to break second DSP!!!. I just flashed my code into new DSP (while keeping it disconnected from the CMBS) and then after I run the systems connected (they run in sync when both start with same pulse)
The new elements are:
A- CMBS was in line while CCS was trying to arrest DSP with the emulator
B- I was testing the flashing functions that write in the memory flash of the DSP
It is not that the DSP program residing in the DSP flash was altered because:
a) I re-flashed code to same DSP and same results
b) I use DSP from CCS through emulator, with the code in the DSP RAM and same results
c) the only thing that helps is when I used a new DSP and put my code on it, then system worked without spitting the NaNs
The only thing I can think of if that the (non-ASCII) data coming into the serial DSP port at same time I was trying to flash code into DSP could have produced a special combination that altered some inaccessible internal micro-coded ROM in the processing units of the DSP. This is almost science fiction…???
Thanks very much in advance
Rafael