rtems with matlab autocode problems
João Rasta
freakforever at gmail.com
Wed Jun 16 17:48:23 UTC 2010
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.orghttp://www.rtems.org/mailman/listinfo/rtems-users
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20100616/edee450e/attachment-0001.html>
More information about the users
mailing list