This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

RTX166 workspace and heaps

Hi,

I am having trouble to correctly understand the following :
1) task work spaces
2) rtx166 system heap
3) rtx166 context heap

I am working on one application that uses 11 tasks and with far model.

os_use_heap returns 66132
os_use_heap_far returns 3372

and I have:
static unsigned int huge system_heap[0x1000];
static unsigned int near contxt_heap[0x1000];
for os_start_system().

all task have WSPSIZE=256

now can anyone explain a bit of how this works!!! does rtx dynamically manages the pools!!!

what does os_use_heap and os_use_heap_far really returns for far model?

How can I see if WSPSIZE for each task are ok!
Anyone knows a trick for these configurations?

Any help on this matter will be welcomed.

thanks,
joao


Parents
  • Thanks Peter,

    I have done the following:

    1) from toni comments I have filled the heaps with a pattern and then I watch if there is space available. No problem. Also the sw runs well (until now!)

    2) I have try to read the heap on the fly with os_heap and os_heap_far by a command by the serial port and os_heap always gives "strange values".

    Since my timings are very short I have not wasted much time with it. My feeling was that the heaps were ok but anything like keil bug was happening!

    After your comment I have made further tests namely reading after each createtask.
    And I have found the following:
    Although RTX manual says that os_heap returns ulong it return uint!!!! SO I have made printf with %d and not %lu!
    Now the results are ok.





Reply
  • Thanks Peter,

    I have done the following:

    1) from toni comments I have filled the heaps with a pattern and then I watch if there is space available. No problem. Also the sw runs well (until now!)

    2) I have try to read the heap on the fly with os_heap and os_heap_far by a command by the serial port and os_heap always gives "strange values".

    Since my timings are very short I have not wasted much time with it. My feeling was that the heaps were ok but anything like keil bug was happening!

    After your comment I have made further tests namely reading after each createtask.
    And I have found the following:
    Although RTX manual says that os_heap returns ulong it return uint!!!! SO I have made printf with %d and not %lu!
    Now the results are ok.





Children
No data