• 0
TomF

Arty A7 - Problem running working design from Rev. C

Question

I just bought a second Arty A7-35T board which is a Rev. E board, my first one is a Rev C board. With this Rev C, I successfully generated a design which works fine though the board files are from Rev. E.

Now, I program the new board with the working binaries and if does not work. What can I try to make it work?

 

Best regards

Share this post


Link to post
Share on other sites

15 answers to this question

Recommended Posts

  • 0

Hi @TomF,

1. Does the bit file load?

2. What type of design is it? I.E. microblaze or Verilog/VHDL?

3. What is not working? I.E. the done led does not done on, the USB UART bridge does not send information....

4. Are you able to run the Arty-A7-35T GPIO Demo here?

Best regards,

Jon

Share this post


Link to post
Share on other sites
  • 0
Posted (edited)

Thank you for your help, Jon

1. Bit file loads

2. Its a microblaze design

3. The done LED is lit, neither UART nor Ethernet do work.

4. The GPIO demo from flash runs, also the linked demo works.

Best regards

Tom

Edited by TomF

Share this post


Link to post
Share on other sites
  • 0

Hi @TomF,

Another option would be to re-create the project. Here is an older tutorial that still works. This sets up a uart ethernet echo server project that should help you re-create your microblaze, uart,ethernet project

best regards,

Jon

Share this post


Link to post
Share on other sites
  • 0

As my project is quite large by now and works on the Rev C hardware, is there no other way to troubleshoot it? Only the Rev E boards makes the problems though the board files are for Rev E...

Share this post


Link to post
Share on other sites
  • 0

@TomF,

The big difference I know between Arty A7 rev's ( @jpeyron might correct me here) are the flash devices.  (There are also different Artix-7 chips now too, so check which one you have.)

Does your design do anything with the flash?  Have you checked its configuration?

Dan

Share this post


Link to post
Share on other sites
  • 0
Posted (edited)

@D@n,

I had a SPI flash implemented in the design, but didnt use it in SDK yet. I tried the following things:

1. Changed flash type in the SPI block in the block diagram from Micron to Spansion

2. Deleted the SPI block 

None of these worked, I still get no response from UART or Ethernet. When I program the Rev. C board with the new bitstream and microblaze binary, it still works.

Tom

Edited by TomF

Share this post


Link to post
Share on other sites
  • 0

@TomF,

A couple more quick things to try: have you double checked the jumper settings?  Have you deleted your project directory, and then rebuilt it for the new board?

Otherwise, we might need to go back to the beginning to verify that you can load something (anything) onto the board: Does blinky work?

Dan

Share this post


Link to post
Share on other sites
  • 0

@D@n,

I already checked the jumper settings, also permutated all possible cases. I always had the board files for Rev E.0 installed, though I was using a Rev. C board which worked fine. Will I still need to rebuild it? 

I loaded the example jpeyron posted here and it worked. I confirmed the UART works as well by running the demo from the flash. When I run a simple hello world application on my bitstream, it does not work. Having a breakpoint in the first line of the main loop shows, that the procesor never reaches it. When I manually pause the execution I get an error message: 

"Cannot suspend: TCF errror report:

Command: RunControl suspend "JTAG-jsn-Arty

[...]

Error text: Cannot stop MicroBlaze. Stalled on instruction fetch 

Error code: 1"

 

Tom

Share this post


Link to post
Share on other sites
  • 0

@TomF,

Ok, if I've got this right, the MicroBlaze CPU is trying to start, it makes a request of some peripheral to get its first instruction, and it is unable to do so?

That sounds (again) like a flash issue to me.  Remember, the flash device changed.  Lots of configuration needed to change with it.  The older Micron flash requires a more complicated setup to get into.  There's a different number of dummy cycles following the address and before the data.  The flash doesn't start up from power up the same, neither does it reset the same as the older flash did.

Have you built anything into your design that you can use to query the board and see what's going on?  It's typically the first thing I build into any of my designs ... If you want to try some of my own methods here, we could take this off-line and work through it.

Dan

Share this post


Link to post
Share on other sites
  • 0

@TomF,

One other quick question: If you load your design in SPI x1 mode rather than SPI x4 (QSPI) mode, does anything change?

The Spansion flash chip has an internal bit within it that needs to be set before it will enable QSPI mode, so this might help.  Others on Xilinx's forum(s) have struggled with missing this as well.

Dan

 

Share this post


Link to post
Share on other sites
  • 0

@D@n,

I tried it with SPI x1 mode which did not work. However, I tried to load the bootloader and application on the flash from SDK. From flash it runs perfectly. I am just unable to run it directy from SDK.

Share this post


Link to post
Share on other sites
  • 0

@TomF,

Ok, so ... the flash works, the board works, but the SDK doesn't?

This sounds like one of the SDK's files is still stuck thinking you are working with the old design, and that it hasn't gotten updated at all.

Hence, I'd return to @jpeyron's advice and recommend that you rebuild the project, to clean out any undocumented values contained in any Vivado/SDK generated files.

Dan

 

Share this post


Link to post
Share on other sites
  • 0

Finally solved the problem. It was so easy, but I didnt see it before. The launch button was set to run system debugger on bootloader instead of the firmware.

🤦‍♂️

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