Hello,
Has any of you experienced occasional RTX 4.05 startup failures (data aborts during task creation) ?
Thanks in advance
I has not.
... but that's probably due to my never using RTX!
;-)
one of our products sees a data abort after remaining turned off for a period of 15+ minutes. yes it has external RAM, but this did not happen and does not happen with RTX 4.0. It seems that an STR instruction during stack setup attempts to write to internal flash. I don't understand why this happens - another product that uses a very similar startup procedure and RTX 4.05 does not suffer from this. but the one that does, if built using RTX 4.0 including the latest state of affairs of everything (except RTX of course) - is "healed"! any ideas or suggestions...?
If you follow the manual of
http://www.keil.com/forum/docs/thread16406.asp
the cause of the problem would presumably become obvious ;)
Tamir,
I also have experienced data abort problems with RTX 4.05 and no problems with RTX 4.00. I think it is something to do with the new FIFO they have implemented, as I only get a data aborts when this is written to. (I have seen you had previous problem with this FIFO in another thread)
I resolved my problem by locating this FIFO data in the internal RAM of a STR9, previously it was in our external PSRAM (along with the vast majority of our other data/variables).
I have no idea if this is a RTX problem as their development board doesn't have PSRAM so I don't even know how to show Keil the problem, however I am suspicious it might be. All I can say is the PSRAM seems to work for everything else including RTX 4.00, even though this is not any kind of proof.
Stuart.
Stuart ,
Did you use the scatter file for that? Or did you change RTX's code?
I have placed RTX's data entirely in internal RAM. Now I need to wait a little before I can test...
I compile RTX with my application so I just located all the data of RTX_Config.c in the required location from file options from the file options. Not exactly elegant I know, but then I have never knowingly used a scatter file! Stuart.
I understand. I did it with the scatter file - too complex a product to do it with the IDE...
Stuart, all,
My controller with RTX data in internal RAM started up correctly after 20 minutes without power. This is a good sign.
That is interesting, still if this is a problem with RTX 4.05 I am not sure how they are going to duplicate it.
It is strangely reassuring to know that I am not the only one with issues with RTX 4.05 especially as both of us were using external RAM.
Do you make any ISR calls that write to the new FIFO? I found that if I commented these out, RTX 4.05 worked in my external PSRAM, it was only when these functions were called did the system crash. (these calls seemed to work fine in RTX 4.00)
Stuart
Stuart,
Thanks for your reply. I am not quite reassured actually...:-) My program never got that far; so no events were set from ISR to tasks - of that I am sure. It happened while setting up stack space for tasks. I just don't understand what is happening - the source looks OK at first glance. Also, both controllers (the one that suffered from it and the one that did not) use the same hardware design (copy-paste). yet one of them (multiple units) crashes with a regular pattern, the other not. weird weird weird. but moving all the ZI, RW data to internal RAM seems to have "solved" it.