cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Contributor
Contributor
9,889 Views
Registered: ‎10-06-2013

SDSoC generates files for ramdisk only?!!! Not for Linaro??

Hi
 I have been using SDSoC for Zedboard. I liked the tool as I am able to run linux application from where I can access custom hardware on FPGA. But I am not finding this tool effective for my subsequent objectives. Basically I need to build OpenCV in the linux platform from where I will access custom hardware. Is it possible to build OpenCV in ramdisk?? I am cluless about this. Alternative solution will be to generate files for Linaro from SDSoC because I built OpenCV in linaro. Please help me asap as I am in a stage to evaluate the importance of SDSoC tool for my project in my university. Thank you.

0 Kudos
5 Replies
Highlighted
9,839 Views
Registered: ‎06-01-2015

I have the exact same problem; need an expert advice on this.

0 Kudos
Adventurer
Adventurer
9,828 Views
Registered: ‎02-14-2014

There are some tantalizing hints that SDSoC might have some integration with petalinux, but I can't see anything definite yet.  Selecting 'petalinux' as the OS in SDSoC doesn't seem to do anything useful yet.

 

I was thinking of trying this process one day:

- build kernel and up to libraries (like OpenCV) under petalinux, with a 'dummy' bsp

- stop the petalinux build process before apps

- create an SDSoC project which points to the petalinux stage  (which will pick up the include and library files)

- compile the accelerated part of the code with SDSoC, and put the created library into the petalinux targetroot

- take the SDSoC generated bitstream etc. and bring them back in as the petalinux bsp

- continue the petalinux build process with apps (which call the SDSoC compiled library)

- petalinux image creation etc. as normal

 

The only part of this I haven't thought through is the device tree.   Ideally in future petalinux will be able to recognise an SDSoC project as a component and call it for us...

 

Something like that might also work with openembedded/yocto etc.

 

 

0 Kudos
Highlighted
9,802 Views
Registered: ‎03-27-2014


 Is it possible to build OpenCV in ramdisk??

of course.

a ramdisk is basically a block of RAM which is being used instead of the actual hard drive (SD card), so the only difference is the system is being mounted into this virtual block of memory (and that includes all libraries and dependencies).

 

customize your Linux kernel and image to support OpenCV:
download and cross-compile the library (pb: your kernel needs to match the library's dependencies),

rebuild the Linux image and mount it as a ramdisk.

 

so basically, the only problem is how to customize your Linux kernel/image using this 'tool' ? and that my friend, i don't have a clue.

gw.
Embedded Systems, DSP, cyber
0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
9,719 Views
Registered: ‎08-02-2011

so basically, the only problem is how to customize your Linux kernel/image using this 'tool' ? and that my friend, i don't have a clue.

From UG1146 section on 'Linux Image'

 

Linux Image
A Linux image is required to boot. Xilinx provides single platform-independent prebuilt Linux image that works with all the SDSoC platforms supplied by Xilinx.
However, if you want to configure Linux for your own platform, please follow the instructions at wiki.xilinx.com to download and build the Linux kernel. Please make sure to enable the SDSoC APF drivers and the Contiguous Memory Allocator (CMA) when configuring Linux for your platform. Linux kernel build instructions for SDSoC platforms are described in
<sds_install_root>/<platform>/boot/how-to-build-this-linux-kernel.txt.
The file name and location are defined in the platform xml. Use the xd:linuxImage attribute in an xd:bootFiles element.
Sample xml description: xd:linuxImage=”boot/uImage”
Location: platforms/zc702_hdmi/boot/uImage
www.xilinx.com
0 Kudos
Highlighted
Contributor
Contributor
9,708 Views
Registered: ‎10-06-2013

Yes I got two text files where it is mentioned how to build linux kernel and how to generate u-boot. I followed them and tried to make modification for Linaro.  But is was not successful.
So I thought it would be wiser to generate kernel image and all for Ramdisk and then find out whether it is able to run the same application(matrix mult) that was initially running from SDSoC generated files for Ramdisk. But surporisingly it was not successful because of user-space i/o definition for dma. in menuconfig I enabled user-space i/o. But still it did not take user-space definition of dma. What else should I have to do for ramdisk itself to validate that the text files obtained from SDSoC are correct.

0 Kudos