Trenz Electronic GmbH Support Forum

Trenz Electronic Products => UltraScale => Topic started by: IhebHnaien on September 18, 2020, 01:00:03 PM

Title: FSBL Petalinux
Post by: IhebHnaien on September 18, 2020, 01:00:03 PM
Hi,

I'm trying to run linux on APU and a baremetal application on rpu (using the trm te0808 board). I already created a petalinux project and an openamp demo project (echotest). Linux boots first via the sd card then it starts the rpu application via remoteproc. The fsbl and pmu are being created from petalinux. And the elf file of the baremetal application is included as a petalinux application. And this works perfectly, both APU and rpu are communicating via RPmsg etc.

Then I created a baremetal application that is receiving data from a dma engine and echoes them back. I tested it with JTAG and it could initialize the dma engine and access its registers. I used the trenz fsbl and pmu files instead of the automatically generated fsl and pmu files. But when I tried to run the same code on my openamp project, the baremetal application fails to access the control register of the dma channels.

I already contacted the xilinx support team and they said that I should just delete the dma nodes from the petalinux from the device tree and then it should work. But this didn't solve the problem. I was just wondering if the automatically generated fsbl of petalinux can lead to such problems for trenz boards ? Should I make any configurations in my linux fsbl to give rpu access to the dma control register ?

BR
Iheb
Title: Re: FSBL Petalinux
Post by: IhebHnaien on September 19, 2020, 11:06:00 AM
problem solved:

It works when I use the trenz fsbl instead of the fsbl automatically generated by petalinux. : petalinux-package --boot --fsbl <path to FSBL file> --fpga images/linux/system.bit --pmufw images/linux/pmufw.elf --u-boot --force

BR
Iheb