<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 26, 2017 at 3:34 AM, Павел Жданов <span dir="ltr"><<a href="mailto:paul.alex.zhdanov@gmail.com" target="_blank">paul.alex.zhdanov@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello everyone.<div><br></div><div>I'm interested in dynamic loading and have the following situation:</div><div><ol><li>There are two files init.c and dl.c.<br></li><li>dl.с defines rtems_main function . This function just print some string using printf fuction. It complied to dl.o but not linked against standard libraries so printf symbol is unresolved.</li><li>I want to load dl.o from init.с and use rtems_main function (with dl_open and so on). Final init.exe is linked against standard libraries so it has printf symbol resolved.</li><li>dl.o is loaded from the dos partition.</li><li>At the moment a can load dl.o and call rtems_main only if it doesn't use printf or functions from other libraries.</li></ol><div>My questions are:<br></div></div><div><ol><li>Is this scenario possible?</li><li>How to link dl.o with init.exe to resolve printf (and may be other functions that are used by rtems_main and resolved in init.exe)?</li></ol></div></div></blockquote><div>The general "trick" is to figure out which common methods/symbols should be </div><div>in the base image onto which dl.o is loaded. Chris may have other tricks but</div><div>I would start with the "--undefined" argument to ld and add symbols. </div><div><br></div><div>Otherwise, each dl object will end up with pieces of the C library linked into it</div><div>and you have to manage the dependencies.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>Platfrom: i386, pc486. I tried to use rtems-ld and i386-rtems4.11-ld but could not resolve necessary symbols.</div></div></div></blockquote><div><br></div><div>Beyond the libdl supporting you architecture, it shouldn't matter but good to know.</div><div><br></div><div>--joel</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>Best regards,</div><div>Pavel Zhdanov.</div></div><div class="gmail_extra"><br clear="all"><div><div class="m_-6496016438881368695gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">С уважением, Жданов Павел.</div></div></div><div><div class="h5">
<br><div class="gmail_quote">On Wed, May 3, 2017 at 1:24 PM, Павел Жданов <span dir="ltr"><<a href="mailto:paul.alex.zhdanov@gmail.com" target="_blank">paul.alex.zhdanov@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi.<div>Really, is it possible to load tasks dynamically in runtime? I'm interested in software updating. So far I think that final executable file in RTEMS is monolithic image. It's big and it's take a lot of time to upload it via serial port. If it's not modular then I can't upload new task and start it. Can you suggest some methods that can be used to update RTEMS task at runtime? For example update some of its functions using the dynamic linker (dlopen, ...).</div><div><br></div><div>Best regards,</div><div>Pavel Zhdanov</div></div><div class="gmail_extra"><br clear="all"><div><div class="m_-6496016438881368695m_6926113277920243393gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">С уважением, Жданов Павел.</div></div></div>
<br><div class="gmail_quote"><div><div class="m_-6496016438881368695h5">On Wed, Apr 5, 2017 at 10:22 AM, <a href="mailto:xuelin.tian@qkmtech.com" target="_blank">xuelin.tian@qkmtech.com</a> <span dir="ltr"><<a href="mailto:xuelin.tian@qkmtech.com" target="_blank">xuelin.tian@qkmtech.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="m_-6496016438881368695h5"><div>
<div><span></span>Dear all,</div><div>Can I load real-time tasks using real-time loader?</div><div>In my opinion, loading real-time tasks means that I can append my own application tasks to the interrupt ISR, and this task can be invoked based on a predefined frequency.</div><div>In VxWorks, I need to disable interrupt first, using sysAuxClkDisable, and enable this interrupt after install my application tasks. </div><div>Do we have the same mechanism in RTEMS?</div>
<div><br></div><hr style="WIDTH:210px;HEIGHT:1px" color="#b5c4df" size="1" align="left">
<div><span><div style="MARGIN:10px;FONT-FAMILY:verdana;FONT-SIZE:10pt"><div>Best wishes,</div><div><a href="mailto:xuelin.tian@qkmtech.com" target="_blank">xuelin.tian@qkmtech.com</a></div></div></span></div>
</div><br></div></div>______________________________<wbr>_________________<br>
users mailing list<br>
<a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman<wbr>/listinfo/users</a><br></blockquote></div><br></div>
</blockquote></div><br></div></div></div>
<br>______________________________<wbr>_________________<br>
users mailing list<br>
<a href="mailto:users@rtems.org">users@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/<wbr>mailman/listinfo/users</a><br></blockquote></div><br></div></div>