<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">What do you mean "regular README file"? There are 3 of them: README, README.Makefile and README.waf. In README there is just a list of examples.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">I tried to follow the README.Makefile instructions, and after running:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><span style="font-family:monospace">olga@olga-H270M-DS3H:~/development/rtems-examples/hello/hello_world_c$ RTEMS_MAKEFILE_PATH=${HOME}/development/rtems/5/sparc-rtems5/erc32 make clean</span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">and</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><span style="font-family:monospace">olga@olga-H270M-DS3H:~/development/rtems-examples/hello/hello_world_c$ RTEMS_MAKEFILE_PATH=${HOME}/development/rtems/5/sparc-rtems5/erc32 make</span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><span style="font-family:monospace"><br></span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><span style="font-family:monospace"></span>there appeared an empty folder "o-optimize" in the examples's directory. What's next?</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">And what do you mean "use ./waf"? When I run <span style="font-family:monospace">./waf <span style="font-family:arial,sans-serif">in "rtems-examples", it says</span></span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><pre style="white-space:pre-wrap">olga@olga-H270M-DS3H:~/development/rtems-examples$ ./waf<br>The project was not configured: run "waf configure" first!<br>olga@olga-H270M-DS3H:~/development/rtems-examples$ waf configure --rtems=$HOME/development/rtems/build/5 \--rtems-tools=$HOME/development/rtems/5 \--rtems-bsps=sparc/erc32<br><br>Command 'waf' not found, did you mean: ...<br></pre><span style="font-family:monospace"><span style="font-family:arial,sans-serif"></span></span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><span style="font-family:monospace"><span style="font-family:arial,sans-serif"></span> command 'paf' from deb libpod-abstract-perl<br> command 'wdf' from deb wit</span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><span style="font-family:monospace"> ...</span><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 17 Mar 2021 at 16:51, Gedare Bloom <<a href="mailto:gedare@rtems.org">gedare@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 17, 2021 at 9:11 AM Olga Syrbachova <<a href="mailto:syrba4eva28@gmail.com" target="_blank">syrba4eva28@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">Thanks a lot! I have one more stupid question. How do I run examples from git? I've cloned rtems-examples and tried to follow the instructions from "README.waf", but it doesn't work. When I enter</div><div style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><pre style="white-space:pre-wrap"> $ waf configure --rtems=$HOME/development/rtems/bsps/5 \
--rtems-tools=$HOME/development/rtems/5 \
--rtems-bsps=sparc/erc32<br></pre><pre style="white-space:pre-wrap"><font face="arial,sans-serif">I get this error:<br> <span style="font-family:monospace"> Command 'waf' not found, did you mean: </span>...<br><br></font></pre></div></div></blockquote><div>Use ./waf</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><pre style="white-space:pre-wrap"><font face="arial,sans-serif"></font></pre><pre style="white-space:pre-wrap"><font face="arial,sans-serif">I probably do something wrong. Do I need to do the instructions from "README.waf" at all? Or do I need to proceed as in this tutorial <a href="https://docs.rtems.org/branches/master/user/start/app.html" target="_blank">https://docs.rtems.org/branches/master/user/start/app.html</a> with every example's directory? I would really appreciate some step-by-step tutorial or instructions as I'm totally frustrated right now and don't understand what to do.<br></font></pre><pre style="white-space:pre-wrap"><font face="arial,sans-serif">Btw there is a makefile in every example's directory. Can I use it instead of waf to compile the applications? If this is the case how do I do it?<br><br></font></pre></div></div></blockquote><div>You can do either way of building the examples, see the regular README file for directions on the Makefile approach.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><pre style="white-space:pre-wrap"><font face="arial,sans-serif"></font></pre><pre style="white-space:pre-wrap"><font face="arial,sans-serif">Many thanks in advance for any help!!!<br></font></pre></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 16 Mar 2021 at 20:07, Joel Sherrill <<a href="mailto:joel@rtems.org" target="_blank">joel@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Mar 16, 2021 at 1:40 PM Olga Syrbachova <<a href="mailto:syrba4eva28@gmail.com" target="_blank">syrba4eva28@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">Thank you very much for your reply and for your concern!</div><div style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><br></div><div style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">Actually I'd like to create my own application and test some mechanisms, provided by RTEMS. This is a part of my Bachelor Thesis. I'd like, for example, to create two/three tasks and make them communicate with each other via queues, schedule them by priority etc. I have some experience with FreeRTOS. It is run via Visual Studio, which is quite simple. And now with RTEMS I am a bit frustrated and don't know where to start. That's why I followed the tutorial on the Website. "Hello World" program worked just fine, so I decided to try some more complicated applications before I start with my own, that's why I decided to build "ticker" with waf. Unfortunately I didn't find any helpful (for me) tutorial on how to create applications in RTEMS. I mean I can handle writing the App's code, but I don't get it how to compile and run it. So I was just going to do the same as in the tutorial, but with my own application. Is it the right way to proceed or is there another way ?</div></div></blockquote><div><br></div><div>The tests in RTEMS are just that tests. They depend on things that shouldn't be installed or used by user applications.</div><div><br></div><div>I would recommend cloning rtems-examples and going from one of those. There is a directory with variations on ticker and I suspect the base one is a better one to start from. </div><div><br></div><div>If you want to write POSIX code, one of the POSIX examples there would serve you ok</div><div><br></div><div>--joel</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div id="gmail-m_-8071420466793372504gmail-m_971219196135651785gmail-m_277508452244861825gmail-m_-8462729502950921950m_6778778117170402098DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br> <table style="border-top:1px solid rgb(211,212,222)">
<tbody><tr>
<td style="width:55px;padding-top:18px"><a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail" target="_blank"><img src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif" alt="" style="width: 46px; height: 29px;" width="46" height="29"></a></td>
<td style="width:470px;padding-top:17px;color:rgb(65,66,78);font-size:13px;font-family:Arial,Helvetica,sans-serif;line-height:18px">Virenfrei. <a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail" style="color:rgb(68,83,234)" target="_blank">www.avast.com</a> </td>
</tr>
</tbody></table>
<a href="#m_-8071420466793372504_m_971219196135651785_m_277508452244861825_m_-8462729502950921950_m_6778778117170402098_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1" height="1"></a></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 16 Mar 2021 at 16:29, Vijay Kumar Banerjee <<a href="mailto:vijay@rtems.org" target="_blank">vijay@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Tue, Mar 16, 2021 at 4:07 AM Olga Syrbachova <<a href="mailto:syrba4eva28@gmail.com" target="_blank">syrba4eva28@gmail.com</a>> wrote:<br>
><br>
> Thank you very much for your reply!<br>
><br>
> I've added<br>
> includes = '/home/olga/development/rtems/rtems-5/testsuites/support/include/tmacros.h',<br>
><br>
It takes the relative address to the directory where the header file<br>
is. For example, if you're building from the<br>
"/home/olga/development/rtems" directory the includes argument would<br>
be:<br>
<br>
`includes = './rtems-5/testsuites/support/include/'`<br>
<br>
BTW, your first email at the start of the thread says that you just<br>
want to run the samples, the samples get built as a part of the rtems<br>
and you'll be able to see the *.exe files in the build directory. Is<br>
there any reason that you're trying to build it in a separate<br>
directory with waf? Experimenting with the build system is a good<br>
reason though, just making sure that we're not pushing you in the<br>
wrong direction and your objective is indeed to try waf on your own<br>
and not just running RTEMS hello app.<br>
<br>
Best regards,<br>
Vijay<br>
<br>
<br>
> it still says "No such file or directory". I'm pretty sure the path is write, though there is now another path to "tmacros.h" (the first one below), it's a folder named "tmacros.h" and it's empty.<br>
> olga@olga-H270M-DS3H:~$ locate tmacros.h<br>
> /home/olga/development/app/ticker/build/sparc-rtems5-erc32/$HOME/developement/rtems/rtems-5/testsuites/support/include/tmacros.h<br>
> /home/olga/development/rtems/rtems-5/testsuites/support/include/tmacros.h<br>
><br>
><br>
> On Mon, 15 Mar 2021 at 21:00, Vijay Kumar Banerjee <<a href="mailto:vijay@rtems.org" target="_blank">vijay@rtems.org</a>> wrote:<br>
>><br>
>> On Mon, Mar 15, 2021 at 1:53 PM Olga Syrbachova <<a href="mailto:syrba4eva28@gmail.com" target="_blank">syrba4eva28@gmail.com</a>> wrote:<br>
>> ><br>
>> > Sure! <a href="https://github.com/syrba4eva/RTEMS/blob/main/wscript" rel="noreferrer" target="_blank">https://github.com/syrba4eva/RTEMS/blob/main/wscript</a><br>
>><br>
>> Thanks. In this line: <a href="https://github.com/syrba4eva/RTEMS/blob/main/wscript#L33" rel="noreferrer" target="_blank">https://github.com/syrba4eva/RTEMS/blob/main/wscript#L33</a><br>
>> After cflags parameter, add "includes", for example:<br>
>><br>
>> bld(features = 'c cprogram',<br>
>> target = 'ticker.exe',<br>
>> cflags = '-g -O2',<br>
>> includes='. .. ./original/path/to/tmacros.h',<br>
>> source = ['init.c', 'tasks.c'])<br>
>><br>
>> you don't need to copy tmacros.h or any headers from rtems, just add<br>
>> the path to includes.<br>
>><br>
>><br>
>> Best regards,<br>
>> Vijay<br>
>><br>
>> ><br>
>> > On Mon, 15 Mar 2021 at 20:36, Vijay Kumar Banerjee <<a href="mailto:vijay@rtems.org" target="_blank">vijay@rtems.org</a>> wrote:<br>
>> >><br>
>> >> On Mon, Mar 15, 2021 at 1:30 PM Olga Syrbachova <<a href="mailto:syrba4eva28@gmail.com" target="_blank">syrba4eva28@gmail.com</a>> wrote:<br>
>> >> ><br>
>> >> > Thank you very much for your reply!<br>
>> >> > Unfortunately I'm still a bit confused and don't quite understand what to do. Where do I need to modify the "include" parameter? In the wscript file from the "hello" example there is no "include" parameter. I also tried to find a tutorial on how to write a wscript, but didn't find any (Could you suggest any please?). So I tried to copy the file "tmacros.h" from testsuites/support/include to app/ticker. Now after running ./waf I get an error, which tells me that "buffer_test_io.h" wasn't found. When I copied it to my app/ticker directory it didn't work and I still have the same error.<br>
>> >> ><br>
>> >> Would it be possible for you to paste your wscript somewhere (like<br>
>> >> <a href="http://gist.github.com" rel="noreferrer" target="_blank">gist.github.com</a>) and share it here so that we can have a look and help<br>
>> >> you with that?<br>
>> >><br>
>> >> Best regards,<br>
>> >> Vijay<br>
>> >><br>
>> >> > Waf: Entering directory `/home/olga/development/app/ticker/build/sparc-rtems5-erc32'<br>
>> >> > [1/3] Compiling tasks.c<br>
>> >> > [2/3] Compiling init.c<br>
>> >> > In file included from ../../system.h:17:0,<br>
>> >> > from ../../init.c:15:<br>
>> >> > ../../tmacros.h:32:10: fatal error: buffer_test_io.h: No such file or directory<br>
>> >> > #include <buffer_test_io.h><br>
>> >> > ^~~~~~~~~~~~~~~~~~<br>
>> >> > compilation terminated.<br>
>> >> ><br>
>> >> > In file included from ../../system.h:17:0,<br>
>> >> > from ../../tasks.c:22:<br>
>> >> > ../../tmacros.h:32:10: fatal error: buffer_test_io.h: No such file or directory<br>
>> >> > #include <buffer_test_io.h><br>
>> >> > ^~~~~~~~~~~~~~~~~~<br>
>> >> > compilation terminated.<br>
>> >> ><br>
>> >> > Waf: Leaving directory `/home/olga/development/app/ticker/build/sparc-rtems5-erc32'<br>
>> >> > Build failed<br>
>> >> > -> task in 'ticker.exe' failed with exit status 1 (run with -v to display more information)<br>
>> >> > -> task in 'ticker.exe' failed with exit status 1 (run with -v to display more information)<br>
>> >> ><br>
>> >> > On Mon, 15 Mar 2021 at 16:21, Vijay Kumar Banerjee <<a href="mailto:vijay@rtems.org" target="_blank">vijay@rtems.org</a>> wrote:<br>
>> >> >><br>
>> >> >> Hi Olga,<br>
>> >> >><br>
>> >> >><br>
>> >> >> On Mon, Mar 15, 2021 at 8:29 AM Olga Syrbachova <<a href="mailto:syrba4eva28@gmail.com" target="_blank">syrba4eva28@gmail.com</a>> wrote:<br>
>> >> >> ><br>
>> >> >> > Thank you very much for your reply!<br>
>> >> >> ><br>
>> >> >> > I've built the RTEMS Kernel for erc32. Then I followed this tutorial <a href="https://docs.rtems.org/branches/master/user/start/app.html" rel="noreferrer" target="_blank">https://docs.rtems.org/branches/master/user/start/app.html</a> to build a "Hello World" application and it works just fine. Then I've tried to create another application following the steps in the tutorial.<br>
>> >> >> > 1. In $HOME/development/app/ I created a directory "ticker".<br>
>> >> >> > 2. cd ticker<br>
>> >> >> > 3. curl <a href="https://waf.io/waf-2.0.19" rel="noreferrer" target="_blank">https://waf.io/waf-2.0.19</a> > waf<br>
>> >> >> > chmod +x waf<br>
>> >> >> > git init<br>
>> >> >> > git submodule add git://<a href="http://git.rtems.org/rtems_waf.git" rel="noreferrer" target="_blank">git.rtems.org/rtems_waf.git</a> rtems_waf<br>
>> >> >> > 4. I've copied the files "init.c", "tasks.c", "system.h" from testsuites/samples<br>
>> >> >> > 5. In the "wscript" I've changed the lines 32 and 34 to target = 'ticker.exe', source = ['init.c', 'tasks.c']<br>
>> >> >> > 6. ./waf configure --rtems=$HOME/development/rtems/5 --rtems-bsp=sparc/erc32<br>
>> >> >> > 7. and running ./waf next, I get an error. It looks like the file "tmacros.h", which is included in "system.h", cannot be found.<br>
>> >> >> ><br>
>> >> >> You have changed the "target" and "source" parameters in your wscript.<br>
>> >> >> You'd also need to modify the "include" parameter and add relative<br>
>> >> >> path to tmacros.h. For multiple headers, you'll have to add the paths<br>
>> >> >> as a string with space-separated values or a list like this:<br>
>> >> >> `includes='./ ../ ./path/to/include/'`<br>
>> >> >><br>
>> >> >><br>
>> >> >> > What am I doing wrong? Is the way to run other examples exactly the same as to run a "Hello World" example?<br>
>> >> >> The other examples will also follow a similar wscript structure but<br>
>> >> >> hello world is the simple one with fewer includes so it's a good place<br>
>> >> >> to start if you're trying to learn how to make a separate project with<br>
>> >> >> RTEMS applications using waf.<br>
>> >> >><br>
>> >> >><br>
>> >> >> Best regards,<br>
>> >> >> Vijay<br>
>> >> >> > _______________________________________________<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/listinfo/users</a><br>
</blockquote></div>
<div id="gmail-m_-8071420466793372504gmail-m_971219196135651785gmail-m_277508452244861825gmail-m_-8462729502950921950DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br> <table style="border-top:1px solid rgb(211,212,222)">
<tbody><tr>
<td style="width:55px;padding-top:18px"><a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail" target="_blank"><img src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif" alt="" style="width: 46px; height: 29px;" width="46" height="29"></a></td>
<td style="width:470px;padding-top:17px;color:rgb(65,66,78);font-size:13px;font-family:Arial,Helvetica,sans-serif;line-height:18px">Virenfrei. <a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail" style="color:rgb(68,83,234)" target="_blank">www.avast.com</a> </td>
</tr>
</tbody></table>
<a href="#m_-8071420466793372504_m_971219196135651785_m_277508452244861825_m_-8462729502950921950_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1" height="1"></a></div>
_______________________________________________<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/listinfo/users</a></blockquote></div></div>
</blockquote></div>
_______________________________________________<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/listinfo/users</a></blockquote></div></div>
</blockquote></div>