Re: [Discuss OpenCPI] RCC Platform Development

CH
Chris Hinkey
Fri, Apr 12, 2019 12:49 PM

So i think i missed a step all you should need to do is "make Platform=zed"  then the make deploy command should work as i had expected before.

more lengthy explanation:

Make prereqs for centos 7 and xilinx13_4

make prerequisites Platforms=centos7 make prerequisites Platforms=xilinx13_4

Make framework for centos 7 and xilinx 13_4 make make Platform=xilinx13_4

Make platform for hw platfrom

make Platform=zed

Make deployment package# May give error messages(fixed in 1.5):

#mv: cannot stat ‘/tmp/tmp.MtgFaZ91Rr/zed/sdcard-xilinx13_4/opencpi/udev-rules/*’: No such file or directory
#rmdir: failed to remove ‘/tmp/tmp.MtgFaZ91Rr/zed/sdcard-xilinx13_4/opencpi/udev-rules’: No such file or directory
make deploy Platform=zed:xilinx13_4

Now ./cdk/zed/zed-deploy/sdcard-xilinx13_4 should exist.

I would note that the correct boot files do not get put in for xilinx13_4: boot.bin,  uImage, and uramdisk.image.gz... this will be fixed in 1.5.

The above should not matter for his purposes since he is using this just for the opencpi directory


From: Paulz, Eric epaulz@vt.edu
Sent: Thursday, April 11, 2019 3:33 PM
To: Chris Hinkey
Subject: RE: [Discuss OpenCPI] RCC Platform Development

Thanks, this is very helpful.

I switched over to a source build.  My source tree is built for both centos7 and xilinx13_4.  I ran the command ‘make deploy Platform=zed:xilinx13_4’ from the top of the tree.  However I don’t see  the file path you said would be created.  I see ‘exports/xilinx13_4/’ which has some artifacts and setup scripts, and I also see ‘exports/deploy/xilinx13_4/’ that contains ‘boot.bin’, ‘uImage’ and ‘uramdisk.image.gz’.  I don’t see anything about an SD card.

  • Eric

From: Chris Hinkey chinkey@geontech.onmicrosoft.com
Sent: Tuesday, April 9, 2019 3:49 PM
To: Paulz, Eric epaulz@vt.edu; discuss@lists.opencpi.org
Subject: Re: [Discuss OpenCPI] RCC Platform Development

In order to do rcc platform development you will need to switch over to a source build to get access to the framework build system.

you basically need to port over the binaries that the framework builds this is what that section of the doc is trying to describe.

for example if i have a source tree that is built for xilinx13_3 and i run the command "make deploy Platform=matchstiq_z1:xilinx13_3"
this will put everything that is needed for standalone mode into a single folder in  "exports/matchstiq_z1/matchstiq_z1-deploy/sdcard-xilinx13_3/opencpi"

you will need to specify a hdl platform even if you haven created yours yet I would recommend just running the command "make deploy Platform=matchstiq:erics_sw_platform" (after building the framework for your new software platform)  this should give you what you would need to test the rcc side of things on your platform.


From: Paulz, Eric <epaulz@vt.edumailto:epaulz@vt.edu>
Sent: Tuesday, April 9, 2019 2:25 PM
To: Chris Hinkey
Subject: Re: [Discuss OpenCPI] RCC Platform Development

RPM, version 1.4

On Apr 9, 2019, at 14:00, Chris Hinkey <chinkey@geontech.onmicrosoft.commailto:chinkey@geontech.onmicrosoft.com> wrote:

trying to find the right people for help to answer your question.  I'll get back to you shortly.

Are you using a source build tor rpm enviroment?


From: Paulz, Eric <epaulz@vt.edumailto:epaulz@vt.edu>
Sent: Tuesday, April 9, 2019 1:05 PM
To: Chris Hinkey
Subject: RE: [Discuss OpenCPI] RCC Platform Development

Thanks for your response, that does help.  I have a quick follow-up question:

I have built a simple application and run is successfully on my development machine.  I am now following the steps in 4.2.1 of the Platform Development Guide trying to create a ‘runtime’ and a ‘deployment’ package so that I can test it on a SDR board.  The document seems to make the assumption that the development and embedded systems can share files over a network and this fulfills the ‘runtime’ aspect.  Say the board I’m working with does not have network capabilities… what would be the best way to create a runtime/deployment package all in one and load the whole thing onto an SD card that the board can reference when trying to run an OpenCPI application?

Hope this makes sense and thanks in advance.

  • Eric

From: Chris Hinkey <chinkey@geontech.onmicrosoft.commailto:chinkey@geontech.onmicrosoft.com>
Sent: Thursday, April 4, 2019 2:07 PM
To: Paulz, Eric <epaulz@vt.edumailto:epaulz@vt.edu>; discuss@lists.opencpi.orgmailto:discuss@lists.opencpi.org
Subject: Re: [Discuss OpenCPI] RCC Platform Development

all the rcc platforms xilinx13_3/4 in the core project afre for embedded radios
one other place to look that might be useful to look is geontech's implementation of the xilinx18_2 rcc platform https://github.com/Geontech/sw_xilinx18_2

what you essentially need to do is to set the make file to point to your compiler and set any flags that are needed for this compiler then build the framework from source and move these executables to the platform to run them.  In order for the build tools to recognize the new platform that you created the project that you created it in has to be registered in your project registry.  one way to determine if the tools can see your platform at all is to use the command "ocpidev show rcc platforms"

The fact that the platforms we have use SD cards too boot is maybe a poor choice of words in the documentation.  Outside of opencpi you have a way to boot your platform, you have a compiler to compile executables, and you have some way to get built executable on to the platform use those in order to complete your task.

hope this helps


From: discuss <discuss-bounces@lists.opencpi.orgmailto:discuss-bounces@lists.opencpi.org> on behalf of Paulz, Eric <epaulz@vt.edumailto:epaulz@vt.edu>
Sent: Thursday, April 4, 2019 1:41 PM
To: discuss@lists.opencpi.orgmailto:discuss@lists.opencpi.org
Subject: [Discuss OpenCPI] RCC Platform Development

Hello,

I am working on an RCC platform for an embedded target (AstroSDR) on which the existing OS must remain as is.  The main challenge I'm facing is that all examples of enabling execution for GPP platforms recommend running Petalinux on the target, and all other examples of RCC platforms seem to be for development (I could be wrong on this).  Another issue is that the board is not configured to boot from an SD card as is detailed in the Platform Development Guide.  I attended the training workshop late last month and picked up some great tips, but I'm still struggling to get the platform to build properly so that I can test it out with some basic apps.

Are there any steps that I may be missing or existing cases similar to this that could be referenced?

Thanks,

Eric C. Paulz
Computer Engineer
Hume Center for National Security & Technology
epaulz@vt.edumailto:epaulz@vt.edumailto:epaulz@vt.edu
Office: 540-231-6180
Cell: 864-243-6767

So i think i missed a step all you should need to do is "make Platform=zed" then the make deploy command should work as i had expected before. more lengthy explanation: # Make prereqs for centos 7 and xilinx13_4 make prerequisites Platforms=centos7 make prerequisites Platforms=xilinx13_4 # Make framework for centos 7 and xilinx 13_4 make make Platform=xilinx13_4 # Make platform for hw platfrom make Platform=zed # Make deployment package# May give error messages(fixed in 1.5): #mv: cannot stat ‘/tmp/tmp.MtgFaZ91Rr/zed/sdcard-xilinx13_4/opencpi/udev-rules/*’: No such file or directory #rmdir: failed to remove ‘/tmp/tmp.MtgFaZ91Rr/zed/sdcard-xilinx13_4/opencpi/udev-rules’: No such file or directory make deploy Platform=zed:xilinx13_4 # Now ./cdk/zed/zed-deploy/sdcard-xilinx13_4 should exist. # I would note that the correct boot files do not get put in for xilinx13_4: boot.bin, uImage, and uramdisk.image.gz... this will be fixed in 1.5. # The above should not matter for his purposes since he is using this just for the opencpi directory ________________________________ From: Paulz, Eric <epaulz@vt.edu> Sent: Thursday, April 11, 2019 3:33 PM To: Chris Hinkey Subject: RE: [Discuss OpenCPI] RCC Platform Development Thanks, this is very helpful. I switched over to a source build. My source tree is built for both centos7 and xilinx13_4. I ran the command ‘make deploy Platform=zed:xilinx13_4’ from the top of the tree. However I don’t see the file path you said would be created. I see ‘exports/xilinx13_4/’ which has some artifacts and setup scripts, and I also see ‘exports/deploy/xilinx13_4/’ that contains ‘boot.bin’, ‘uImage’ and ‘uramdisk.image.gz’. I don’t see anything about an SD card. - Eric From: Chris Hinkey <chinkey@geontech.onmicrosoft.com> Sent: Tuesday, April 9, 2019 3:49 PM To: Paulz, Eric <epaulz@vt.edu>; discuss@lists.opencpi.org Subject: Re: [Discuss OpenCPI] RCC Platform Development In order to do rcc platform development you will need to switch over to a source build to get access to the framework build system. you basically need to port over the binaries that the framework builds this is what that section of the doc is trying to describe. for example if i have a source tree that is built for xilinx13_3 and i run the command "make deploy Platform=matchstiq_z1:xilinx13_3" this will put everything that is needed for standalone mode into a single folder in "exports/matchstiq_z1/matchstiq_z1-deploy/sdcard-xilinx13_3/opencpi" you will need to specify a hdl platform even if you haven created yours yet I would recommend just running the command "make deploy Platform=matchstiq:erics_sw_platform" (after building the framework for your new software platform) this should give you what you would need to test the rcc side of things on your platform. ________________________________ From: Paulz, Eric <epaulz@vt.edu<mailto:epaulz@vt.edu>> Sent: Tuesday, April 9, 2019 2:25 PM To: Chris Hinkey Subject: Re: [Discuss OpenCPI] RCC Platform Development RPM, version 1.4 On Apr 9, 2019, at 14:00, Chris Hinkey <chinkey@geontech.onmicrosoft.com<mailto:chinkey@geontech.onmicrosoft.com>> wrote: trying to find the right people for help to answer your question. I'll get back to you shortly. Are you using a source build tor rpm enviroment? ________________________________ From: Paulz, Eric <epaulz@vt.edu<mailto:epaulz@vt.edu>> Sent: Tuesday, April 9, 2019 1:05 PM To: Chris Hinkey Subject: RE: [Discuss OpenCPI] RCC Platform Development Thanks for your response, that does help. I have a quick follow-up question: I have built a simple application and run is successfully on my development machine. I am now following the steps in 4.2.1 of the Platform Development Guide trying to create a ‘runtime’ and a ‘deployment’ package so that I can test it on a SDR board. The document seems to make the assumption that the development and embedded systems can share files over a network and this fulfills the ‘runtime’ aspect. Say the board I’m working with does not have network capabilities… what would be the best way to create a runtime/deployment package all in one and load the whole thing onto an SD card that the board can reference when trying to run an OpenCPI application? Hope this makes sense and thanks in advance. - Eric From: Chris Hinkey <chinkey@geontech.onmicrosoft.com<mailto:chinkey@geontech.onmicrosoft.com>> Sent: Thursday, April 4, 2019 2:07 PM To: Paulz, Eric <epaulz@vt.edu<mailto:epaulz@vt.edu>>; discuss@lists.opencpi.org<mailto:discuss@lists.opencpi.org> Subject: Re: [Discuss OpenCPI] RCC Platform Development all the rcc platforms xilinx13_3/4 in the core project afre for embedded radios one other place to look that might be useful to look is geontech's implementation of the xilinx18_2 rcc platform https://github.com/Geontech/sw_xilinx18_2 what you essentially need to do is to set the make file to point to your compiler and set any flags that are needed for this compiler then build the framework from source and move these executables to the platform to run them. In order for the build tools to recognize the new platform that you created the project that you created it in has to be registered in your project registry. one way to determine if the tools can see your platform at all is to use the command "ocpidev show rcc platforms" The fact that the platforms we have use SD cards too boot is maybe a poor choice of words in the documentation. Outside of opencpi you have a way to boot your platform, you have a compiler to compile executables, and you have some way to get built executable on to the platform use those in order to complete your task. hope this helps ________________________________ From: discuss <discuss-bounces@lists.opencpi.org<mailto:discuss-bounces@lists.opencpi.org>> on behalf of Paulz, Eric <epaulz@vt.edu<mailto:epaulz@vt.edu>> Sent: Thursday, April 4, 2019 1:41 PM To: discuss@lists.opencpi.org<mailto:discuss@lists.opencpi.org> Subject: [Discuss OpenCPI] RCC Platform Development Hello, I am working on an RCC platform for an embedded target (AstroSDR) on which the existing OS must remain as is. The main challenge I'm facing is that all examples of enabling execution for GPP platforms recommend running Petalinux on the target, and all other examples of RCC platforms seem to be for development (I could be wrong on this). Another issue is that the board is not configured to boot from an SD card as is detailed in the Platform Development Guide. I attended the training workshop late last month and picked up some great tips, but I'm still struggling to get the platform to build properly so that I can test it out with some basic apps. Are there any steps that I may be missing or existing cases similar to this that could be referenced? Thanks, - Eric C. Paulz Computer Engineer Hume Center for National Security & Technology epaulz@vt.edu<mailto:epaulz@vt.edu><mailto:epaulz@vt.edu> Office: 540-231-6180 Cell: 864-243-6767