Zynq design from scratch. Part 23.
Test a pre-built PetaLinux image
So far, we have successfully installed PetaLinux, one PetaLinux projects is created from PetaLinux reference BSP, and setup the PetaLinux working environment. Now, you can try one of the reference designs shipped with our BSP package. Let's start by reading the PetaLinux SDK "Getting Started Guide".
This is achieved with the petalinux-boot command, with the --qemu option to boot reference designs under software simulation (QEMU) and --jtag on a hardware board.
Test a pre-built PetaLinux image with QEMU
PetaLinux provides QEMU (Quick EMUlator) support such that the PetaLinux software image can be tested in a simulated environment, without any hardware. To test the PetaLinux reference design with QEMU, follow these steps:
1. Source the PetaLinux settings file.
2. We will fix the tftp server later on.
3. Goto directory <ProjectDir>/Avnet-Digilent-ZedBoard-2013.3
4. Execute command: petalinux-boot --qemu --prebuilt 3
5. Wait for PetaLinux to boot.
6. Login with user name: root and password: root
7. To terminate QEMU type ctrl-a and then x
Test a pre-built PetaLinux image on hardware
PetaLinux BSPs include pre-built FPGA bitstreams for each reference design, allowing us to quickly boot linux on our hardware. Here are the steps to test a pre-built linux image with hardware:
1. Source the PetaLinux settings file
2. Source the Xilinx Vivado settings file
3. Power off the board.
4. Connect the JTAG port on the board with the JTAG cable to our workstation.
5. Connect the serial port on the board to our workstation.
6. Connect the Ethernet port on the board to the local network via a network switch (will be done later on).
7. For the Zynq board, ensure the mode switches are set to JTAG mode.
8. Power on the board.
9. Start GTKterm and configure the serial port.
10. Goto PetaLinux startup directory
11. Execute the following command: petalinux-boot --jtag --prebuilt 3
12. After a minute or so U-Boot starts and displays the following on the console.
13. It stops for several minutes waiting for the Linux image to load. It then continues and boots PetaLinux.
PetaLinux tries to get an IP address from the DHCP server without success (No lease, failing).
Finding the MAC address
The ZedBoard doesn't have a fixed MAC address instead it is set when we boot Linux on the board. To find out the MAC address execute the following command:
To find the MAC address look for the HWaddr: 00:0A:35:00:43:40
Acquring an IP address
As we can see from this print out the IP address is not set. PetaLinux will acquire the IP address from a DHCP server running in our local network. In our setup we are not connected to a LAN and the setting of the IP address will fail. Later on we will setup a small network and run a DHCP server, but for now we will set the IP address manually using the following command:
ifconfig eth0 <IP Address>
Top Previous Next
Posted at 22:04 by
|Leonardo Solis |
December 20, 2014 01:00 AM PST
After the step 10 and before the step 11, I think it is required to source also the SDK tools:
Doing it so the following error is avoided:
ERROR: This tool requires 'xmd' and it is missing. Please source Xilinx Tools settings first
November 26, 2014 07:34 AM PST
When i try to install on harward using jtag i go this error.Anyone can who can help me?
Downloading bitstream to the target. INFO: FPGA configuration completed. INFO: Launching XMD for file download and boot.
INFO: This may take a few minutes, depending on the size of your image. INFO: SOC Silicon version is 3.1. ERROR: Unable to download the image
June 28, 2014 04:16 AM PDT
what if i need to run Petalinux from Sd card ?
|Daniel Paley |
June 18, 2014 08:14 PM PDT
Ok - that's the issue. I'm using the MicroZed board (pretty close). I'm to the point where I can get stuff 'almost' working.
Emulator is up and running - except for networking (cannot get dhcp to get a correct ip address). as for the board - I can download the sw to the board and get the first set of console messages (waiting for PHY auto negotiation to complete - but that's where it stops. jtag finishes but the board does not get to boot linux.
Your tutorials have been VERY clear and helpful --- now if I just solve these last few issues.....
June 17, 2014 10:04 PM PDT
Are you using the MicroZed or the ZedBoard. This guide only works for the ZedBoard.
|Daniel Paley |
June 17, 2014 12:30 AM PDT
ok - Found the problem. Previous page suggests loading ia32-libs. That seems to have allowed to run qemu. still hangs at configuring network interfaces...
|Daniel Paley |
June 16, 2014 07:53 PM PDT
First off - thank you very much for putting together this tutorial. Very complete and easy to follow.
I'm running up to this point with small differences (using Ubuntu 64 13.10). I'm good up to step 4. When I run the peralinux-boot command, it gets to
INFO: Found 2 Ethernet devices
and then hangs. I've looked around, and am not sure why I'm getting this error.
I'm also looking to modify the MicroZed for DHCP - any hints on how to complete this task?