• 0

Arty A7 - Problem running working design from Rev. C


TomF
Share

    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

    Link to comment
    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 Demohere?

    Best regards,

    Jon

    Link to comment
    Share on other sites

    • 0

    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

    Editedby TomF
    Link to comment
    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...

    Link to comment
    Share on other sites

    • 0

    @TomF,

    The big difference I know between Arty A7 rev's (@jpeyronmight 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

    Link to comment
    Share on other sites

    • 0

    @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

    Editedby TomF
    Link to comment
    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

    Link to comment
    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

    Link to comment
    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 thefirst thing I build into any of my designs... If you want to trysome of my own methods here, we could take this off-line and work through it.

    Dan

    Link to comment
    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

    Link to comment
    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.

    Link to comment
    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

    Link to comment
    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
    Share