- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi!
I have a program with 10 tasks (8 + idle + main) and 2 interrupt sources. The fact is that sometimes I get ASSERTs from eCos differents functions of the SO. Sometimes is from dlmalloc.cxx, when I tree to free, sometimes (don't remember exactly) is from smp.hxx (I only have one CPU, so it shouldn't be any problem), and other stange things... The fact is that sometimes, when I run it in debug mode, it works OK. And many times, if I add a printf or another instruction, the problem disappears. I've tried to disable all interrupt sources (except INTERNAL TIMER) in order to prevent any interrupt to corrupt the stack or else, but it does the same. If anyone has any idea about what can be happening, or how to find the REAL problem... Thanx AlexLink Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What NIOS II core uses?
May be this behaviour can be connected with the DCache memory? Try to increase a size of DCache, for localization of the given problem.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I use the Nios II standard core. That is, without DCache. I used fast core a month ago, and I was having problems with DCache, so I decided to use standard core until I am "ready" to use DCache.
So I suppose DCache is not the problem. From what I've seen until now, it seems that sometimes, when a task calls a function, the parameters passed to it seem to be corrupted. As the parameters are passed through the registers, I'm trying to find if any interrupt or task can corrupt the stack data, or something. How can I debug it? :-? Thank you aLeX- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi!
Call me paranoid, but I have disabled the "Scheduler timeslicing" option in the "eCos kernel" -> "Kernel Schedulers" configuration tool, and now it seems to work fine ("it seems"). Anyone is using Multi-level queue scheduler with timeslicing enabled? aLeX P.D: I had timeslicing every 50 ticks, one tick per milisecond.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page