RTEMS ARMv8 Port

Gedare Bloom gedare at rtems.org
Wed Mar 16 13:51:43 UTC 2016


Raghav,

In addition to the RTEMS toolchain, you must have a port of RTEMS
itself to the target architecture. This involves probably a week or
two of engineering effort.

On Wed, Mar 16, 2016 at 9:48 AM, Raghav Nayak <raghav.nayak at nxp.com> wrote:
> Hi Joel,
>
>
>
> Currently I am using the RTEMS toolchain for ARMv8 through Source Builder
>
>
>
> With Regards
>
> Raghav
>
>
>
> From: users [mailto:users-bounces at rtems.org] On Behalf Of Raghav Nayak
> Sent: Wednesday, March 16, 2016 6:51 PM
> To: joel at rtems.org; Jan Sommer
> Cc: rtems-users at rtems.org
> Subject: RE: RTEMS ARMv8 Port
>
>
>
> Hi Joel,
>
>
>
> I could build to some extent and when it comes to application it says
>
> “error: Cannot change output format whilst linking AArch64 binaries”.
>
>
>
> Any hints to resolve this problem ? Thanks
>
>
>
> With Regards
>
>   Raghav
>
>
>
> From: Joel Sherrill [mailto:joel at rtems.org]
> Sent: Wednesday, March 16, 2016 6:05 PM
> To: Jan Sommer
> Cc: rtems-users at rtems.org; Raghav Nayak
> Subject: Re: RTEMS ARMv8 Port
>
>
>
>
> On Mar 16, 2016 7:26 AM, <soja-lists at aries.uberspace.de> wrote:
>>
>> Am 2016-03-16 10:32, schrieb Raghav Nayak:
>>>
>>> Hi,
>>>
>>> I am trying to configure RTEMS for ARMv8 target. Tried running the
>>> following command:
>>>
>>> ../configure --target=aarch64-rtems4.12 --enable-rtemsbsp=raspberrypi
>>> --enable-tests=samples --enable-networking --enable-posix
>>> --prefix=/mnt/FSL/pandora/rtems/rtems-armv8-bsp/4.12
>>>
>>
>> I am no expert in this, but I highly doubt that this is supposed to work.
>> So far you only have a cross-compiler for RTEMS for the aarch64 target.
>> However, as ARMv8 is a new architecture for RTEMS I would expect that you
>> need to first add support for this new architecture to the RTEMS-kernel and
>> probably the configure scripts as well. I have never done this, so I can't
>> help here. The RTEMS porting guide might be a first step in understanding
>> what you have to do:
>> https://docs.rtems.org/doc-current/share/rtems/pdf/porting.pdf
>>
>> Another thing is that you want to build the raspberrypi-bsp. I assume you
>> want to build RTEMS for the raspberry pi 3. The new raspberry uses another
>> cpu as the older versions and of a different target architecture. That means
>> from the operating system's point of view it differs significantly from the
>> older ones, thus you cannot expect that the bsp for the RPi 1 and RPi 2 will
>> work for the RPi 3.
>> No one has added support for the RPi 3 yet. It's very new on the market
>> and RTEMS has currently no ARMv8 support.
>
> That's the basics. A new architecture requires adding score/cpu/aarch64 and
> a new BSP for that architecture c/src/lib/libbsp/aarch64/NEWBSP. I added the
> GNU tools support.
>
> I did notice that gdb has a simulator for aarch64 which means a BSP for that
> is simple to construct. The gdb simulator is similar on all architectures
> and we have BSPs for a variety to use as examples. This would be enough to
> debug core functionality on the aarch64 and run the tests without interrupt
> support.
>
> Then you have to add interrupt support and move to real HW and add a second
> BSP.
>
>>> But not able to get the output something like this:
>>>
>>> target architecture: aarch64.
>>> available BSPs: raspberrypi.
>>> 'make all' will build the following BSPs: raspberrypi.
>>> other BSPs can be built with 'make RTEMS_BSP="bsp1 bsp2 ..."'
>>>
>>> config.status: creating Makefile
>>>
>>>
>>> Do you have any clues?
>>>
>>>
>>> With Regards
>>>   Raghav
>>>
>>> _______________________________________________
>>> users mailing list
>>> users at rtems.org
>>> http://lists.rtems.org/mailman/listinfo/users
>>
>> _______________________________________________
>> users mailing list
>> users at rtems.org
>> http://lists.rtems.org/mailman/listinfo/users
>
>
> _______________________________________________
> users mailing list
> users at rtems.org
> http://lists.rtems.org/mailman/listinfo/users



More information about the users mailing list