Pumpkin, Inc.

Pumpkin User Forums

Keil microVision Display DLL

For issues specific to the 8051 family, including compilers (e.g. Keil C51) and IDEs (e.g. uVision2).

Keil microVision Display DLL

Postby ChrisL » Thu Jan 09, 2003 7:59 am

Keil's microVision has an interface for an RTOS to display task status info during debugging. See their app note #144. Does anyone know if Salvo would work or could be made to work with this interface?

------------------
Chris Lincoln
ULTRAX, Inc.

Chris Lincoln
ULTRAX, Inc.
ChrisL
 
Posts: 5
Joined: Thu Jan 09, 2003 12:00 am

Re: Keil microVision Display DLL

Postby aek » Thu Jan 09, 2003 8:55 am

Hi Chris.

We're aware of the DLL interface, but haven't yet looked too deeply into implementing it for Salvo. It certainly would be useful.

One issue that might complicate things is the configurability of Salvo. The Salvo structures (e.g. the tcbs) will differ depending on which config options are used. I presume that this would require that the DLL be "salvocfg.h-aware" in order to display things like task status, priority, etc. correctly. Probably pretty non-trivial to implement correctly ...

Regards,

------------------

-------
aek
aek
 
Posts: 1887
Joined: Sat Aug 26, 2000 11:00 pm

Re: Keil microVision Display DLL

Postby aek » Thu Jan 09, 2003 8:57 am

One thing I should mention is that there is a Salvo user who is developing a low-cost Salvo hardware monitor -- while it doesn't display task states, it does show which task(s) are running, when the system is idling, and does run-time measurements on system performance ...

------------------

-------
aek
aek
 
Posts: 1887
Joined: Sat Aug 26, 2000 11:00 pm

Re: Keil microVision Display DLL

Postby aek » Thu Jan 09, 2003 9:03 am

Oh, one other thing ... since uVision does a nice job of displaying structures, you can figure out the state of a task, etc. in a roundabout way.

The tcb for a given task is at &tcbArea[tID-1], i.e. task 5's tcb is at &tcbArea[4]. The status (byte) field holds the task priority and its state (see salvo.h). With the info in salvo.h and the right bits (status is a bitfield with a couple of things in it), you can halt processing and peek at the state of any task.

Not pretty, but it works.

------------------

[This message has been edited by aek (edited January 09, 2003).]

-------
aek
aek
 
Posts: 1887
Joined: Sat Aug 26, 2000 11:00 pm


Return to 8051 family

Who is online

Users browsing this forum: No registered users and 1 guest

cron