Write the BSP for ARM Versatile Express device

Đức Anh dauto98 at gmail.com
Wed Apr 28 18:54:07 UTC 2021


Hi,

Do you have any executables from anywhere that run on the simulator in the
> configuration you intend for RTEMS to use?


Sorry, I forgot to answer your question. Actually, my goal is just to
make Rtems up and run in the Gem5 simulator. And then I will study the task
preemption part of Rtems, try to record the preemption overhead time, and
the task execution order. So, any configuration is ok, as long as it is
Arm or Aarch64 arch, Cortex-A series.

I tried to wrap my head around the fvp BSP, since it is the closest one to
the VExpress device I try to make. The bspcortexr52.yml config file looks
like it does nothing specific to the BSP, only includes (common for ARM?)
dependencies, doesn't it?

Best regards,
Duc Anh

Vào Th 4, 21 thg 4, 2021 vào lúc 15:25 Joel Sherrill <joel at rtems.org> đã
viết:

>
>
> On Wed, Apr 21, 2021, 5:32 AM Đức Anh <dauto98 at gmail.com> wrote:
>
>> Hi Gedare,
>>
>> 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:
>> - it seems like the configure.ac and Makefile.am for each BSP
>> (c/src/lib/libbsp/) is separate from the BSP source code (bsps/). However
>> not all BSP has configure.ac and Makefile.am, for example, the FVP BSP
>> you said. What is the difference here?
>> - my speculation right now is to create a new folder in c/src/lib/libbsp/
>> for the VExpress device, put the configure.ac and Makefile.am in and put
>> the source file in bsps/ ?
>>
>
> First, that's the old build system and separate so it will be easier to
> remove. It reflects an older organisation of the source tree.  The new
> build system is waf and under spec/ at the top of the tree. Please use that
> for new work.
>
> Next, the BSPs have families and variants within a family. The directory
> is the family and there are configuration files to build variants within
> the family. The Zynq bsp family has a handful of variants. Run rtems-bsps
> from the top of the tree for a list.
>
> Do you have any executables from anywhere that run on the simulator in the
> configuration you intend for RTEMS to use?
>
> Focus on uniprocessor and getting hello to run first. But the devel@ list
> is a better resource.
>
>>
>> Best regards,
>> Duc Anh
>>
>>
>> Vào Th 4, 14 thg 4, 2021 vào lúc 12:53 Gedare Bloom <gedare at rtems.org>
>> đã viết:
>>
>>> Hi Duc,
>>>
>>> On Tue, Apr 13, 2021 at 8:57 AM Đức Anh <dauto98 at gmail.com> wrote:
>>> >
>>> > Dear all,
>>> >
>>> > 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.
>>> >
>>> > More specifically, the machine type modelled in Gem5 is:
>>> > - Arm Motherboard Express uATX (V2M-P1)
>>> > - The memory map is based on Versatile Express RS1, with RS2 extension
>>> > - Arm CoreTile Express A15x2 (V2P-CA15) as daughterboard. It contains
>>> Cortex-A15 CPU.
>>> >
>>> > 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 ?
>>> >
>>> Well, the realview pbx a9 is a cortex-a9 device and not an a15. Plus,
>>> I guess the vexpress will have some differences in how it deals with
>>> interrupts and maybe messaging given its tiled architecture? I don't
>>> know too much about it. But, your best bet is probably to try to start
>>> with the FVP bsp, which was only added about 5 months ago and supports
>>> just a Cortex-R52 right now, but probably adding the vexpress RS1
>>> memory map with the V2P-CA15 is the right way for you to go.
>>>
>>> > I am new to RTEMS so I need some help. Which direction should I head
>>> for?
>>> >
>>> Join the devel at rtems.org mailing list for technical email discussions
>>> regarding hacking within RTEMS proper. (The "users" mailing list is a
>>> bit more for people trying to develop/maintain their application
>>> software using RTEMS mostly *fingers crossed* out of the box.) I would
>>> strongly recommend that you get started by following through our
>>> tutorials to get a feel for the tools and development environment:
>>> https://docs.rtems.org/branches/master/user/start/index.html
>>> Read carefully and don't skip steps, or you probably miss something
>>> important that you won't figure out until a couple hours later and
>>> have to redo everything. Since you plan new development, you should
>>> use the `master` branch of RTEMS with the `master` branch of the
>>> rtems-source-builder to build your cross-compiler toolchain. This is
>>> referred to as version '6' although it is not yet a released version.
>>>
>>> Right now we have a lot of new faces on devel@ because of the Google
>>> Summer of Code, so you'll find a lot of other people with questions
>>> and answers about how to get started etc. I would recommend you also
>>> do our GSoC Getting Started part of the tutorial so that you can get
>>> some comfort with the developer workflow and how to make changes in
>>> RTEMS and see them in the recompiled version.
>>>
>>> Finally, for new BSP development, I guess you can start by having a
>>> look at https://docs.rtems.org/branches/master/bsp-howto/index.html
>>> This is an aging document, but still a good resource to understand the
>>> basic ideas about BSP implementation.
>>>
>>> -Gedare
>>>
>>> > Best regards,
>>> > Duc Anh
>>> > _______________________________________________
>>> > users mailing list
>>> > users at rtems.org
>>> > http://lists.rtems.org/mailman/listinfo/users
>>>
>> _______________________________________________
>> devel mailing list
>> devel at rtems.org
>> http://lists.rtems.org/mailman/listinfo/devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20210428/d057ea60/attachment.html>


More information about the devel mailing list