• 0
Sam Bergami

Error in SDK using ARTY for First Time

Question

Hi I am going through Arty-Getting Started with Microblaze tutorial and I'm receiving an error in SDK. This is my first time using the Arty I have previously only worked with the Zedboard. Before startign, I had to add the ARTY to my boards in Vivado and I was then able to complete everything in Vivado. When trying to export to SDK and create the new application project i receive the following error:

Error generating bsp sources. Failed in generating sources.

Please help

Share this post


Link to post
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Hi @Sam Bergami,

Since you posted about installation issues with waveforms using ubuntu here. Are you using Ubuntu for vivado as well? If so here is a forum thread that should help you. Also what version of Vivado are you using? Also were you root when you installed the software (waveforms included in this question)? When I installed vivado in ubuntu i also had to install the cable drivers. Here is a guide to help with this if you haven't already done this.

cheers,

Jon

Share this post


Link to post
Share on other sites
  • 0

@jpeyron We are using the latest version of Vivado and yes we did install the cable drivers when we initially downloaded vivado. I was not in root when installing Waveforms because it won't allow us to. The downloads appear in red in the terminal and we are unable to access them. I'm not sure why because we selected the proper downloads for Linux and Ubuntu.

Share this post


Link to post
Share on other sites
  • 0

@Sam Bergami,

The cable driver installation will want to modify your udev rules so that the Arty can be recognized as such and not as an FTDI device.  If you don't install the cable drivers as root, you may struggle to even "see" the Arty on your system.  Here's a discussion of the solution for that problem.

That's not why you are unable to generate bsp sources.  I'm not sure what's causing that.

You can, however, use the Arty without using either the BSP's or microblaze ... see the OpenArty project as an example.

Dan

Share this post


Link to post
Share on other sites
  • 0

This is the exact error that is in the SDK log

09:39:51 ERROR    : (XSDB Server)ERROR: [Hsi 55-1545] Problem running tcl command ::sw_standalone_v6_2::post_generate : couldn't execute "mb-ar": no such file or directory
    while executing
"exec $archiver -d $libgloss_a _interrupt_handler.o"
    (procedure "::sw_standalone_v6_2::post_generate" line 18)
    invoked from within
"::sw_standalone_v6_2::post_generate standalone"

09:39:51 ERROR    : (XSDB Server)ERROR: [Hsi 55-1443] Error(s) while running TCL procedure post_generate()

09:39:51 ERROR    : (XSDB Server)ERROR: [Hsi 55-1450] Error: running generate_bsp.

09:39:52 ERROR    : Error generating bsp sources: Failed in generating sources

 

Share this post


Link to post
Share on other sites
  • 0

@Sam Bergami,

Looks like you don't have the microblaze SDK installed on your system.  Either that or mb-ar isn't in your path.  As I recall, there's a script in the installation directory that you'll want to source before running Vivado.  For me, it's in /opt/Xilinx/Vivado/(VERSION)/settings64.sh.  It's a simple shell script, but it'll set up your environment the way you will need it.

Oh, and ... yes, you will need the cable drivers if you wish to load your design (once built) onto the device.  Specifically, this will install one (or is it two?) files in your /etc/udev/rules.d directory: 52-xilinx-digilent-usb.rules and 52-xilinx-pcusb.rules.  (I've got both in my "working" installation, but I'm not sure both are required ...)  If you don't have either of these files, get your sys-admin to load the cable drivers for you.

Dan

Share this post


Link to post
Share on other sites
  • 0

When I opened my Vivado design for the Getting started with Microblaze Arty tutorial I received this Critical message:

[Board 49-67] The board_part definition was not found for digilentinc.com:arty:part0:1.1. This can happen sometimes when you use custom board part. You can resolve this issue by setting 'board.repoPaths' parameter, pointing to the location of custom board files. Valid board_part values can be retrieved with the 'get_board_parts' Tcl command.

I think this may have something to do with why SDK is not working?

I also noticed that in SDK I may be missing a file (.tcl) under my system_wrapper_hw_platform I have three files: system_wrapper.bit, system_wrapper.mmi and system.hdf

Also if I don't have the microblaze SDK installed on my system how would I go about installing it?

@D@n

Edited by Sam Bergami

Share this post


Link to post
Share on other sites
  • 0

@Sam Bergami,

You are asking the wrong person.  I've never used MicroBlaze.  :D  I've never installed the Xilinx SDK, neither have I ever used the Arty board file.  (Okay, that's not quite true --- I did read the Arty board file by hand to figure out how to configure the SDRAM  ...)

I have spent my time on the Arty working with the ZipCPU, and particularly with my own distribution for the Arty, OpenArty as I call it.

Unlike the Xilinx SDK, the ZipCPU toolchain (gcc+binutils+simple assembly debugger) comes at no cost, and requires no special contract or payment.  It's available under GPLv3, and by request under other licenses if necessary.  Further, all of the RTL source files are in Verilog--there are no hidden files that you will struggle to debug (minus the Xilinx memory controller).  The design also comes with its own integrated scope (no extra cost to you), which you can use to pull information off of the board and into an open source VCD viewer.  Further, you can access the board via your own software over a TCP/IP link to the host computer connected to the Arty, or you can replace that TCP/IP link with a connection to the Arty simulator and not notice the difference in how it runs.  (The simulator does run a touch slower ;)) The source files for the ZipCPU on the Arty do include an example ping program, although the full network stack is not (yet) supported.  Finally, although the board has its own serial port, I've commandeered it so as to be able to control a wishbone bus internal to the board via that serial port.  So, while hello world does run on the board, it requires an additional PMod USBUART to support it.

 

Up until now, I've offered you what little help I can from just reading your messages and answering from what I know of the error messages.  To go farther, we might need a Digilent employee, @jpeyron perhaps, to route your question to someone who actually knows something about a MicroBlaze.  :D

Dan

Share this post


Link to post
Share on other sites
  • 0

Hi @Sam Bergami,

I found a xilinx forum thread here that discusses very similar errors that you are getting. They suggest to make sure that you have the following i686 libraries installed: 

  • glibc.i686
  • libstdc++.i686
  • zlib.i686
  • zlib-devel.i686

I also found this xilinx forum here that suggests to install the ia32-libs package by following a link they posted on the xilinx forum.

cheers,

Jon

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now