Workflow RTEMS on Zynq Zedboard

Jan Sommer soja-lists at aries.uberspace.de
Tue Mar 22 11:06:02 UTC 2016


Am 2016-03-22 11:32, schrieb Badr El Hiouel:
> I'm a little bit confusing.
> 
> So, if I understand, The 1st part of the workflow ( ie building the RSB 
> &
> generating the rtems bsp ) is only for compiling programs ( with as a
> target arm architectures ).
It generates the toolchain for compiling programs, i.e. compiler, 
linker, RTEMS libraries.
You then write your application code, with tasks, I/O and compile it 
with this toolchain.
For example ticker is such an application. It will be compiled and 
linked with arm-rtems4.xx-gcc and the result will be your binary 
ticker.exe, which you then have to load to your target platform.
For simpler boards like the raspberry pi you only have to copy the 
binary file to the sd-card. For the Zedboard you also have to include a 
setup for the FPGA.

> This means , every time I have to launch an
> RTEMS program I have to recompile the program ( the part after 
> ./bootstrap
> in the workflow ) ?
> 

No, you only have to do that if you want to update the toolchain.

> I Tought , the bsps we generate can be used like in this video i found 
> ( it
> is for µC/OS II on Zynq ) : https://www.youtube.com/watch?v=omB7qVBQaIM
> 

I'm sorry, if I caused any confusion.

Cheers,

    Jan

> Please can anybody else confirm that or give us a clarification.
> 
> Thank you
> 
> ________
> 
> *Badr EL HIOUEL*
> Mail : elh.badr at gmail.com
> 
> 
> 2016-03-22 11:16 GMT+01:00 Jan Sommer <soja-lists at aries.uberspace.de>:
> 
>> Am 2016-03-22 09:45, schrieb Badr El Hiouel:
>> 
>>> Hi Jan ,
>>> 
>>> Thank you for support.
>>> 
>>> It finally success! For that , I had to delete all the project, then 
>>> I
>>> rebuild RSB and then it went very fine.
>>> 
>>> Now , I designed a Zynq HW on Vivado and I launched it on SDK. But 
>>> now ,
>>> in
>>> the labs ( you sent me one for the µZed , The same exists for 
>>> Zedboard )
>>> they create a new bsp. I imagine that in this step I don't have to 
>>> create
>>> one but import it from the rtems.
>>> 
>>> This part is a bit tricky. The term "bsp" is used in 2 different 
>>> contexts
>> here.
>> First you have the rtems-bsp. That complements the generic parts of 
>> rtems
>> with the things that depend on your intended target platform (i.e.
>> Zedboard) like drivers for the global timer, etc. This generates the
>> rtems-library for your platform which is linked to your application 
>> code to
>> create your RTEMS-application (e.g. ticker.exe).
>> 
>> Then you have the bsp in the Xilinx context. The Zync CPU consists of 
>> an
>> ARM-CPU and an FPGA. In order to run any application on the CPU you 
>> also
>> have to configure the FPGA, which you do with the bsp and the FSBL 
>> from the
>> Xilinx-toolchain.
>> I don't know too much about that configuration so far. I simply 
>> followed
>> the tutorial where the FPGA is mainly responsible to connect the CPU 
>> to the
>> RAM.
>> 
>> In part 4 of the Tutorial for the MicroZed they build a boot image. If 
>> you
>> take a look at Figure 6 (p. 7), I simply replaced the Periph_Test.elf 
>> with
>> the test program generated by RTEMS and continued. The setup for the 
>> normal
>> Zedboard should be pretty similar. The resulting boot image will boot,
>> initialize the FPGA, load the RTEMS program into RAM and transfer 
>> control
>> to it.
>> 
>> 
>> So, where I find the bsp ? It's a single file or a directory ? And 
>> then how
>>> can I to import it on SDK ?
>>> I read also that for ticker.exe we have to change the extension for 
>>> .elfe
>>> ,
>>> is that what I'll have to do ?
>>> 
>>> It might be that the file dialog of the Xilinx tools expects 
>>> *.elf-files,
>> so renaming might be necessary.
>> 
>> Best regards,
>> 
>>    Jan
>> 
>> PS: Please keep the rtems-users list as recipient, so other people 
>> might
>> join the discussion and people with the same problem might benefit.
>> 
>> Thank you!
>>> 
>>> 
>>> 
>>> ________
>>> 
>>> *Badr EL HIOUEL*
>>> Mail : elh.badr at gmail.com
>>> 
>>> 
>>> 2016-03-19 11:57 GMT+01:00 Jan Sommer 
>>> <soja-lists at aries.uberspace.de>:
>>> 
>>> Am Friday 18 March 2016, 17:24:48 schrieb Badr El Hiouel:
>>>> [...]
>>>> > > Thank you for your support,
>>>> > >
>>>> > > I installed the devel environnement for Python27 and it builds (
>>>> finally !
>>>> > > )
>>>> > > When I did :
>>>> > > /mnt/D/development/rtems/kernel/rtems/configure
>>>> --target=arm-rtems4.12
>>>> > > --enable-rtemsbsp=xilinx_zynq_zedboard --enable-tests=samples
>>>> > > --enable-posix --enable-cxx
>>>> --prefix=/mnt/D/development/rtems/bsps/4.12
>>>> > > BSP_ARM_A9MPCORE_PERIPHCLK=333333333U
>>>> > > It worked but when running make && make install it shows me an error
>>>> :
>>>> > >
>>>> > > checking for RTEMS_CPU_MODEL...
>>>> > > checking for RTEMS_BSP_FAMILY... xilinx-zynq
>>>> > > checking for CPU_CFLAGS... (cached) -march=armv7-a -mthumb -mfpu=neon
>>>> > > -mfloat-abi=hard -mtune=cortex-a9
>>>> > > checking for CFLAGS_OPTIMIZE_V... (cached) -O2 -g -ffunction-sections
>>>> > > -fdata-sections
>>>> > > checking for style of include used by gmake... GNU
>>>> > > checking for arm-rtems4.12-gcc... no
>>>> > > configure: error: no acceptable cc found in $PATH
>>>> > > gmake[2]: *** [xilinx_zynq_zedboard] Error 1
>>>> > > gmake[2]: Leaving directory
>>>> > > `/mnt/D/development/rtems/kernel/zynq/arm-rtems4.12/c'
>>>> > > gmake[1]: *** [all-recursive] Error 1
>>>> > > gmake[1]: Leaving directory
>>>> > > `/mnt/D/development/rtems/kernel/zynq/arm-rtems4.12/c'
>>>> > > make: *** [all-recursive] Error 1
>>>> > >
>>>> 
>>>> So if I understand it correctly, the RSB finished sucessfully? Then 
>>>> you
>>>> should have binaries like arm-rtems-4.12-* installed to the 
>>>> directory you
>>>> passed to the RSB.
>>>> Configure complains that it cannot find said binaries. That is 
>>>> probably
>>>> because you haven't added them to your PATH environment variable.
>>>> You can do that with (use the correct path to the bin-directory of 
>>>> your
>>>> setup)
>>>> export PATH=/mnt/D/development/rtems/compiler/4.12/bin:$PATH
>>>> 
>>>> Try the configure command again after that.
>>>> 
>>>> > > It's a problem of directories ? or the configuration I did ? ( I took
>>>> the
>>>> > > same configuration you did Jan , because I have no ideas what is
>>>> those
>>>> > > configurations and how to choose that if any body has an explanation
>>>> for
>>>> > > this part)
>>>> 
>>>> The configure command is part of the autotools and very common in 
>>>> the
>>>> Linux/Unix world when building programs from source.
>>>> It checks if all the dependencies are met before you build it and 
>>>> gives
>>>> you the ability to configure which features of the program you want 
>>>> to
>>>> enable and where to install it.
>>>> 
>>>> 
>>>> 
>>>> > >
>>>> > >
>>>> > > Thank you
>>>> > >
>>>> > >
>>>> > >
>>>> > > ________
>>>> > >
>>>> > > *Badr EL HIOUEL*
>>>> > > Mail : elh.badr at gmail.com
>>>> > >
>>>> > >
>>>> > > 2016-03-17 23:16 GMT+01:00 Chris Johns <chrisj at rtems.org>:
>>>> > >
>>>> > >> On 18/03/2016 03:12, Jan Sommer wrote:
>>>> > >>
>>>> > >>> Am 2016-03-17 16:31, schrieb Badr El Hiouel:
>>>> > >>>
>>>> > >>>> I had this error that I can't found anywhere the solution for it.
>>>> I
>>>> > >>>> attached the report bug .. Can you please tell me what is going
>>>> wrong ?
>>>> > >>>>
>>>> > >>>
>>>> > >>> It seems to be the same error which occurs quite often here
>>>> recently.
>>>> > >>> Apparently you need to install the python-development packet.
>>>> > >>> On a debian based distro it should be python-dev or
>>>> libpython2.7-dev
>>>> > >>>
>>>> > >>
>>>> > >> I have added a note about this in the up coming Getting Started
>>>> Guide:
>>>> > >>
>>>> > >>
>>>> > >>
>>>> 
>>>> https://ftp.rtems.org/pub/rtems/people/chrisj/docs/user/start/index.html#development-version
>>>> > >>
>>>> > >> It is difficult for the RSB to track dependences for packages like
>>>> this.
>>>> > >> There are plans but they have not been implemented.
>>>> > >>
>>>> > >> Chris
>>>> > >> _______________________________________________
>>>> > >> users mailing list
>>>> > >> users at rtems.org
>>>> > >> http://lists.rtems.org/mailman/listinfo/users
>>>> > >>
>>>> > >
>>>> > >
>>>> 
>>>> 
>>>> 


More information about the users mailing list