cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
le8888e
Observer
Observer
2,029 Views
Registered: ‎04-16-2018

Petalinux 2019.1 fsbl build error: fatal error: xiicps.h: No such file or directory

Jump to solution

Have successfully built the xilinx-zcu104-v2019.1-final.bsp with petalinux, but when i built the petalinux project with my custom .hdf file, the petalinux failed with the following error:

ERROR: Task (/home/le8888e/design/petalinux/components/yocto/source/aarch64/layers/meta-xilinx-tools/recipes-bsp/fsbl/fsbl_git.bb:do_compile) failed with exit code '1'

and the compilation error is:

DEBUG: Executing shell function do_compile
aarch64-none-elf-gcc -MMD -MP -Wall -fmessage-length=0 -DARMA53_64 -Os -flto -ffat-lto-objects -Wall -fmessage-length=0 -DARMA53_64 -Os -flto -ffat-lto-objects -c xfsbl_board.c -o xfsbl_board.o -Izynqmp_fsbl_bsp/psu_cortexa53_0/include -I.
In file included from xfsbl_board.c:54:
xfsbl_board.h:64:10: fatal error: xiicps.h: No such file or directory
#include "xiicps.h"
^~~~~~~~~~
compilation terminated.
make: *** [Makefile:34: xfsbl_board.o] Error 1
WARNING: exit code 2 from a shell command.
ERROR: Function failed: do_compile (log file is located at /home/le8888e/design/zcu104_vcu_plnx/build/tmp/work/zcu104_zynqmp-xilinx-linux/fsbl/2019.1+gitAUTOINC+26c14d9861-r0/temp/log.do_compile.5939)

It seems that the build tool doesn't include the xiicps drivers files which could be found in local downloaded git files. How could i manually fix the problem? thanks. 

 

 

 

0 Kudos
1 Solution

Accepted Solutions
sandeepg
Moderator
Moderator
1,995 Views
Registered: ‎04-24-2017

Hi @le8888e ,

Do you have I2C enabled in your custom hdf?

Thanks,
Sandeep
PetaLinux Yocto | Embedded SW Support

---------------------------------------------------------------------------
Don’t forget to Reply, Kudo, and Accept as Solution.
---------------------------------------------------------------------------

View solution in original post

0 Kudos
11 Replies
sandeepg
Moderator
Moderator
1,996 Views
Registered: ‎04-24-2017

Hi @le8888e ,

Do you have I2C enabled in your custom hdf?

Thanks,
Sandeep
PetaLinux Yocto | Embedded SW Support

---------------------------------------------------------------------------
Don’t forget to Reply, Kudo, and Accept as Solution.
---------------------------------------------------------------------------

View solution in original post

0 Kudos
le8888e
Observer
Observer
1,977 Views
Registered: ‎04-16-2018

Thanks, I didn't enable the I2C in the MPSoC IP and that seems the reason.

0 Kudos
stephenm
Xilinx Employee
Xilinx Employee
1,964 Views
Registered: ‎09-12-2007

can you mark this as solved please?

0 Kudos
billhunter
Adventurer
Adventurer
1,521 Views
Registered: ‎09-23-2012

Ugh!,

Resolved because there is a poor work around???

I appreciate the helpful hint in solving this problem, and no disrespect to stephenm  service request opened for this item.

0 Kudos
rashedkoutayni
Adventurer
Adventurer
399 Views
Registered: ‎05-30-2018

Hi @sandeepg 

Would you please elaborate how to enable I2C in a custom hdf?

Thanks !

0 Kudos
stephenm
Xilinx Employee
Xilinx Employee
367 Views
Registered: ‎09-12-2007

@billhunter Just to add more context, the OP's error message is shown below:

DEBUG: Executing shell function do_compile
aarch64-none-elf-gcc -MMD -MP -Wall -fmessage-length=0 -DARMA53_64 -Os -flto -ffat-lto-objects -Wall -fmessage-length=0 -DARMA53_64 -Os -flto -ffat-lto-objects -c xfsbl_board.c -o xfsbl_board.o -Izynqmp_fsbl_bsp/psu_cortexa53_0/include -I.
In file included from xfsbl_board.c:54:
xfsbl_board.h:64:10: fatal error: xiicps.h: No such file or directory

 

If we look at the code to why we are seeing the compile error:

https://github.com/Xilinx/embeddedsw/blob/xilinx-v2019.1/lib/sw_apps/zynqmp_fsbl/src/xfsbl_board.h#L64

If the development board is defined (which in the OPs case it must be):

board.PNG

Then the I2C header must be included. The reason for this is that the clocks on these boards are connected via the i2c bus. So, the i2c headers are needed in

order to config the clocks on these boards. For example on the ZCU111 board:

clocks.PNG

 

If you are not using a development board, then off course you do not need to have the i2c included. So, you are not forced to use these pins. Nor, is this a workaround.

It is the resolution to his exact problem.

 

 

 

 

0 Kudos
stephenm
Xilinx Employee
Xilinx Employee
362 Views
Registered: ‎09-12-2007

@rashedkoutayni Are you targeting a Xilinx development board? If not, then you do not need to add the PS I2C.

The xfsbl_board.c/h is for setting up the i2c peripherals (Clock, phy) on these zcuxxx boards.

rashedkoutayni
Adventurer
Adventurer
352 Views
Registered: ‎05-30-2018

@stephenm 

yes I am targeting ZCU102 and I am facing the same problem mentioned here "xiicps.h: No such file or directory"

Although I don't need I2C .. I am just trying to boot Ubuntu Desktop.

Would you please advise?

0 Kudos
stephenm
Xilinx Employee
Xilinx Employee
319 Views
Registered: ‎09-12-2007

@rashedkoutayni If you are targeting the zcu102, then you need to i2c to program the clocks and reset the PHY. 

0 Kudos
billhunter
Adventurer
Adventurer
297 Views
Registered: ‎09-23-2012

I took the OP at his word that he does not want I2C, and hence, does no use the programmable oscillators. Unless it is used for the DRAM, which I don't think it is, I see no need for an I2C requirement in the FSBL, and the FSBL should not be dependent on it. Granted, the OP most likely wants to use the I2C and at least wants Ethernet, so best to just include it, however, I stand by my statement that the BSP for this board supports only a subset of possible uses of the hardware, and you are always advised to not stay too far afield from the tutorial designs.

billhunter
Adventurer
Adventurer
246 Views
Registered: ‎09-23-2012

stephen, I would like to thank you again for taking the time to help out the OP and to identify the root of the problem. I did not mean to detract from your help, but mealy point out that a lot of the dev kits could be more robust. 

0 Kudos