03-16-2019 10:52 AM
I have been following the design example at this blog, where we setup the ARTY7 board with a Microblaze design and run Petalinux on it. http://www.fpgadeveloper.com/2017/11/petalinux-for-artix-7-arty-base-project.html
After a few debug issues my project works to the point where I can manually program the FPGA and then manually download the Linux Kernel, log in and ping hardware on my home network etc....
The concluding part of the tutorial is to generate a .mcs file that unifies all the HW and SW files into one file that can be stored on the QSPI chip, so that the system boots independantly.
I have followed the instructions to modify the petalinux-config and rebuilt petalinux. I have then generated the .mcs and programmed the qspi, but the board fails to boot. I can still boot the board manually.
When I run the Petalinux-package command, I get one warning, but the .MCS is generated ok, and programs the QSPI without issue.
WARNING: Auto detecting MMI file with HDF
INFO: Creating download.bit...
INFO: fpga bitstream: /home/dje/arty7_PL/arty_pl1.runs/impl_1/base1_wrapper.bit
INFO: fpga bitstream MMI file: /tmp/tmp.dIOMTN7yEX/base1_wrapper.mmi
INFO: fsbl file: /home/dje/arty7_pl_os/images/linux/fs-boot.elf
INFO: Output download.bit: /home/dje/arty7_pl_os/images/linux/download.bit
INFO: Getting system flash information...
INFO: Add bitstream "/home/dje/arty7_pl_os/images/linux/download.bit" to 0.
INFO: Add datafile "/home/dje/arty7_pl_os/images/linux/u-boot-s.bin" to 0x300000.
INFO: Add datafile "/home/dje/arty7_pl_os/images/linux/image.ub" to 0x500000.
INFO: Generating MCS file...
I note that my .mcs file is 29.3MB, whilst the pre-built .mcs that is provided with the tutorial is 34MB, so I am wondering if I'm missing out a critical file when I build the .mcs myself.
The tutorial was written for v2017.3 whilst I am using v2018.3. Have there been any changes in Petalinux that need to be accomodated to make this tutorial work? Flash partition sizes etc....
Bit lost now.....
03-20-2019 05:45 AM
This matter is now resolved, it was hardware issue.
The QSPI controller that is added to the Vivado project defualts to x4, and ou need to set this to x1. Once you do this the tutorial runs correctly (With an edit to the EMAC call o the system-user.dtsi file).
When the HW and SW are compiled from a clean design that is setup with an x1 SPI interface, the petalinux-package command works 100% to generate a ooting .MCS file.
10-27-2019 05:05 AM
Just wanted to say thanks for posting your solution for this problem, it solved my problem too !! :)
Wish you the best,