Pumpkin, Inc.

Pumpkin User Forums

Limited by absence of general-purpose stack

If you can't make Salvo do what you want it to do, post it here.

Limited by absence of general-purpose stack

Postby jschooler » Fri Apr 15, 2011 1:31 pm

We have implemented a CCSDS communication protocol on a linux-based system, and are looking to modify our C program to run as a task in Salvo Pro. The code is designed in a way that reads in bytes from a buffer by a function call that is a few levels deep in the stack.

The Salvo user manual states that
jschooler
 
Posts: 2
Joined: Tue Feb 01, 2011 3:31 pm

Re: Limited by absence of general-purpose stack

Postby aek » Fri Apr 15, 2011 2:19 pm

This is a limitation of Salvo's design ... trading the ability to block at any level for much-reduced memory requirements and a very simple overall structure.

Some people have suggested using callbacks, or other similar approaches.

Some others have modified Salvo to support full stack frames, hence being able to block at any level -- Pumpkin does not current offer Salvo in this form.

One other way is to "macrotize" a given multi-level function to turn it into something completely flat (single call level) -- not pretty, not efficient, but it works.

My gut feeling is that your Linux-based implementation will be most easily implemented with a conventional RTOS (i.e., one with dedicated task stacks) -- this would permit you to maintain both versions and develop & test them in parallel.
-------
aek
aek
 
Posts: 1888
Joined: Sat Aug 26, 2000 11:00 pm

Re: Limited by absence of general-purpose stack

Postby aek » Mon Apr 18, 2011 10:09 am

Perhaps it's time to add task stack support to Salvo -- what's your timeframe for needing this new feature?
-------
aek
aek
 
Posts: 1888
Joined: Sat Aug 26, 2000 11:00 pm


Return to Coding

Who is online

Users browsing this forum: No registered users and 1 guest

cron