GSOC project: #4272 BSP Executable Conversion

Ayushman Mishra ayushvidushi01 at gmail.com
Sun Apr 11 16:04:18 UTC 2021


Hello everyone ,
I am working on project "BSP Executable Conversion"
(https://devel.rtems.org/ticket/4272) where I have to make BSP
specific script for conversion of executables from RTEMS executable
format to the BSP boot loader format so that it can be run on target.
I know that the previous version of RTEMS had bsp-post-link in some
BSPs which helped in conversion of BSP executables but it's disabled
in the present version to simplify the build process. It would be
really helpful to know what is the current situation regarding the
conversion of BSP executable, that is how BSP specific executable runs
on target ,and also would be grateful if you can please point out some
example regarding it.
Thanks , Ayushman

On Thu, Apr 8, 2021 at 1:28 PM Ayushman Mishra <ayushvidushi01 at gmail.com> wrote:
>
> Sir I have made a draft for the project
> https://devel.rtems.org/ticket/4272 after some discussion about it on
> discord and mail-list . I would be highly grateful to get some
> comments and reviews about it in improving the draft (for example the
> part related to adding support of newly created scripts in rtems-tools
> to rtems-test.)
> https://docs.google.com/document/d/19HeKc6W2ng2X8PoCMVi68A1Z1BbO5D7C0xVHhkgMgBY/edit?usp=sharing
> . Also since I am little new to this project it will be really helpful
> if anyone can please point out any basic errors which I may have made
> in the project description.
>
> On Tue, Apr 6, 2021 at 10:30 PM Joel Sherrill <joel at rtems.org> wrote:
> >
> >
> >
> > On Tue, Apr 6, 2021 at 6:22 AM Ayushman Mishra <ayushvidushi01 at gmail.com> wrote:
> >>
> >> I checked all the BSPs having bsp-post-link in their config file (find
> >> . -name *.cfg | xargs -e grep define | grep bsp-post-link) but
> >> couldn't find similarity between them (other than "$(OBJCOPY) -O
> >> binary --strip-all \ $(basename $@)$(EXEEXT) $(basename $@)$(BINEXT) "
> >> in most of them . Sir I wanted to know is there any specific way to
> >> categorize them from other BSPs, And I am not able to find similar set
> >> of commands in rtems 4.11 (since in project description
> >> "https://devel.rtems.org/ticket/4272" its written that post-link was
> >> active in earlier versions of rtems).
> >
> >
> > In 4.11, these were under c/src/lib/libbsp. There was a source reorganization
> > between 4.11 and 5 to ease the transition to waf. This command finds the
> > same set of bsp-post-link definitions once you are on the 4.11 branch.
> >
> > find c/src/lib/libbsp -name "*.cfg" | xargs -e grep post-
> >
> > I mentioned there was a few patterns of what these do. mrm332.cfg
> > is creating an S-Record image to download. mvme2100.cfg is creating
> > a compressed binary with a program prepended that decompresses it
> > and jumps to it.
> >
> > I'd suggest using Google Sheets to capture a list of every BSP with
> > a bsp-post-link stanza and a second column to categorize them based
> > on the output format. You and I have talked about the compressed
> > binary with header, S-Records, and mkimage for U-Boot. I would
> > expect that without those types, you will find similarities and a set
> > of repeating things that get tailored from BSP to BSP.
> >
> > Compare two that have the same output format. The S-Record
> > output ones should be easy to compare.
> >
> >>
> >> Also I have started making a draft on this project and wanted to know
> >> where I should post it to get some initial reviews on it.
> >
> >
> > This is pressing as is getting an application and draft filed with Google.
> >
> > --joel
> >
> >>
> >> Thanks, Ayushman
> >>
> >> On Mon, Apr 5, 2021 at 9:35 AM Ayushman Mishra <ayushvidushi01 at gmail.com> wrote:
> >> >
> >> > Boot-loader is used to initialize the hardware device , but is there
> >> > any way to simulate the boot-loader without hardware?.
> >> > And I suppose the command "rtems-boot-image" performs somewhat similar
> >> > function to one of the objective of this project "This project is
> >> > about capturing the commands and logic needed to convert the RTEMS
> >> > executable format to the BSP boot loader format"  ( 3rd point of "The
> >> > boot image tool can:"
> >> > https://docs.rtems.org/branches/master/user/tools/boot-image.html)
> >> >
> >> > Also I think potential mentors of this project are Chris Johns and
> >> > Joel Sherrill , please correct me if I'm wrong.
> >> >
> >> > On Sun, Apr 4, 2021 at 10:27 PM Ayushman Mishra
> >> > <ayushvidushi01 at gmail.com> wrote:
> >> > >
> >> > > Respected Sir,
> >> > > I went through project description https://devel.rtems.org/ticket/4272
> >> > > (BSP Executable Conversion) and wanted to take it as GSOC project.
> >> > > I know python programming ,shell scripting and after working a little
> >> > > bit on project #4334 "Replace Mongoose with Civetweb" (in which I am
> >> > > not able to proceed further) I have gained some knowledge about bsp
> >> > > build system in rtems6.
> >> > > I have already build tools and bsp xilinx_zynq_a9_qemu  on rtems5 and
> >> > > rtems6 and package libbsd for bsp erc32 and xilinx_zynq_a9_qemu.
> >> > >
> >> > > Also, I have a few doubts regarding project "BSP Executable Conversion" :
> >> > > 1. In description its written to make a command "rtems-exe-convert" ,
> >> > > I wanted to ask what will be the actual function of this command like
> >> > > after capturing the commands and logic for converting 'RTEMS
> >> > > executable format' will it create a boot-loader for specific bsp and
> >> > > provide it with 'RTEMS executable format' ?,
> >> > > and also I wanted to ask what is need for this command (or this
> >> > > project in general) and how will it affect the present building
> >> > > procedure of rtems?
> >> > > (like first building the specific tools then installing the particular bsp)
> >> > >
> >> > > 2. I have build 2 BSP in simulation but wanted to ask are all BSPs
> >> > > available in rtems able to perfectly build in simulation or do I need
> >> > > some specific hardware for any BSP.
> >> > > I would be very thankful if you can please clarify my above doubts and
> >> > > provide a little guidance about this project.
> >> > > Thanks, Ayushman


More information about the devel mailing list