On Wed, Mar 17, 2021 at 2:23 PM Olga Syrbachova <syrba4ev...@gmail.com> wrote:
> Thank you very much for your reply! I'm still confused about all the > prefixes and PATHs. In the README.waf it is said to run > > $ waf configure --rtems=$HOME/Development/rtems/5 \ > --rtems-tools=$HOME/Development/rtems/5 \ > --rtems-bsps=sparc/erc32 > > where $HOME/Development/rtems/build/5 is the path to tools and > $HOME/Development/rtems/build/5 is the path to RTEMS Board Support > Packages. > > I followed this tutorial > https://medium.com/@mritunjaysharma394/installing-rtems-ecosystem-and-building-your-first-bsp-993d1cf38902 > installing RTEMS and building BSP. So in my case I built the tool suit in > development/rtems/src/rsb/rtems > > > $ ../source-builder/sb-set-builder --prefix=$HOME/development/rtems/5 > 5/rtems-sparc > > So the path to tools development/rtems/src/rsb/rtems, is it right? And > I'm not sure what is a path to RTEMS Board Support Packages. > > Since you build version 5, you need to specify that to waf, otherwise it defaults to try to build the current RTEMS development version, try ./waf configure --rtems=$HOME/Development/rtems/5 \ --rtems-tools=$HOME/Development/rtems/5 \ --rtems-bsps=sparc/erc32 \ --rtems-version=5 I think we will need some updates to the README.waf for version management. Patches are welcome :) On Wed, 17 Mar 2021 at 18:48, Gedare Bloom <ged...@rtems.org> wrote: > >> >> >> On Wed, Mar 17, 2021 at 10:22 AM Olga Syrbachova <syrba4ev...@gmail.com> >> wrote: >> >>> 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. >>> I tried to follow the README.Makefile instructions, and after running: >>> >> Thanks I forgot we put those instructions into README.Makefile. >> >> >>> >>> olga@olga-H270M-DS3H:~/development/rtems-examples/hello/hello_world_c$ >>> RTEMS_MAKEFILE_PATH=${HOME}/development/rtems/5/sparc-rtems5/erc32 make >>> clean >>> >>> and >>> >>> olga@olga-H270M-DS3H:~/development/rtems-examples/hello/hello_world_c$ >>> RTEMS_MAKEFILE_PATH=${HOME}/development/rtems/5/sparc-rtems5/erc32 make >>> >>> there appeared an empty folder "o-optimize" in the examples's directory. >>> What's next? >>> >>> Weird, I'll take a look. We do encourage to try to use waf to build the >> examples though, so let's focus on that direction. >> >> >>> And what do you mean "use ./waf"? When I run ./waf in "rtems-examples", >>> it says >>> >>> olga@olga-H270M-DS3H:~/development/rtems-examples$ ./waf >>> The project was not configured: run "waf configure" first! >>> 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 >>> >>> >> ./waf configure --rtems=$HOME/development/rtems/build/5 >> \--rtems-tools=$HOME/development/rtems/5 \--rtems-bsps=sparc/erc32 >> ^ >> >>> Command 'waf' not found, did you mean: ... >>> >>> command 'paf' from deb libpod-abstract-perl >>> command 'wdf' from deb wit >>> ... >>> >>> On Wed, 17 Mar 2021 at 16:51, Gedare Bloom <ged...@rtems.org> wrote: >>> >>>> >>>> >>>> On Wed, Mar 17, 2021 at 9:11 AM Olga Syrbachova <syrba4ev...@gmail.com> >>>> wrote: >>>> >>>>> 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 >>>>> >>>>> $ waf configure --rtems=$HOME/development/rtems/bsps/5 \ >>>>> --rtems-tools=$HOME/development/rtems/5 \ >>>>> --rtems-bsps=sparc/erc32 >>>>> >>>>> I get this error: >>>>> Command 'waf' not found, did you mean: ... >>>>> >>>>> Use ./waf >>>> >>>> >>>> >>>>> 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 >>>>> https://docs.rtems.org/branches/master/user/start/app.html 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. >>>>> >>>>> 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? >>>>> >>>>> You can do either way of building the examples, see the regular README >>>> file for directions on the Makefile approach. >>>> >>>> >>>>> Many thanks in advance for any help!!! >>>>> >>>>> >>>>> On Tue, 16 Mar 2021 at 20:07, Joel Sherrill <j...@rtems.org> wrote: >>>>> >>>>>> >>>>>> >>>>>> On Tue, Mar 16, 2021 at 1:40 PM Olga Syrbachova < >>>>>> syrba4ev...@gmail.com> wrote: >>>>>> >>>>>>> Thank you very much for your reply and for your concern! >>>>>>> >>>>>>> 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 ? >>>>>>> >>>>>> >>>>>> The tests in RTEMS are just that tests. They depend on things that >>>>>> shouldn't be installed or used by user applications. >>>>>> >>>>>> 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. >>>>>> >>>>>> If you want to write POSIX code, one of the POSIX examples there >>>>>> would serve you ok >>>>>> >>>>>> --joel >>>>>> >>>>>> >>>>>>> >>>>>>> >>>>>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> >>>>>>> Virenfrei. >>>>>>> www.avast.com >>>>>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> >>>>>>> <#m_2587329209695249861_m_-6228330996423727151_m_-6868087392309282603_m_-8071420466793372504_m_971219196135651785_m_277508452244861825_m_-8462729502950921950_m_6778778117170402098_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> >>>>>>> >>>>>>> On Tue, 16 Mar 2021 at 16:29, Vijay Kumar Banerjee <vi...@rtems.org> >>>>>>> wrote: >>>>>>> >>>>>>>> On Tue, Mar 16, 2021 at 4:07 AM Olga Syrbachova < >>>>>>>> syrba4ev...@gmail.com> wrote: >>>>>>>> > >>>>>>>> > Thank you very much for your reply! >>>>>>>> > >>>>>>>> > I've added >>>>>>>> > includes = >>>>>>>> '/home/olga/development/rtems/rtems-5/testsuites/support/include/tmacros.h', >>>>>>>> > >>>>>>>> It takes the relative address to the directory where the header file >>>>>>>> is. For example, if you're building from the >>>>>>>> "/home/olga/development/rtems" directory the includes argument would >>>>>>>> be: >>>>>>>> >>>>>>>> `includes = './rtems-5/testsuites/support/include/'` >>>>>>>> >>>>>>>> BTW, your first email at the start of the thread says that you just >>>>>>>> want to run the samples, the samples get built as a part of the >>>>>>>> rtems >>>>>>>> and you'll be able to see the *.exe files in the build directory. Is >>>>>>>> there any reason that you're trying to build it in a separate >>>>>>>> directory with waf? Experimenting with the build system is a good >>>>>>>> reason though, just making sure that we're not pushing you in the >>>>>>>> wrong direction and your objective is indeed to try waf on your own >>>>>>>> and not just running RTEMS hello app. >>>>>>>> >>>>>>>> Best regards, >>>>>>>> Vijay >>>>>>>> >>>>>>>> >>>>>>>> > 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. >>>>>>>> > olga@olga-H270M-DS3H:~$ locate tmacros.h >>>>>>>> > >>>>>>>> /home/olga/development/app/ticker/build/sparc-rtems5-erc32/$HOME/developement/rtems/rtems-5/testsuites/support/include/tmacros.h >>>>>>>> > >>>>>>>> /home/olga/development/rtems/rtems-5/testsuites/support/include/tmacros.h >>>>>>>> > >>>>>>>> > >>>>>>>> > On Mon, 15 Mar 2021 at 21:00, Vijay Kumar Banerjee < >>>>>>>> vi...@rtems.org> wrote: >>>>>>>> >> >>>>>>>> >> On Mon, Mar 15, 2021 at 1:53 PM Olga Syrbachova < >>>>>>>> syrba4ev...@gmail.com> wrote: >>>>>>>> >> > >>>>>>>> >> > Sure! https://github.com/syrba4eva/RTEMS/blob/main/wscript >>>>>>>> >> >>>>>>>> >> Thanks. In this line: >>>>>>>> https://github.com/syrba4eva/RTEMS/blob/main/wscript#L33 >>>>>>>> >> After cflags parameter, add "includes", for example: >>>>>>>> >> >>>>>>>> >> bld(features = 'c cprogram', >>>>>>>> >> target = 'ticker.exe', >>>>>>>> >> cflags = '-g -O2', >>>>>>>> >> includes='. .. ./original/path/to/tmacros.h', >>>>>>>> >> source = ['init.c', 'tasks.c']) >>>>>>>> >> >>>>>>>> >> you don't need to copy tmacros.h or any headers from rtems, just >>>>>>>> add >>>>>>>> >> the path to includes. >>>>>>>> >> >>>>>>>> >> >>>>>>>> >> Best regards, >>>>>>>> >> Vijay >>>>>>>> >> >>>>>>>> >> > >>>>>>>> >> > On Mon, 15 Mar 2021 at 20:36, Vijay Kumar Banerjee < >>>>>>>> vi...@rtems.org> wrote: >>>>>>>> >> >> >>>>>>>> >> >> On Mon, Mar 15, 2021 at 1:30 PM Olga Syrbachova < >>>>>>>> syrba4ev...@gmail.com> wrote: >>>>>>>> >> >> > >>>>>>>> >> >> > Thank you very much for your reply! >>>>>>>> >> >> > 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. >>>>>>>> >> >> > >>>>>>>> >> >> Would it be possible for you to paste your wscript somewhere >>>>>>>> (like >>>>>>>> >> >> gist.github.com) and share it here so that we can have a >>>>>>>> look and help >>>>>>>> >> >> you with that? >>>>>>>> >> >> >>>>>>>> >> >> Best regards, >>>>>>>> >> >> Vijay >>>>>>>> >> >> >>>>>>>> >> >> > Waf: Entering directory >>>>>>>> `/home/olga/development/app/ticker/build/sparc-rtems5-erc32' >>>>>>>> >> >> > [1/3] Compiling tasks.c >>>>>>>> >> >> > [2/3] Compiling init.c >>>>>>>> >> >> > In file included from ../../system.h:17:0, >>>>>>>> >> >> > from ../../init.c:15: >>>>>>>> >> >> > ../../tmacros.h:32:10: fatal error: buffer_test_io.h: No >>>>>>>> such file or directory >>>>>>>> >> >> > #include <buffer_test_io.h> >>>>>>>> >> >> > ^~~~~~~~~~~~~~~~~~ >>>>>>>> >> >> > compilation terminated. >>>>>>>> >> >> > >>>>>>>> >> >> > In file included from ../../system.h:17:0, >>>>>>>> >> >> > from ../../tasks.c:22: >>>>>>>> >> >> > ../../tmacros.h:32:10: fatal error: buffer_test_io.h: No >>>>>>>> such file or directory >>>>>>>> >> >> > #include <buffer_test_io.h> >>>>>>>> >> >> > ^~~~~~~~~~~~~~~~~~ >>>>>>>> >> >> > compilation terminated. >>>>>>>> >> >> > >>>>>>>> >> >> > Waf: Leaving directory >>>>>>>> `/home/olga/development/app/ticker/build/sparc-rtems5-erc32' >>>>>>>> >> >> > Build failed >>>>>>>> >> >> > -> task in 'ticker.exe' failed with exit status 1 (run >>>>>>>> with -v to display more information) >>>>>>>> >> >> > -> task in 'ticker.exe' failed with exit status 1 (run >>>>>>>> with -v to display more information) >>>>>>>> >> >> > >>>>>>>> >> >> > On Mon, 15 Mar 2021 at 16:21, Vijay Kumar Banerjee < >>>>>>>> vi...@rtems.org> wrote: >>>>>>>> >> >> >> >>>>>>>> >> >> >> Hi Olga, >>>>>>>> >> >> >> >>>>>>>> >> >> >> >>>>>>>> >> >> >> On Mon, Mar 15, 2021 at 8:29 AM Olga Syrbachova < >>>>>>>> syrba4ev...@gmail.com> wrote: >>>>>>>> >> >> >> > >>>>>>>> >> >> >> > Thank you very much for your reply! >>>>>>>> >> >> >> > >>>>>>>> >> >> >> > I've built the RTEMS Kernel for erc32. Then I followed >>>>>>>> this tutorial >>>>>>>> https://docs.rtems.org/branches/master/user/start/app.html 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. >>>>>>>> >> >> >> > 1. In $HOME/development/app/ I created a directory >>>>>>>> "ticker". >>>>>>>> >> >> >> > 2. cd ticker >>>>>>>> >> >> >> > 3. curl https://waf.io/waf-2.0.19 > waf >>>>>>>> >> >> >> > chmod +x waf >>>>>>>> >> >> >> > git init >>>>>>>> >> >> >> > git submodule add git://git.rtems.org/rtems_waf.git >>>>>>>> rtems_waf >>>>>>>> >> >> >> > 4. I've copied the files "init.c", "tasks.c", "system.h" >>>>>>>> from testsuites/samples >>>>>>>> >> >> >> > 5. In the "wscript" I've changed the lines 32 and 34 to >>>>>>>> target = 'ticker.exe', source = ['init.c', 'tasks.c'] >>>>>>>> >> >> >> > 6. ./waf configure --rtems=$HOME/development/rtems/5 >>>>>>>> --rtems-bsp=sparc/erc32 >>>>>>>> >> >> >> > 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. >>>>>>>> >> >> >> > >>>>>>>> >> >> >> You have changed the "target" and "source" parameters in >>>>>>>> your wscript. >>>>>>>> >> >> >> You'd also need to modify the "include" parameter and add >>>>>>>> relative >>>>>>>> >> >> >> path to tmacros.h. For multiple headers, you'll have to >>>>>>>> add the paths >>>>>>>> >> >> >> as a string with space-separated values or a list like >>>>>>>> this: >>>>>>>> >> >> >> `includes='./ ../ ./path/to/include/'` >>>>>>>> >> >> >> >>>>>>>> >> >> >> >>>>>>>> >> >> >> > What am I doing wrong? Is the way to run other examples >>>>>>>> exactly the same as to run a "Hello World" example? >>>>>>>> >> >> >> The other examples will also follow a similar wscript >>>>>>>> structure but >>>>>>>> >> >> >> hello world is the simple one with fewer includes so it's >>>>>>>> a good place >>>>>>>> >> >> >> to start if you're trying to learn how to make a separate >>>>>>>> project with >>>>>>>> >> >> >> RTEMS applications using waf. >>>>>>>> >> >> >> >>>>>>>> >> >> >> >>>>>>>> >> >> >> Best regards, >>>>>>>> >> >> >> Vijay >>>>>>>> >> >> >> > _______________________________________________ >>>>>>>> >> >> >> > users mailing list >>>>>>>> >> >> >> > users@rtems.org >>>>>>>> >> >> >> > http://lists.rtems.org/mailman/listinfo/users >>>>>>>> >>>>>>> >>>>>>> >>>>>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> >>>>>>> Virenfrei. >>>>>>> www.avast.com >>>>>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> >>>>>>> <#m_2587329209695249861_m_-6228330996423727151_m_-6868087392309282603_m_-8071420466793372504_m_971219196135651785_m_277508452244861825_m_-8462729502950921950_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> >>>>>>> _______________________________________________ >>>>>>> users mailing list >>>>>>> users@rtems.org >>>>>>> http://lists.rtems.org/mailman/listinfo/users >>>>>> >>>>>> _______________________________________________ >>>>> users mailing list >>>>> users@rtems.org >>>>> http://lists.rtems.org/mailman/listinfo/users >>>> >>>>
_______________________________________________ users mailing list users@rtems.org http://lists.rtems.org/mailman/listinfo/users