DSPRelated.com
Forums

Regarding DSP56F807

Started by swaroop December 6, 2002
hi everybody,

Can any one tell what are the steps i have to take to run my
application on my own DSP module(with DSP56F807) instead of
DSP65F807EVM board. When i tried to run it,it is stoppig at the line
jsr archStart;
in hardwareAndWatchdogResetVector(void) function of vectorreset.c .
Is there any specific documentation regarding this while targeting
our own DSP module??

I appreciate any help regarding this. Thanking you in advance.

Swaroop




Without knowing a lot more about your system configuration, I cannot say for
sure, but I think this is normal behavior. We are using CodeWarrior version
5.0.2 with the Motorola SDK version 2.5. All of the following paragraphs assume
that you are using the same set of software products.

There are settings that determine program startup behavior in the following
place:
Edit
{Target} Settings
Target Settings Panels
Debugger
Debugger Settings
Where {Target} is the build target you are using, for example "Flash". In this
settings panel, we choose the following settings for our debugging sessions:
- Stop on application launch
- User specified
- FarchStart

What this does, is that after resetting the system and downloading the program,
it will stop at the specified program memory location and wait for you to click
on the green "Run" arrow to start the program. As I said before, this is
entirely normal behavior.

The only other thing I have seen that could be causing your problem, is a severe
program crash. This might be caused by things like stack overflows,
uninitialized or "wild" pointers, etc. One thing we have found that is
important to know, is that any "printf-like" function call requires a very large
stack frame size, as described below (this is taken from a message I sent to
Greg Coonley at DSPOS, which is the RTOS we use in all of our products):

"I also found out the cause of the crashes from calling the "vsnprintf()"
function. It turns out that all of the printf() variants call the static
function "__pformatter()", which is in the
"...\Libraries\MSLlib\MSL_Common\Src\printf.c" file in our directory tree.
This function has a local array "char buff[conversion_buff_size]", where
"conversion_buff_size" is 512! This local array is, of course, allocated
off whichever task stack is currently being used. In a "real" system that
uses only internal X RAM, this could cause the Stack Pointer to point beyond
the end of the task stack, and possibly beyond the end of X RAM and into the
on-chip Peripheral Registers area. This is obviously the reason for the
program crashes, and it also explains why there's no problem when running
the "same" program on an EVM module using External RAM memory."

The above is ***NOT*** a bug in the MSL Library, it is in my (not-so-humble)
opinion a quite reasonable compromise on the size of the largest string that a
user might try to create. It does, however, create a situation where a program
that runs "perfectly" in an EVM module using External RAM memory, can crash very
badly when it is run on your own target hardware. This one took me a _lot_ of
time to find the first time, so beware!

I hope this information helps to solve your problem, but if it doesn't, please
provide some more detailed information.

Regards,

Art Johnson
Senior Systems Analyst
PMC Prime Mover Controls Inc.
3600 Gilmore Way
Burnaby, B.C., Canada
V5G 4R8
Phone: 604 433-4644
FAX: 604 433-5570
Email:
http://www.pmc-controls.com -----Original Message-----
From: swaroop [mailto:]
Sent: Friday, December 06, 2002 3:20 AM
To:
Subject: [motoroladsp] Regarding DSP56F807 hi everybody,

Can any one tell what are the steps i have to take to run my
application on my own DSP module(with DSP56F807) instead of
DSP65F807EVM board. When i tried to run it,it is stoppig at the line
jsr archStart;
in hardwareAndWatchdogResetVector(void) function of vectorreset.c .
Is there any specific documentation regarding this while targeting
our own DSP module??

I appreciate any help regarding this. Thanking you in advance.

Swaroop

_____________________________________
Note: If you do a simple "reply" with your email client, only the author of this
message will receive your answer. You need to do a "reply all" if you want your
answer to be distributed to the entire group.

_____________________________________
About this discussion group:

To Join:

To Post:

To Leave:

Archives: http://www.yahoogroups.com/group/motoroladsp

More Groups: http://www.dsprelated.com/groups.php3 ">http://docs.yahoo.com/info/terms/


hi to all....

Can one help me with the following things...

1) How to manipulate OMR(operating mode register) ???

2) Iam having internalFlash, internal RAM and external RAM, then how
can I use external RAM while running on the internal flash(as taget)
in Mode 0B???

3) while running a simple application with flash as target ,why Iam
getting strucked in a do loop in archInitializeRAM function(while
initializing initialized P: data section using memCopyPtoP
(..,..,..))???

Thanks in advance,

Swaroop