Forums

DSP/BIOS

Started by Clark G. Smith March 19, 2004
Greetings all,

As some of you know, I have been programming embedded thingies for quite
some time now.  Unfortunately, to date, I have never had a need for, or
used, an RTOS.  Now I am working on some heavy duty stuff, with TI's DM642
DSP in the middle of each (modular) hardware component.  Well, it seems that
TI's philosophy for documentation is to spread the specific information that
one needs over as many documents as possible, seldom bringing it all
together in any coherent format.  Given that and my newness to RTOSs, I
really, really need help from you guys.

Luckily for me, they started me out on the Utility I/O board, which is by
far the easiest board in the system.  It consists of discrete inputs and
outputs, PWMs, variable resistance and variable voltage outputs, etc.  And
of course, there is a connection to the main bus or backbone, which in this
case is a gigabit ethernet interface.  So, I really have only 2 main
responsibilities:

1.  Monitor the bus for notices to change outputs.
2.  Scan the inputs and post notice of changes on the bus.

So, my code consists of functions like:

UIO_init
SetInputPolarity
ScanInputs
SetPwmOutputs
SetVarVoltOutputs

etc., and of course:

BusGuy (so named because I have not written him yet).

Now, I realize that I could get by in this scenario, for the most part,
without even using DSP/BIOS.  However, I need to, for several reasons, which
I won't go into.  That said, what do I do with this stuff, seeing as how
DSP/BIOS doesn't even really kick in until main returns?  How do I schedule
this stuff such that BusGuy and ScanInputs run as much as possible with the
highest priority, and the remaining functions only run when needed.  I know
that ScanInput is a HWI candidate, but I am not sure about BusGuy.  I think
I could make the remaining functions SWIs or TSKs that are triggered in
software by BusGuy, but what should I do with BusGuy if he is not a HWI.  Do
I make him a CLK or PRD function?  Someone, please HELP -- I am drowning.

Also, if anyone could recommend a good online source for information on this
stuff (besides TI) for the RTOS newbie I would appreciate it.  I have
already ordered a couple of books from Amazon, but they won't be here for
several days, and I need the info yesterday.

Thanks,
Clark


Clark G. Smith wrote:
> Greetings all, >
<snip>
> Also, if anyone could recommend a good online source for information on this > stuff (besides TI) for the RTOS newbie I would appreciate it. I have > already ordered a couple of books from Amazon, but they won't be here for > several days, and I need the info yesterday. > > Thanks, > Clark > >
Hi! Try searching google for university lectures. Some professors make the freely avaiable on the net. The links I have aren't in english... Bye, Ricardo
On Thu, 18 Mar 2004 22:04:06 -0600, "Clark G. Smith"
<clarkgsmith@comcast.net> wrote:

[...]
>Luckily for me, they started me out on the Utility I/O board, which is by >far the easiest board in the system. It consists of discrete inputs and >outputs, PWMs, variable resistance and variable voltage outputs, etc. And >of course, there is a connection to the main bus or backbone, which in this >case is a gigabit ethernet interface. So, I really have only 2 main >responsibilities: > >1. Monitor the bus for notices to change outputs. >2. Scan the inputs and post notice of changes on the bus. >
[...]
> How do I schedule >this stuff such that BusGuy and ScanInputs run as much as possible with the >highest priority, and the remaining functions only run when needed. I know
I think you've got it backwards. You want to run ScanInputs at the *lowest* priority. You need to make your system event-driven. Think about what triggers a task. If you want a task to run "all the time," it has to be the lowest priority task, otherwise nothing below it could run. Other tasks run when events require: New command received from the bus, periodic timer expired, whatever. Relative priorities between them depend on you system requirements.
>that ScanInput is a HWI candidate, but I am not sure about BusGuy. I think >I could make the remaining functions SWIs or TSKs that are triggered in >software by BusGuy, but what should I do with BusGuy if he is not a HWI. Do >I make him a CLK or PRD function? Someone, please HELP -- I am drowning.
I'm not familiar with all your TLAs -- What do they mean?
> >Also, if anyone could recommend a good online source for information on this >stuff (besides TI) for the RTOS newbie I would appreciate it. I have >already ordered a couple of books from Amazon, but they won't be here for >several days, and I need the info yesterday.
Kadak used to publish their AMX manuals on-line. Perhaps they still do. When I used AMX-86 back in the late 80's - early 90's, their manuals were *very* good, and tutorial in nature. I don't imagine they've ruined them. www.kadak.com HTH, -=Dave -- Change is inevitable, progress is not.