Hi All,
Sorry in advance for the long post. I have tried to include as much information as possible.
I am trying to create an OpenCPI environment for an Ettus E310.
The SD card has the original image from Ettus except the boot partition has been increased to allow room for the environment files.
I have copied the contents of the e31x/sdcard-xilinx13_4 to the boot partition of the SD card. When starting the Ettus there is no response from the screen serial connection.
Setup:
CentOS 7.8.2003
OpenCPI 2.1.0-rc.2 (2.1.0 final has released but my installation was done just before this)
Vivado 2019.2
Vivado 2013.4 SDK
opciadmin install platform xsim - success
opciadmin install platform xilinx13_4 - success
Built using AV GUI:
xsim - success
Build xilinx13_4. "Build Assemblies" option ticketed. (Note guide says only ocpi.core is needed for e31x)
ocpi.core - success
ocpi.asset - success
ocpi.asset_ts - success
My thoughts:
Is the 'ocpiadmin deploy platform xilinx13_4 e31x' environment generated correct?
When running 'ocpiadmin deploy platform xilinx13_4 e31x' command I get the below error. Could this possibly be affecting the generation of the E310 OpenCPI environment?
cp: cannot stat ‘../projects/assets/hdl/assemblies/testbias/container-testbias_e31x_base/target-*/*.bitz’: No such file or directory
I noticed in another forum post about SD card for the Zed that their environment contains 5 files (boot.bin devicetree.dtb opencpi uImage uramdisk.image.gz) where mine contains 3 (opencpi uImage uramdisk.image.gz). Are the boot.bin and devicetree.dtb files required?
Does the SD card need to be specially partitioned for the e31x environment?
The SD card starts with a boot (fat16) and root (ext4) partition. At the bottom of the E310 Installation Guide in Appendix A Generating Boot Artifacts it mentions that the default partitioning of the SD card isn't suitable for the Petalinux build. Does the OpenCPI Installation Guide use the Petalinux build? Also, the steps mentioning checking out ettus300-daisy. This no longer exists as a branch. devicetree.dtb and boot.bin are mentioned in this Appendix also.
What are the dependencies of the e31x setup?
Installation Guide uses xilinx13_4 and e31x as examples throughout the generic setup guide so my assumption is e31x is dependant on xilinx13_4. However it also mentions it uses xilinx19_2_aarch32 (Table of Supported Embedded Systems, Page 27 of Installation Guide). Is xilinx19_2_aarch32 a dependency for the E310?
Any help would be appreciated. Thanks in advance.
Regards, Anony
We have generally been using the xilinx19_2_aarch32 for the e310 recently, so I suppose that is preferred.
Have you done:
ocpiadmin install platform e31x?
The error:
cp: cannot stat ‘../projects/assets/hdl/assemblies/testbias/container-testbias_e31x_base/target-/.bitz’: No such file or directory
seems to indicate that you have not installed/built the e31x platform.
I.e. before you can use “ocpiadmin deploy”, you need to “ocpiadmin install” both platforms.
More recent SD cards (and linux kernels) use the boot file: image.ub which encapulates the older
files: uImage uramdisk.image.gz devicetree.dtb
We recommend using (a raw copy of) the SD card as it comes from the vendor so the partitioning is however they like it to be.
Thanks for the notes on the install guide inconsistencies. We have mostly moved the e31x support to xilinx19_2_aarch32, but some of the notes do not reflect that.
On Mar 30, 2021, at 1:25 AM, anonymous254367@gmail.com wrote:
Hi All,
Sorry in advance for the long post. I have tried to include as much information as possible.
I am trying to create an OpenCPI environment for an Ettus E310.
The SD card has the original image from Ettus except the boot partition has been increased to allow room for the environment files.
I have copied the contents of the e31x/sdcard-xilinx13_4 to the boot partition of the SD card. When starting the Ettus there is no response from the screen serial connection.
Setup:
CentOS 7.8.2003
OpenCPI 2.1.0-rc.2 (2.1.0 final has released but my installation was done just before this)
Vivado 2019.2
Vivado 2013.4 SDK
opciadmin install platform xsim - success
opciadmin install platform xilinx13_4 - success
Built using AV GUI:
xsim - success
Build xilinx13_4. "Build Assemblies" option ticketed. (Note guide says only ocpi.core is needed for e31x)
ocpi.core - success
ocpi.asset - success
ocpi.asset_ts - success
My thoughts:
Is the 'ocpiadmin deploy platform xilinx13_4 e31x' environment generated correct?
When running 'ocpiadmin deploy platform xilinx13_4 e31x' command I get the below error. Could this possibly be affecting the generation of the E310 OpenCPI environment?
cp: cannot stat ‘../projects/assets/hdl/assemblies/testbias/container-testbias_e31x_base/target-/.bitz’: No such file or directory
I noticed in another forum post about SD card for the Zed that their environment contains 5 files (boot.bin devicetree.dtb opencpi uImage uramdisk.image.gz) where mine contains 3 (opencpi uImage uramdisk.image.gz). Are the boot.bin and devicetree.dtb files required?
Does the SD card need to be specially partitioned for the e31x environment?
The SD card starts with a boot (fat16) and root (ext4) partition. At the bottom of the E310 Installation Guide in Appendix A Generating Boot Artifacts it mentions that the default partitioning of the SD card isn't suitable for the Petalinux build. Does the OpenCPI Installation Guide use the Petalinux build? Also, the steps mentioning checking out ettus300-daisy. This no longer exists as a branch. devicetree.dtb and boot.bin are mentioned in this Appendix also.
What are the dependencies of the e31x setup?
Installation Guide uses xilinx13_4 and e31x as examples throughout the generic setup guide so my assumption is e31x is dependant on xilinx13_4. However it also mentions it uses xilinx19_2_aarch32 (Table of Supported Embedded Systems, Page 27 of Installation Guide). Is xilinx19_2_aarch32 a dependency for the E310?
Any help would be appreciated. Thanks in advance.
Regards, Anony
discuss mailing list -- discuss@lists.opencpi.org
To unsubscribe send an email to discuss-leave@lists.opencpi.org
Hi Jim,
Sorry for the delay in response, I have been attempting different avenues to try for a solution for this and wanted to respond when there was some progress.
Kulp Jim wrote:
Have you done:
ocpiadmin install platform e31x?
This command doesn’t work for some reason. In the end ocpiadmin install platform e31x -p ocpi.osps.e31x (or something similar) is the command that worked. I believe it is because e31x doesn’t exist in an immediate repository but is 2 repositories down (in ocpi.sps.e31x).
Kulp Jim wrote:
We recommend using (a raw copy of) the SD card as it comes from the vendor so the partitioning is however they like it to be.
SD card used is the raw copy of the vendor partition. It just appears to be corrupting constantly but a few e310 restarts or unmounts/remounts gains access to the SD card again.
I decided to rebuild my machine so reimaged CentOS7 then installed OpenCPI 2.1.0 (latest release), Vitis & Vivado and then did a ocpiadmin install platform xilinx19_2_aarch32, xilinx 13_4 and e31x. Put the SD card into the Ettus E310 with xilinx19_2_aarch32 e31x and did a source ./mysetup.sh and it sourced according to plan.
The problem comes when I do the ocpirun -v -t 1 -d -m bias=hdl bias.xml command
Dump of all initial property values:
Property 0: file_read.fileName = "test.input" (cached)
Property 1: file_read.messagesInFile = "false" (cached)
Property 2: file_read.opcode = "0" (cached)
Property 3: file_read.messageSize = "16"
Property 4: file_read.granularity = "4" (cached)
Property 5: file_read.repeat = "false"
Property 6: file_read.bytesRead = "0"
Property 7: file_read.messagesWritten = "0"
Property 8: file_read.suppressEOF = "false"
Property 9: file_read.badMessage = "false"
Property 16: bias.biasValue = "16909060" (cached)
Property 20: bias.test64 = "0"
Property 31: file_write.fileName = "test.output" (cached)
Property 32: file_write.messagesInFile = "false" (cached)
Property 33: file_write.bytesWritten = "0"
Property 34: file_write.messagesWritten = "0"
Property 35: file_write.stopOnEOF = "true" (cached)
Property 39: file_write.suppressWrites = "false"
Property 40: file_write.countData = "false"
Property 41: file_write.bytesPerSecond = "0"
Application started/running [0 s 2 ms]
Assertion failed: id => m_ports.size() is false at ../gen/os/interfaces/include/OcpiOsAssert.h:118.
Stack Dump:
ocpirun(_ZN4OCPI2OS9dumpStackERSo+0x20) [0x25fdb0]
ocpirun() [0x25fc5c]
ocpirun(_ZN4OCPI2OS15assertionFailedEPKcS2_j+0x5c) [0x25fcf0]
My thoughts are, does the bias.xml only work for xilinx13_4? What is this assertion failure? If I create a FSK application would that work? hello_world.xml worked as intended.
As a work around I attempted to use xilinx13_4 instead but I get an error when sourcing mysetup.sh:
Attempting to set time from time.nist.gov
rdate: time.nist.gov: short read
====YOU HAVE NO NETWORK CONNECTION and NO HARDWARE CLOCK====
Set the time using the "date YYYY.MM.DD-HH:MM[:SS]" command.
Running login script.
OCPI_CDK_DIR is now /run/media/mmcblk0p1/opencpi.
OCPI_ROOT_DIR is now /run/media/mmcblk0p1/opencpi/...
Executing /home/root/.profile.
No reserved DMA memory found on the linux boot command line.
opencpi: disagrees about version of symbol module_layout
opencpi: disagrees about version of symbol module_layout
insmod: can't insert '/run/media/mmcblk0p1/opencpi/xilinx13_4/lib/opencpi-3.12.0-xilinx-dirty-v2013.4.ko': invalid module format
Driver loading failed.
Thoughts?
Unfortunately this problem was seen, identified and fixed after the release was cut.
The one-line fix is in this commit:
https://gitlab.com/opencpi/opencpi/-/commit/5915298a1943a98fcff67aceeeb813b938f06dd9
It is in the develop branch, but if you want to be surgical to avoid the churn with the develop branch, you could just make the one-line change in your repo for the time being.
On 4/9/21 12:45 AM, anonymous254367@gmail.com wrote:
Hi Jim,
Sorry for the delay in response, I have been attempting different avenues to try for a solution for this and wanted to respond when there was some progress.
Kulp Jim wrote:
Have you done:
ocpiadmin install platform e31x?
This command doesn’t work for some reason. In the end ocpiadmin install platform e31x -p ocpi.osps.e31x (or something similar) is the command that worked. I believe it is because e31x doesn’t exist in an immediate repository but is 2 repositories down (in ocpi.sps.e31x).
Kulp Jim wrote:
We recommend using (a raw copy of) the SD card as it comes from the vendor so the partitioning is however they like it to be.
SD card used is the raw copy of the vendor partition. It just appears to be corrupting constantly but a few e310 restarts or unmounts/remounts gains access to the SD card again.
I decided to rebuild my machine so reimaged CentOS7 then installed OpenCPI 2.1.0 (latest release), Vitis & Vivado and then did a ocpiadmin install platform xilinx19_2_aarch32, xilinx 13_4 and e31x. Put the SD card into the Ettus E310 with xilinx19_2_aarch32 e31x and did a source ./mysetup.sh and it sourced according to plan.
The problem comes when I do the ocpirun -v -t 1 -d -m bias=hdl bias.xml command
Dump of all initial property values:
Property 0: file_read.fileName = "test.input" (cached)
Property 1: file_read.messagesInFile = "false" (cached)
Property 2: file_read.opcode = "0" (cached)
Property 3: file_read.messageSize = "16"
Property 4: file_read.granularity = "4" (cached)
Property 5: file_read.repeat = "false"
Property 6: file_read.bytesRead = "0"
Property 7: file_read.messagesWritten = "0"
Property 8: file_read.suppressEOF = "false"
Property 9: file_read.badMessage = "false"
Property 16: bias.biasValue = "16909060" (cached)
Property 20: bias.test64 = "0"
Property 31: file_write.fileName = "test.output" (cached)
Property 32: file_write.messagesInFile = "false" (cached)
Property 33: file_write.bytesWritten = "0"
Property 34: file_write.messagesWritten = "0"
Property 35: file_write.stopOnEOF = "true" (cached)
Property 39: file_write.suppressWrites = "false"
Property 40: file_write.countData = "false"
Property 41: file_write.bytesPerSecond = "0"
Application started/running [0 s 2 ms]
Assertion failed: id => m_ports.size() is false at ../gen/os/interfaces/include/OcpiOsAssert.h:118.
Stack Dump:
ocpirun(_ZN4OCPI2OS9dumpStackERSo+0x20) [0x25fdb0]
ocpirun() [0x25fc5c]
ocpirun(_ZN4OCPI2OS15assertionFailedEPKcS2_j+0x5c) [0x25fcf0]
My thoughts are, does the bias.xml only work for xilinx13_4? What is this assertion failure? If I create a FSK application would that work? hello_world.xml worked as intended.
As a work around I attempted to use xilinx13_4 instead but I get an error when sourcing mysetup.sh:
Attempting to set time from time.nist.gov
rdate: time.nist.gov: short read
====YOU HAVE NO NETWORK CONNECTION and NO HARDWARE CLOCK====
Set the time using the "date YYYY.MM.DD-HH:MM[:SS]" command.
Running login script.
OCPI_CDK_DIR is now /run/media/mmcblk0p1/opencpi.
OCPI_ROOT_DIR is now /run/media/mmcblk0p1/opencpi/...
Executing /home/root/.profile.
No reserved DMA memory found on the linux boot command line.
opencpi: disagrees about version of symbol module_layout
opencpi: disagrees about version of symbol module_layout
insmod: can't insert '/run/media/mmcblk0p1/opencpi/xilinx13_4/lib/opencpi-3.12.0-xilinx-dirty-v2013.4.ko': invalid module format
Driver loading failed.
Thoughts?
<pre class="moz-quote-pre" wrap="">_______________________________________________ discuss mailing list -- <a class="moz-txt-link-abbreviated" href="mailto:discuss@lists.opencpi.org">discuss@lists.opencpi.org</a> To unsubscribe send an email to <a class="moz-txt-link-abbreviated" href="mailto:discuss-leave@lists.opencpi.org">discuss-leave@lists.opencpi.org</a>
Thanks for the comments so far, you have been a huge help.
Copied the updated line from the branch over to the respective file then did another install of OpenCPI and the m_port_size() error has disappeared.
ocpirun -v -t 1 -d -m bias=hdl bias.xml is now working as intended.
The next step is teh test application which doesn’t appear to be working.
Running the following two commands appears to fail:
./target-xilinx19_2_aarch32/FSK rx
Application properties are found in XML file: app_fsk_rx_e31x.xml
ERROR: No acceptable implementations found in any libraries for "ocpi.assets.devices.ad9361_spi". Use log level 8 for more detail.
% ./target-xilinx19_2_aarch32/FSK filerw
Application properties are found in XML file: app_fsk_filerw.xml
ERROR: No acceptable implementations found in any libraries for "ocpi.assets.comms_comps.mfsk_mapper". Use log level 8 for more detail.
My understanding is that xilinx19_2_aarch32 and e31x don’t use ocpi.assets as a dependency, only ocpi.core.
The FSK application directory has been replaced with
fsk_dig_radio_controller. We are in the processes of removing legacy
applications. To run the fsk_modem_app.xml the e31x and xilinx19_2_aarch32
platform depend on ocpi.core, ocpi.assets, ocpi.platform, and ocpi.osp.e31x
projects.
On Mon, Apr 12, 2021 at 1:48 AM anonymous254367@gmail.com wrote:
Thanks for the comments so far, you have been a huge help.
Copied the updated line from the branch over to the respective file then
did another install of OpenCPI and the m_port_size() error has disappeared.
ocpirun -v -t 1 -d -m bias=hdl bias.xml is now working as intended.
The next step is teh test application which doesn’t appear to be working.
Running the following two commands appears to fail:
./target-xilinx19_2_aarch32/FSK rx
Application properties are found in XML file: app_fsk_rx_e31x.xml
ERROR: No acceptable implementations found in any libraries for
"ocpi.assets.devices.ad9361_spi". Use log level 8 for more detail.
% ./target-xilinx19_2_aarch32/FSK filerw
Application properties are found in XML file: app_fsk_filerw.xml
ERROR: No acceptable implementations found in any libraries for
"ocpi.assets.comms_comps.mfsk_mapper". Use log level 8 for more detail.
My understanding is that xilinx19_2_aarch32 and e31x don’t use ocpi.assets
as a dependency, only ocpi.core.
discuss mailing list -- discuss@lists.opencpi.org
To unsubscribe send an email to discuss-leave@lists.opencpi.org
The dependencies are used during the ocpidev build commands, correct?
There is the FSK_App_Getting_Started_Guide and the FSK_App_Getting_Started_Guide_E31x.
I followed the later guide to build the FSK application.
The build commands also appear to be slightly different between the two guides. I have noticed that the former guide mentions fsk_modem in section 5 Build the assets project, which is the application you mention is required for the e31x.
Assuming that ocpi.core, ocpi.assets, ocpi.platform, and ocpi.osp.e31x projects have already been created:
If I use the commands in the FSK_App_Getting_Started_Guide while in the correct directories but replace xilinx13_3 and matchstiq_z1 with xilinx19_2_aarch32 and e31x respectively then the fsm_modem application will be built? Will this solve the “ERROR: No acceptable implementations” error?
Those documents are in need of a refresh.
A new utility has been created called ocpiadmin which facilitates
platform builds. Before invoking it
is assumed you have followed the OpenCPI Installation Guide
https://opencpi.gitlab.io/releases/latest/docs/OpenCPI_Installation_Guide.pdf
.
Specifically installing vendor tools, cloning the project, running
install-opencpi.sh, sourcing environment variables. The following command
is also referenced several times in the install guide and these are the
ones you would use for xilinx19_2_aarch32:e31x platform combination:
ocpiadmin install platform xilinx19_2_aarch32
The 'ocpiadmin install platform' command will build the framework and
workers for the given platform in projects
core,platform,assets,assets_ts,tutorial, and if the platform is located in
an OSP project outside the main OpenCPI project will be against that
project as well. After building the RCC platform the next step would be to
build the HDL platform. In your case for the E310 it would be:
ocpiadmin install platform e31x -p ocpi.osp.e3xx
That command will build all the HDL workers in the same set of projects as
before. This will also pull the OSP from gitlab since it's not in the main
OpenCPI project and place it in projects/osps directory. Additionally for
HDL platforms it will build only one HDL assembly by default, the
testbias assembly.
To run the fsk_modem_app.xml you need to build
ocpi.osp.e3xx/hdl/assemblies/fsk_modem hdl assembly. To do so do the
following:
cd projects/osps/ocpi.osp.e3xx/hdl/assemblies/fsk_modem
ocpidev build --hdl-platform e31x
Once the assembly and all workers have been built there are three modes of
running an OpenCPI application:
Which mode are you planning to use?
Typically you will get the 'No acceptable implementations ' error if
OCPI_LIBRARY_PATH environment variable has not been set correctly.
On Mon, Apr 12, 2021 at 9:57 PM anonymous254367@gmail.com wrote:
The dependencies are used during the ocpidev build commands, correct?
There is the FSK_App_Getting_Started_Guide and the
FSK_App_Getting_Started_Guide_E31x.
I followed the later guide to build the FSK application.
The build commands also appear to be slightly different between the two
guides. I have noticed that the former guide mentions fsk_modem in
section 5 Build the assets project, which is the application you
mention is required for the e31x.
Assuming that ocpi.core, ocpi.assets, ocpi.platform, and ocpi.osp.e31x
projects have already been created:
If I use the commands in the FSK_App_Getting_Started_Guide while in the
correct directories but replace xilinx13_3 and matchstiq_z1 with
xilinx19_2_aarch32 and e31x respectively then the fsm_modem
application will be built? Will this solve the “ERROR: No acceptable
implementations” error?
discuss mailing list -- discuss@lists.opencpi.org
To unsubscribe send an email to discuss-leave@lists.opencpi.org
I have done both the ocpiadmin install for both platforms and they both appear to work.
I will give the ocpidev for fsk_modem a go when I get the chance.
Currently I am trying to get standalone mode working as that appears simpler than the other options.
I did an export of the OCPI_LIBRARY_PATH and did an echo to check and it appears to be in the correct location.
Aaron Olivarez wrote:
Those documents are in need of a refresh.
A new utility has been created called ocpiadmin which facilitates
platform builds. Before invoking it
is assumed you have followed the OpenCPI Installation Guide
https://opencpi.gitlab.io/releases/latest/docs/OpenCPI_Installation_Guide.pdf
.
Specifically installing vendor tools, cloning the project, running
install-opencpi.sh, sourcing environment variables. The following command
is also referenced several times in the install guide and these are the
ones you would use for xilinx19_2_aarch32:e31x platform combination:
ocpiadmin install platform xilinx19_2_aarch32
The 'ocpiadmin install platform' command will build the framework and
workers for the given platform in projects
core,platform,assets,assets_ts,tutorial, and if the platform is located in
an OSP project outside the main OpenCPI project will be against that
project as well. After building the RCC platform the next step would be to
build the HDL platform. In your case for the E310 it would be:
ocpiadmin install platform e31x -p ocpi.osp.e3xx
That command will build all the HDL workers in the same set of projects as
before. This will also pull the OSP from gitlab since it's not in the main
OpenCPI project and place it in projects/osps directory. Additionally for
HDL platforms it will build only one HDL assembly by default, the
testbias assembly.
To run the fsk_modem_app.xml you need to build
ocpi.osp.e3xx/hdl/assemblies/fsk_modem hdl assembly. To do so do the
following:
cd projects/osps/ocpi.osp.e3xx/hdl/assemblies/fsk_modem
ocpidev build --hdl-platform e31x
Once the assembly and all workers have been built there are three modes of
running an OpenCPI application:
Which mode are you planning to use?
Typically you will get the 'No acceptable implementations ' error if
OCPI_LIBRARY_PATH environment variable has not been set correctly.
On Mon, Apr 12, 2021 at 9:57 PM anonymous254367@gmail.com wrote:
The dependencies are used during the ocpidev build commands, correct?
There is the FSK_App_Getting_Started_Guide and the
FSK_App_Getting_Started_Guide_E31x.
I followed the later guide to build the FSK application.
The build commands also appear to be slightly different between the two
guides. I have noticed that the former guide mentions fsk_modem in
section 5 Build the assets project, which is the application you
mention is required for the e31x.
Assuming that ocpi.core, ocpi.assets, ocpi.platform, and ocpi.osp.e31x
projects have already been created:
If I use the commands in the FSK_App_Getting_Started_Guide while in the
correct directories but replace xilinx13_3 and matchstiq_z1 with
xilinx19_2_aarch32 and e31x respectively then the fsm_modem
application will be built? Will this solve the “ERROR: No acceptable
implementations” error?
discuss mailing list -- discuss@lists.opencpi.org
To unsubscribe send an email to discuss-leave@lists.opencpi.org