rtems with matlab autocode problems
Nick Thomas
nick.thomas at pixsan.com
Wed Jun 16 17:58:24 UTC 2010
Have you tried puts instead of printf?
I have seen a similar thing when printf was used, but without any format
specifiers.
Nick
From: rtems-users-bounces at rtems.org [mailto:rtems-users-bounces at rtems.org]
On Behalf Of João Rasta
Sent: 16 June 2010 18:48
To: Till Straumann
Cc: rtems-users at rtems.com
Subject: Re: rtems with matlab autocode problems
Yes, here goes
// dummy printf test code
int upa(void)
{
int i = 0;
for (i=0; i < 20; i++)
printf("B\n");
exit(0);
}
And the result is:
¬ÖUf
¬ÖUf
¬ÖUf
¬ÖUf
¬ÖUf
¬ÖUf
¬ÖUf
¬ÖUf
¬ÖUf
¬ÖUf
¬ÖUf
¬ÖUf
¬ÖUf
¬ÖUf
¬ÖUf
¬ÖUf
¬ÖUf
¬ÖUf
¬ÖUf
¬ÖUf
Program exited normally. This same code works correctly if i put the
function in the main code instead of the library code. I still have no idea
of what can be causing this, any hints would be apreciated. Mabe a compiler
flag is messing up the library code?
The matlab autocode makefile generates some flags i don't recognize such as
the DXXX:
sparc-rtems-gcc -c -O3 -g3 -ffloat-store -fPIC -DUSE_RTMODEL -DMODEL=gnc
-DRT -DNUMST=1 -DTID01EQ=0 -DNCSTATES=0 -DUNIX -DMT=0 -DHAVESTDI
O -I. -I../../rtwlt/matlab/simulink/include
-I../../rtwlt/matlab/extern/include -I../../rtwlt/matlab/rtw/c/src
-I../../rtwlt/matlab/rtw/c/
src/ext_mode/common -I. -I.. -I../../rtwlt/matlab/rtw/c/libsrc
../../rtwlt/matlab/rtw/c/src/rt_sim.c
These flags are not used in the "main" code, for instance
sparc-rtems-gcc -DLOGGING=1 -DLOGNOTORIETY=10 -I"../src"
-I"../src/comms/packet_lib" -I"../src/shell" -I"../src/comms"
-I"../model/gnc_linu
x" -I../rtwlt/matlab/simulink/include -I../rtwlt/matlab/extern/include
-I../rtwlt/matlab/rtw/c/src -I../rtwlt/matlab/rtw/c/src/ext_mode/comm
on -I../rtwlt/matlab/rtw/c/libsrc -O2 -g -Wall -c -fmessage-length=0 -DRT
-MMD -MP -MF"src/common.d" -MT"src/common.d" -o"src/common.o" ".
./src/common.c"
Has anyone seen the DXX flags?
Best,
JM
On Wed, Jun 16, 2010 at 6:31 PM, Till Straumann <strauman at slac.stanford.edu>
wrote:
Can you post the offending code?
T.
On 06/16/2010 12:02 PM, João Rasta wrote:
Just an update:
If i do fflush(stdout) inside the test function, the application crashes.
Also, no matter what i put in printf, it allways prints the same characters,
but it detects the \n correctly.. I don't see if this can be related to the
compiler..
Best,
JM
On Wed, Jun 16, 2010 at 4:56 PM, Joel Sherrill <joel.sherrill at oarcorp.com>
wrote:
On 06/16/2010 10:52 AM, João Rasta wrote:
Hi,
No, autocode requires the real-time workbench only, it is quite
straightforward to generate the code.
I didn't fully understood your question. Anyway, i have tried to compile the
application with gcc and runs fine on linux so it should run on rtems with
the apropriate modifications. However, when i printf("test\n") within the
library finction, it returns strange characters, which doesn't happen in the
function that calls the library function..
Is it including stdio.h? I have seen some targets where if you don't the
variable
arguments stuff gets confused.
Is the generated code warning free?
I suspect of a compilation flag/option i may be missing on the library. Do
you have any idea?
As long as it is compiled the same as the rest of the app, it should be ok.
Also, i don't need any rtems primitives/configurations on the library
functions right? I'm assuimng It is enough to have the rtems configuration
on the "main" file.
Right.
Can you print from other tasks?
--joel
Best,
JM
On Wed, Jun 16, 2010 at 4:42 PM, Joel Sherrill <joel.sherrill at oarcorp.com
<mailto:joel.sherrill at oarcorp.com>> wrote:
On 06/16/2010 10:38 AM, João Rasta wrote:
Hi,
I'm having trouble running an rtems application that uses code
generated from matlab using autocode. It all goes well until a
function of this library is called: printfs return awkward
characters and then the application crashes.
I have seen references to this before. Is this hard to do? Are
there instructions?
Standard glue code, etc.
1) Is there any obvious reason to why printfs of the autocode
generated functions are not working properly? They are
compiled with sparc-rtems-gcc, as the main code.
2) Are there any special flags needed to be passed to the
compiler in order to link other libraries? Or some rtems
configuration..
Is there any chance it is printing floating point numbers from a
non-FP task?
Best,
JM
-- Joel Sherrill, Ph.D. Director of Research&
Development
joel.sherrill at OARcorp.com On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985
--
Joel Sherrill, Ph.D. Director of Research& Development
joel.sherrill at OARcorp.com On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985
_______________________________________________
rtems-users mailing list
rtems-users at rtems.org
http://www.rtems.org/mailman/listinfo/rtems-users
No virus found in this incoming message.
Checked by AVG - www.avg.com
Version: 9.0.829 / Virus Database: 271.1.1/2938 - Release Date: 06/15/10
19:35:00
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20100616/4e0dd1e6/attachment-0001.html>
More information about the users
mailing list