element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Path to Programmable 3
  • Challenges & Projects
  • Design Challenges
  • Path to Programmable 3
  • More
  • Cancel
Path to Programmable 3
Blog MiniZed Board Peripheral Configuration and Creating a Boot Image
  • Blog
  • Forum
  • Documents
  • Leaderboard
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Path to Programmable 3 to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: guillengap
  • Date Created: 4 Jun 2023 6:22 AM Date Created
  • Views 661 views
  • Likes 7 likes
  • Comments 2 comments
  • design challenge
  • xilinx
  • vivado
  • Ultra96-V2 Board
  • design competition
  • Path to Programmable 3
  • vitis
  • programmable
  • minized
Related
Recommended

MiniZed Board Peripheral Configuration and Creating a Boot Image

guillengap
guillengap
4 Jun 2023
MiniZed Board Peripheral Configuration and Creating a Boot Image

Blog # 1 - Project Description And Upgrade Installation
Blog # 2 - MiniZed Board Peripheral Configuration and Creating a Boot Image
Blog # 3 - Executing Vivado Design Suite TCL Commands
Blog # 4 - Move Data Between BRAM and DDR3 Memories
Blog # 5 - How to Enable Interrupts With MiniZed

**********************************************************************************************************************

Hi everyone! In this tutorial I am going to do a review and summary of Lesson 3 of the MiniZed training course. These steps are important since a good configuration decreases the probability of errors in the operation of a final project. I also add an experiment with the creation of Boot Image since from this configuration it is possible to do it to Flash the board.

image

Enable and Map all PS Peripherals

According to lesson 3 of the MiniZed board training course posted at the link:  MiniZed Hardware Technical Training 2021.1: Lesson 3 

  • The Quad SPI flash memory U46 provides 2 Gb of non-volatile storage that can be used for configuration and data storage. So, check the box next to Quad SPI Flash:
  • Also enable USB 0, and look at the pull-down menu.

image

The MIO interface allows the ARM to access external pins without routing signals through the FPGA. So, in MIO Configuration:

  • Since for MiniZed, the USB 0 Peripheral requires a reset. Enable GPIO MIO by clicking the checkbox next to it. Then click the checkbox next to USB Reset.
  • Also enable SD card or eMMC

image

Final I/O Peripheral Connections are shown below. Remember that UART1 was configured in Lesson 2.

image

Set the PS PLL Clocks

A phase-locked loop (PLL) is a feedback circuit designed to allow one circuit board to synchronize the phase of its on board clock with an external timing signal. PLL circuits operate by comparing the phase of an external signal to the phase of a clock signal produced by a voltage controlled crystal oscillator (VCXO). This lesson only shows how to do the PLL configuration, and for the moment they will not be used in this lesson.

In Clock Configuration

  • Review the settings previously entered/verified for PS clocks.
  • Set the SDIO to 25MHz on MiniZed boards.

image

  • Close the Zynq Block Design by clicking OK.
  • Validate (F6) the Block Design.
  • Save the Block Design.

image

Every time we change the hardware configuration in Vivado, it will be necessary to repeat the following steps. Select the Design Sources. Right-click on the Z_system_i item and select Reset Output Products

image

  • Now right-click on Z_system_i again, but this time select Generate Output Products,
  • Select Generate Bitstream,

image

Create and Run Test Applications

We export to Vitis as we did in Lab 2: Select File - Export - Export Hardware

image

From the pull-down menus at the top of Vivado, select Tools - Launch Vitis IDE

image

  • As we saw in Lesson 2, we change the Workspace to ZynqDesign_lab3
  • Then we create a "MiniZed_Perpherial_Test_Platform" platform project: New - Platform Project
  • Then we select a new Application file project: Hello_World_MiniZed_Perpherial_App

image

Now we build and debug the project. Below we can see the output in the serial port.

image

We repeat the previous steps, but this time, we generate the Memory Test application.

  • File - New - Application Project
  • Select the Platform again
  • We create a new application and name it MiniZed_Memory_Test

image

Below we see the output through the serial port.

image

Finally, we generate the Peripheral Test application.

  • File - New - Application Project
  • Select the Platform again
  • We create a new application and name it MiniZed_Periphral_Test

image

The output serial port will be as follow:

image

Creating a Boot Image

BOOT.BIN contains the FPGA configuration and PMU firmware. All the official information can be found here: https://www.xilinx.com/htmldocs/xilinx2019_1/SDK_Doc/SDK_tasks/task_creatingabootimage.html

This time we are going to not only boot the processor but also program the Flash NVRAM. Once the application is pasted into the software application and the project up to date. Select the Application project, right click on it and select "Create Boot Image"

image

The boot image creation dialog will show the order of the files to be included in the configuration process. This includes the FSBL, BIT and Application.

image

Once the boot image is available, we can use Vitis to write the flash into the memory.

image

To program the memory we have a very simple option of selecting program flash: Select the Application project, right click on it and select "Program Flash"

image

The flash download configuration is something like this:

image

This will take a few minutes to get download the flash.

image

When it completes you will see a image like the one below.

image

After previous steps, set the MiniZed boot mode switch SW1 to QSPI mode (‘F’ for Flash) as shown below, and you are ready to see your board running.

image

  • Sign in to reply
  • guillengap
    guillengap over 2 years ago in reply to javagoza

    You're welcome! Grinning I look forward to your detailed tutorials!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • javagoza
    javagoza over 2 years ago

    Nice tutorial guillengap  Thanks!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube