Workflow RTEMS on Zynq Zedboard
Jan Sommer
soja-lists at aries.uberspace.de
Tue Mar 22 11:57:06 UTC 2016
Am 2016-03-22 12:33, schrieb Badr El Hiouel:
> Ok, Thank you.
> I'm understanding now.
>
> I can't find details for the importing part of the ticker.exe program.
> ( in
> the labs they create a new application project - in other labs they
> copy an
> file.c )
> How did you import the ticker.exe ?
As I said, if you follow part 4 of the MicroZed tutorial (I don't have
the one for the Zedboard) and take a look at Figure 6 (p. 7) I replaced
the file Periph_Test.elf with the elf-file from the ticker-example. I
don't use the Xilinx SDK to develop the RTEMS application itself.
>
>
> ________
>
> *Badr EL HIOUEL*
> Mail : elh.badr at gmail.com
>
>
> 2016-03-22 12:06 GMT+01:00 Jan Sommer <soja-lists at aries.uberspace.de>:
>
>> 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