This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software: Code Composer Studio
Hi,
I observe ILLEGAL ISR (vector 19 0x0000 0D26 2 Illegal Operation) interrupts after a few seconds as soon as I have the "continuous refresh" activated in an "Expressions" or "Memory browser" window in the CCS. The return address pushed by the ISR always is a valid code address. Sometimes it happens that the CPU jumps to a totally wrong address.
This happens both on 28035 control card with docking station (XDS 100v2) and with our own hardware with a TI XDS110, CCS is Version: 7.2.0.00013.
If continuous refresh is off, the application runs minutes and hours without any problem, as far as I can see.
Maybe its worth to mention that the CLA is running too and both CLA and CPU run with high interrupt frequencies (period 3 respectively 9 microseconds). Substantially lower CPU interrupt frequency seems to "help".
Any hint please?
Thanks & regards,
Frank
Manoj,
thank you for your answer, but I am very sorry, it does not solve my problem.
What a "Continuous refresh" is good for if the CPU is not running?
I would have suggested to rename it to "Continuous refresh until sooner or later the CPU crashes", but I never had this problem with a F28377S.
So is it a F28035 problem only?
Regards,
Frank
Frank,
F28377S is a much faster device (200MHz) vs F28035 (60MHz). So, using continuous refresh can possibly cause data corruption when continuous refresh is used.
One way to possibly get around this is use polite continuous refresh mode and also reduce the frequency at which continuous refresh is done.
Enable Polite continuous refresh mode mode by going to CCS menu Run->Debug Configurations->Target tab
and also reduce the frequency at which continuous refresh by method shown below.
Regards,
Manoj
Manoj & Matthew,
thank you for your help. I tried the Real-Time-Mode as Manoj suggested, seems that this really helps. No Illegal ISRs anymore during my tests so far.
@Matthew: The refresh rate is the default one (500 ms). Watched variables were both in CPU and CLA space, but most critical seemed to be watching the CLA2CPU message RAM @ 0x1480 (with very frequent access both by CLA and CPU ISRs).
Thanks & regards,
Frank
PS: The F28377 runs (only) 3 1/3 times faster than the F28035 (200 vs. 60 MHz), so if the F28035 crashes statistically after 3 seconds, so c.p. the F28377 should crash after 10 seconds, but it does not...
Matthew,
I read about the real time debug mode etc. (Chapter 7 of SPRU430F and the presentation Manoj suggested) to understand more. But it's still not fully clear to me why the real time / polite mode (yes, it's higlighted too) helps to prevent the Illegal ISRs (no ISR nesting, stack is sane). I'd rather expect corrupted data than a wrong code fetch.
I made some more tests, and it is really the CLA2CPU MSGRAM @ 0x1480 that is especially sensitive.
Anyway, the real time / polite mode seems to work reliable.
Thank you again,
Frank