<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Dec 9, 2020 at 8:06 AM Robin Müller <<a href="mailto:robin.mueller.m@gmail.com">robin.mueller.m@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>Thank you Sebastian. I'm looking at building the example erc32 application and the blinky executable right now. There is the issue <br></div><div>that determining the BSP path,tool binary determination, all the checking etc.. bleeds into the application CMakeLists.txt but there is <br></div><div>probably a good way to extract that checking into an external file. It might even possible to make this generic.<br></div><div><br></div><div>Maybe this would also be interesting for the QuickStart guide or the examples in general so if you are interested</div><div>I could submit a patch for this (if everything works out as expected).<br></div></div></blockquote><div><br></div><div>We haven't discussed it as openly as we probably should have but we are </div><div>quite agnostic to the build system used by user applications. We all have </div><div>our preferences and settled on waf for use wth RTEMS going forward. </div><div><br></div><div>But the rtems-examples show how to do applications with the old application</div><div>Makefile infrastructure and waf. If we had a hello world with cmake, that would</div><div>be good.</div><div><br></div><div>As I read this thread, this morning, it occurred to me that the Users</div><div>Manual needs a chapter on build systems for end user applications. </div><div>It needs to cover fetching the settings from the pkgconfig files and using</div><div>waf, old Makefile infrastructure, etc. Guidance on using cmake, scons,</div><div>meson, Eclipse managed builds, and Visual Studio would probably be </div><div>of benefit. Or at least someone may care about each build system. Likely</div><div>no one individual cares about more than one or two. :)</div><div><br></div><div>A contribution would be welcomed as it would help others tread the</div><div>same path.</div><div><br></div><div>In the end, you just need to invoke the right compiler and linker with</div><div>the right arguments. Assume they are magic strings per BSP and</div><div>just make sure your build system produces equivalent invocations to</div><div>say the build of hello world in rtems-examples. There isn't much </div><div>beyond that. </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></div><div><br></div><div>Kind Regards</div><div>Robin<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 9 Dec 2020 at 13:59, Sebastian Huber <<a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</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">Hello Robin,<br>
<br>
you can use whatever build system you want to build your applications. <br>
You can use pkgconfig to get the necessary flags for a particular BSP <br>
installation.<br>
<br>
On 09/12/2020 13:50, Robin Müller wrote:<br>
> I also had another question about a specific flag used when linking <br>
> RTEMS executables.<br>
> The link command for the example application is the following:<br>
><br>
> arm-rtems6-gcc -mthumb -mcpu=cortex-m7 -mfpu=fpv5-d16 -mfloat-abi=hard <br>
> -I=$RTEMS_INST/arm-rtems6/stm32h7/lib/include -MMD <br>
> -B$RTEMS_INST/arm-rtems6/stm32h7/lib -Wl,--gc-sections init.c.1.o <br>
> led.c.1.o stm32h7xx_nucleo.c.1.o -o blinky-test.elf -Wl,-Bstatic <br>
> -Wl,-Bdynamic -qrtems<br>
><br>
> Can anyone tell me the meaning of the -q flag? I did not find anything <br>
> by running arm-rtems6-gcc --help<br>
<br>
This flag selects the right GCC specification for RTEMS. It is <br>
necessary, just use it.<br>
<br>
If you want to know how it works, you have to learn the GCC <br>
specification format. For a start you can use "arm-rtems6-gcc -dumpspecs".<br>
<br>
-- <br>
embedded brains GmbH<br>
Herr Sebastian HUBER<br>
Dornierstr. 4<br>
82178 Puchheim<br>
Germany<br>
email: <a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a><br>
phone: +49-89-18 94 741 - 16<br>
fax:   +49-89-18 94 741 - 08<br>
<br>
Registergericht: Amtsgericht München<br>
Registernummer: HRB 157899<br>
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler<br>
Unsere Datenschutzerklärung finden Sie hier:<br>
<a href="https://embedded-brains.de/datenschutzerklaerung/" rel="noreferrer" target="_blank">https://embedded-brains.de/datenschutzerklaerung/</a><br>
<br>
</blockquote></div>
_______________________________________________<br>
devel mailing list<br>
<a href="mailto:devel@rtems.org" target="_blank">devel@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a></blockquote></div></div>