When loading the application, GRMON only shows me .text, .data, .jcr and .got sections. Should it give me the address of .rodata as well?<br><br><br>Best,<br>JM<br><br><div class="gmail_quote">On Wed, Jun 16, 2010 at 8:04 PM, Jiri Gaisler <span dir="ltr"><<a href="mailto:jiri@gaisler.com">jiri@gaisler.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><br>
printf() takes a pointer to a string as first parameter. A string<br>
like "B\n" will be stored in the .rodata segment and a pointer<br>
will be passed to printf. If the pointer is created with immediate<br>
operands (sethi() etc.) then it cannot be corrupted. If it is passed<br>
from a register or stack location, then it can be overwritten.<br>
The string itself in .rodata can always be overwritten, that is<br>
why a watchpoint should be placed in it.<br>
<font color="#888888"><br>
Jiri.<br>
</font><div class="im"><br>
Joćo Rasta wrote:<br>
> Sorry but what do you mean by "check what the string parameter points<br>
> to"? I can insert the breakpoint but i don't understand what is the<br>
> string parameter.<br>
><br>
><br>
> Best,<br>
> JM<br>
><br>
> On Wed, Jun 16, 2010 at 7:15 PM, Jiri Gaisler <<a href="mailto:jiri@gaisler.com">jiri@gaisler.com</a><br>
</div><div class="im">> <mailto:<a href="mailto:jiri@gaisler.com">jiri@gaisler.com</a>>> wrote:<br>
><br>
><br>
>     Everything in RTEMS is a task, either the init task or created<br>
>     'secondary'<br>
>     tasks. You might want to set CONFIGURE_INIT_TASK_STACK_SIZE to some<br>
>     higher<br>
>     value if your auto-code uses a lot of stack space ...<br>
><br>
>     But the proper way to debug this is to put a breakpoint on the offending<br>
>     printf, and check what the string parameter points to. If it is not your<br>
>     intended string ("B\n"), it might have been overwritten in memory. Put a<br>
>     watch point on the address and check when it is written. Alternatively,<br>
>     the pointer to the string might have been overwritten, which can be<br>
>     tracked by similar means ...<br>
><br>
>     Jiri.<br>
><br>
>     Joćo Rasta wrote:<br>
>     > It is not a task, just a simple function call. I passed this call<br>
>     to the<br>
>     > first thing in the void POSIX_Init() and the same happens. No matter<br>
>     > what i pass to printf or puts it allways writes the same if this<br>
>     > function is implemented on the autocode *.c files..<br>
>     ><br>
>     ><br>
>     > Best,<br>
>     > JM<br>
>     ><br>
>     > On Wed, Jun 16, 2010 at 6:31 PM, Jiri Gaisler <<a href="mailto:jiri@gaisler.com">jiri@gaisler.com</a><br>
>     <mailto:<a href="mailto:jiri@gaisler.com">jiri@gaisler.com</a>><br>
</div><div><div></div><div class="h5">>     > <mailto:<a href="mailto:jiri@gaisler.com">jiri@gaisler.com</a> <mailto:<a href="mailto:jiri@gaisler.com">jiri@gaisler.com</a>>>> wrote:<br>
>     ><br>
>     ><br>
>     >     Each task is allocated a certain amount of stack space - how much<br>
>     >     have you allocated to your auto-code one? You might try the RTEMS<br>
>     >     stack checker to detect a stack overflow ...<br>
>     ><br>
>     >     Jiri.<br>
>     ><br>
>     >     Joćo Rasta wrote:<br>
>     >     > How can i be sure?<br>
>     >     ><br>
>     >     > The fact is that if i read the contents of all the memory<br>
>     space with<br>
>     >     > grmon, they are not zero.. And i have "washed" prior to load the<br>
>     >     > application.<br>
>     >     ><br>
>     >     ><br>
>     >     > Best,<br>
>     >     > JM<br>
>     >     ><br>
>     >     > On Wed, Jun 16, 2010 at 6:11 PM, Jiri Gaisler<br>
>     <<a href="mailto:jiri@gaisler.com">jiri@gaisler.com</a> <mailto:<a href="mailto:jiri@gaisler.com">jiri@gaisler.com</a>><br>
>     >     <mailto:<a href="mailto:jiri@gaisler.com">jiri@gaisler.com</a> <mailto:<a href="mailto:jiri@gaisler.com">jiri@gaisler.com</a>>><br>
>     >     > <mailto:<a href="mailto:jiri@gaisler.com">jiri@gaisler.com</a> <mailto:<a href="mailto:jiri@gaisler.com">jiri@gaisler.com</a>><br>
>     <mailto:<a href="mailto:jiri@gaisler.com">jiri@gaisler.com</a> <mailto:<a href="mailto:jiri@gaisler.com">jiri@gaisler.com</a>>>>> wrote:<br>
>     >     ><br>
>     >     ><br>
>     >     ><br>
>     >     >     Joćo Rasta wrote:<br>
>     >     >     > Just an update:<br>
>     >     >     ><br>
>     >     >     > If i do fflush(stdout) inside the test function, the<br>
>     application<br>
>     >     >     > crashes. Also, no matter what i put in printf, it allways<br>
>     >     prints the<br>
>     >     >     > same characters, but it detects the \n correctly.. I don't<br>
>     >     see if this<br>
>     >     >     > can be related to the compiler..<br>
>     >     ><br>
>     >     >     Sounds to me like you have blown the stack or run out of<br>
>     >     memory ...<br>
>     >     ><br>
>     >     >     Jiri.<br>
>     >     ><br>
>     >     >     ><br>
>     >     >     ><br>
>     >     >     > Best,<br>
>     >     >     > JM<br>
>     >     >     ><br>
>     >     >     > On Wed, Jun 16, 2010 at 4:56 PM, Joel Sherrill<br>
>     >     >     > <<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a><br>
>     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>><br>
>     >     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a><br>
>     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>>><br>
>     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a> <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>><br>
>     >     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a><br>
>     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>>>><br>
</div></div><div><div></div><div class="h5">>     >     >     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a><br>
>     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>><br>
>     >     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a><br>
>     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>>><br>
>     >     >     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a><br>
>     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>><br>
>     >     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a><br>
>     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>>>>>> wrote:<br>
>     >     >     ><br>
>     >     >     >     On 06/16/2010 10:52 AM, Joćo Rasta wrote:<br>
>     >     >     ><br>
>     >     >     >         Hi,<br>
>     >     >     ><br>
>     >     >     >         No, autocode requires the real-time workbench<br>
>     only,<br>
>     >     it is<br>
>     >     >     quite<br>
>     >     >     >         straightforward to generate the code.<br>
>     >     >     ><br>
>     >     >     >         I didn't fully understood your question.<br>
>     Anyway, i have<br>
>     >     >     tried to<br>
>     >     >     >         compile the application with gcc and runs fine on<br>
>     >     linux so it<br>
>     >     >     >         should run on rtems with the apropriate<br>
>     modifications.<br>
>     >     >     However,<br>
>     >     >     >         when i printf("test\n") within the library<br>
>     finction, it<br>
>     >     >     returns<br>
>     >     >     >         strange characters, which doesn't happen in the<br>
>     >     function that<br>
>     >     >     >         calls the library function..<br>
>     >     >     ><br>
>     >     >     >     Is it including stdio.h?  I have seen some targets<br>
>     where<br>
>     >     if you<br>
>     >     >     >     don't the variable<br>
>     >     >     >     arguments stuff gets confused.<br>
>     >     >     ><br>
>     >     >     >     Is the generated code warning free?<br>
>     >     >     ><br>
>     >     >     ><br>
>     >     >     >         I suspect of a compilation flag/option i may be<br>
>     >     missing on the<br>
>     >     >     >         library. Do you have any idea?<br>
>     >     >     ><br>
>     >     >     >     As long as it is compiled the same as the rest of the<br>
>     >     app, it<br>
>     >     >     should<br>
>     >     >     >     be ok.<br>
>     >     >     ><br>
>     >     >     >         Also, i don't need any rtems<br>
>     >     primitives/configurations on the<br>
>     >     >     >         library functions right? I'm assuimng It is enough<br>
>     >     to have the<br>
>     >     >     >         rtems configuration on the "main" file.<br>
>     >     >     ><br>
>     >     >     >     Right.<br>
>     >     >     ><br>
>     >     >     >     Can you print from other tasks?<br>
>     >     >     ><br>
>     >     >     >     --joel<br>
>     >     >     ><br>
>     >     >     ><br>
>     >     >     >         Best,<br>
>     >     >     >         JM<br>
>     >     >     ><br>
>     >     >     ><br>
>     >     >     ><br>
>     >     >     ><br>
>     >     >     >         On Wed, Jun 16, 2010 at 4:42 PM, Joel Sherrill<br>
>     >     >     >         <<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a><br>
>     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>><br>
>     >     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a><br>
>     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>>><br>
>     >     >     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a><br>
>     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>><br>
>     >     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a><br>
>     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>>>><br>
>     >     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a><br>
>     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>> <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a><br>
>     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>>><br>
>     >     >     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a><br>
>     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>><br>
>     >     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a><br>
>     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>>>>><br>
>     >     >     >         <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a><br>
>     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>><br>
>     >     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a><br>
>     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>>><br>
>     >     >     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a><br>
>     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>><br>
>     >     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a><br>
>     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>>>><br>
>     >     >     >         <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a><br>
>     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>><br>
>     >     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a><br>
>     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>>><br>
>     >     >     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a><br>
>     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>><br>
>     >     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a><br>
>     <mailto:<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>>>>>>> wrote:<br>
>     >     >     ><br>
>     >     >     >            On 06/16/2010 10:38 AM, Joćo Rasta wrote:<br>
>     >     >     ><br>
>     >     >     >                Hi,<br>
>     >     >     ><br>
>     >     >     >                I'm having trouble running an rtems<br>
>     application<br>
>     >     >     that uses<br>
>     >     >     >         code<br>
>     >     >     >                generated from matlab using autocode.<br>
>     It all<br>
>     >     goes well<br>
>     >     >     >         until a<br>
>     >     >     >                function of this library is called: printfs<br>
>     >     return<br>
>     >     >     awkward<br>
>     >     >     >                characters and then the application<br>
>     crashes.<br>
>     >     >     ><br>
>     >     >     >            I have seen references to this before.  Is this<br>
>     >     hard to<br>
>     >     >     do?  Are<br>
>     >     >     >            there instructions?<br>
>     >     >     >            Standard glue code, etc.<br>
>     >     >     ><br>
>     >     >     >                1) Is there any obvious reason to why<br>
>     printfs of<br>
>     >     >     the autocode<br>
>     >     >     >                generated functions are not working<br>
>     properly?<br>
>     >     They are<br>
>     >     >     >                compiled with sparc-rtems-gcc, as the<br>
>     main code.<br>
>     >     >     ><br>
>     >     >     >                2) Are there any special flags needed to be<br>
>     >     passed<br>
>     >     >     to the<br>
>     >     >     >                compiler in order to link other<br>
>     libraries? Or<br>
>     >     some<br>
>     >     >     rtems<br>
>     >     >     >                configuration..<br>
>     >     >     ><br>
>     >     >     >            Is there any chance it is printing floating<br>
>     point<br>
>     >     >     numbers from a<br>
>     >     >     >            non-FP task?<br>
>     >     >     ><br>
>     >     >     ><br>
>     >     >     >                Best,<br>
>     >     >     >                JM<br>
>     >     >     ><br>
>     >     >     ><br>
>     >     >     ><br>
>     >     >     >            --     Joel Sherrill, Ph.D.<br>
>     Director of<br>
>     >     >     Research&<br>
>     >     >     >          Development<br>
>     >     >     >            joel.sherrill@OARcorp.com        On-Line<br>
>     Applications<br>
>     >     >     Research<br>
>     >     >     >            Ask me about RTEMS: a free RTOS  Huntsville<br>
>     AL 35805<br>
>     >     >     >              Support Available             (256) 722-9985<br>
>     >     >     ><br>
>     >     >     ><br>
>     >     >     ><br>
>     >     >     ><br>
>     >     >     ><br>
>     >     >     >     --<br>
>     >     >     >     Joel Sherrill, Ph.D.             Director of Research&<br>
>     >     >      Development<br>
>     >     >     >     joel.sherrill@OARcorp.com        On-Line Applications<br>
>     >     Research<br>
>     >     >     >     Ask me about RTEMS: a free RTOS  Huntsville AL 35805<br>
>     >     >     >       Support Available             (256) 722-9985<br>
>     >     >     ><br>
>     >     >     ><br>
>     >     >     ><br>
>     >     >     ><br>
>     >     >     ><br>
>     >     >     > _______________________________________________<br>
>     >     >     > rtems-users mailing list<br>
>     >     >     > <a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a> <mailto:<a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a>><br>
>     <mailto:<a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a> <mailto:<a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a>>><br>
>     >     <mailto:<a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a> <mailto:<a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a>><br>
>     <mailto:<a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a> <mailto:<a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a>>>><br>
>     >     >     > <a href="http://www.rtems.org/mailman/listinfo/rtems-users" target="_blank">http://www.rtems.org/mailman/listinfo/rtems-users</a><br>
>     >     ><br>
>     >     ><br>
>     >     _______________________________________________<br>
>     >     rtems-users mailing list<br>
>     >     <a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a> <mailto:<a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a>><br>
>     <mailto:<a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a> <mailto:<a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a>>><br>
>     >     <a href="http://www.rtems.org/mailman/listinfo/rtems-users" target="_blank">http://www.rtems.org/mailman/listinfo/rtems-users</a><br>
>     ><br>
>     ><br>
>     _______________________________________________<br>
>     rtems-users mailing list<br>
>     <a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a> <mailto:<a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a>><br>
>     <a href="http://www.rtems.org/mailman/listinfo/rtems-users" target="_blank">http://www.rtems.org/mailman/listinfo/rtems-users</a><br>
><br>
><br>
_______________________________________________<br>
rtems-users mailing list<br>
<a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a><br>
<a href="http://www.rtems.org/mailman/listinfo/rtems-users" target="_blank">http://www.rtems.org/mailman/listinfo/rtems-users</a><br>
</div></div></blockquote></div><br>