<div dir="ltr">Hi Gedare,<div><br></div><div>For the last few days, I am reading the rtems source code, trying to understand the build system, how a bsp is built. I just has a few questions:</div><div>- it seems like the <a href="http://configure.ac">configure.ac</a> and Makefile.am for each BSP (c/src/lib/libbsp/) is separate from the BSP source code (bsps/). However not all BSP has <a href="http://configure.ac">configure.ac</a> and Makefile.am, for example, the FVP BSP you said. What is the difference here?</div><div>- my speculation right now is to create a new folder in c/src/lib/libbsp/ for the VExpress device, put the <a href="http://configure.ac">configure.ac</a> and Makefile.am in and put the source file in bsps/ ?</div><div><br></div><div>Best regards,</div><div>Duc Anh</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Vào Th 4, 14 thg 4, 2021 vào lúc 12:53 Gedare Bloom <<a href="mailto:gedare@rtems.org">gedare@rtems.org</a>> đã viết:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Duc,<br>
<br>
On Tue, Apr 13, 2021 at 8:57 AM Đức Anh <<a href="mailto:dauto98@gmail.com" target="_blank">dauto98@gmail.com</a>> wrote:<br>
><br>
> Dear all,<br>
><br>
> I want to develop a BSP for ARM Versatile Express platform. My final purpose is to run Gem5 simulation using RTEMS as the kernel. Now Gem5 only model Versatile Express device, and I can see RTEMS does not have a BSP for it yet.<br>
><br>
> More specifically, the machine type modelled in Gem5 is:<br>
> - Arm Motherboard Express uATX (V2M-P1)<br>
> - The memory map is based on Versatile Express RS1, with RS2 extension<br>
> - Arm CoreTile Express A15x2 (V2P-CA15) as daughterboard. It contains Cortex-A15 CPU.<br>
><br>
> In the past, the Realview-pbx-a9 BSP used to run successfully in Gem5, when they still supported realview machine type. It is not the case now. So I guess I can reuse the CPU related code in realview-pbx-a9 and just write new code for the BSP ?<br>
><br>
Well, the realview pbx a9 is a cortex-a9 device and not an a15. Plus,<br>
I guess the vexpress will have some differences in how it deals with<br>
interrupts and maybe messaging given its tiled architecture? I don't<br>
know too much about it. But, your best bet is probably to try to start<br>
with the FVP bsp, which was only added about 5 months ago and supports<br>
just a Cortex-R52 right now, but probably adding the vexpress RS1<br>
memory map with the V2P-CA15 is the right way for you to go.<br>
<br>
> I am new to RTEMS so I need some help. Which direction should I head for?<br>
><br>
Join the <a href="mailto:devel@rtems.org" target="_blank">devel@rtems.org</a> mailing list for technical email discussions<br>
regarding hacking within RTEMS proper. (The "users" mailing list is a<br>
bit more for people trying to develop/maintain their application<br>
software using RTEMS mostly *fingers crossed* out of the box.) I would<br>
strongly recommend that you get started by following through our<br>
tutorials to get a feel for the tools and development environment:<br>
<a href="https://docs.rtems.org/branches/master/user/start/index.html" rel="noreferrer" target="_blank">https://docs.rtems.org/branches/master/user/start/index.html</a><br>
Read carefully and don't skip steps, or you probably miss something<br>
important that you won't figure out until a couple hours later and<br>
have to redo everything. Since you plan new development, you should<br>
use the `master` branch of RTEMS with the `master` branch of the<br>
rtems-source-builder to build your cross-compiler toolchain. This is<br>
referred to as version '6' although it is not yet a released version.<br>
<br>
Right now we have a lot of new faces on devel@ because of the Google<br>
Summer of Code, so you'll find a lot of other people with questions<br>
and answers about how to get started etc. I would recommend you also<br>
do our GSoC Getting Started part of the tutorial so that you can get<br>
some comfort with the developer workflow and how to make changes in<br>
RTEMS and see them in the recompiled version.<br>
<br>
Finally, for new BSP development, I guess you can start by having a<br>
look at <a href="https://docs.rtems.org/branches/master/bsp-howto/index.html" rel="noreferrer" target="_blank">https://docs.rtems.org/branches/master/bsp-howto/index.html</a><br>
This is an aging document, but still a good resource to understand the<br>
basic ideas about BSP implementation.<br>
<br>
-Gedare<br>
<br>
> Best regards,<br>
> Duc Anh<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>