News:

Attention: For security reasons,please choose a user name *different* from your login name.
Also make sure to choose a secure password and change it regularly.

Main Menu

FSBL Petalinux

Started by IhebHnaien, September 18, 2020, 01:00:03 PM

Previous topic - Next topic

IhebHnaien

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

IhebHnaien

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