• Content Count

  • Joined

  • Last visited

About emfries

  • Rank

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hello, I'm working with the Artix-7 FPGA ARTY board, which has a physical on-board clock (my guess is some sort of crystal oscillator). Is there any documentation about this physical clock? In particular, I'm interested in changes in the clock's frequency as a function of temperature, and the stability of the clock's frequency over long periods of time. Thanks,
  2. Hi @JColvin, I dug into this a bit more and may have found a solution. The PROG button is inside of a square that is connected to the ARTY board by 4 leads. The four leads are in the four corners of the square. When the button is not pressed the leads in the upper-left and upper-right corners are shorted together, the leads in the lower-left and lower-right corners are shorted together, but there is about 5.5 kOhm of resistance between the two sets (upper vs lower) of leads. When the PROG button is pushed all four leads are shorted together. One idea that I had is to solder onto the
  3. Hi @JColvin, Thanks for the reply. I've never heard of Vitis so I don't think I'm using that. This project was "completed" a couple years ago but now needs minor updates, so if Vitis is a new feature then I certainly haven't used it. I did use the SDK to write the code that was loaded into ARTY's flash memory. Thanks for looking into the serial connection issue.
  4. Hi @jpeyron, I've rolled this system out into production use but would like to make some minor updates to it. I'm now using the 5VDC power pin to power the ARTY board, and still have the UART connection over USB. Higher up in the thread you said (regarding starting up from flash) "...either unplug and plug in the usb cable or press the PROG button and the project should running on start up." Are there any other ways to reset the board and reload from flash? My goal is to be able to reset the board remotely without any human presence near the board. I can cycle the 5VDC with a co
  5. Hello, I am using ARTY as part of a control system by making a serial connection between ARTY and a computer using the UART functionality. I supply ARTY with 5VDC external power, and have set the power selection jumper as appropriate. Sometimes parts of the control system get into a bad state and I want to reset ARTY. One way to do this is to physically press the PROG button. ARTY then loads it's program from flash and is reset. I then initiate a new serial connection between ARTY and a computer using UART and I'm good to go. The problem with this is that it requires a physical prese
  6. emfries

    scanf timeout on ARTY

    I've set up my ARTY board to read and write strings via a UART connection to a computer. The computer makes a serial connection with ARTY. In the SKD, I use scanf to read an input to the UART line and save it as a string on ARTY. This works, but scanf will hang forever until input is provided. Is there a way to make scanf timeout? If not, is there a way (using scanf or some other feature) to check for input to the UART line and not hang if there isn't input, and then if there is input read it? For example, I'd want the loop in the following pseudocode to run at ~1s per loop, instead of ha
  7. Hi @jpeyron, Happy holidays and sorry for the extremely long delay in getting back to you. I had some unrelated technical issues with my computer that put me out of commission for a few weeks. Add in the holiday season and I didn't work on this for a while. I think I have solved the problem. I upgraded from Vivado 2017.2 to 2017.4 and I can now store my code in the SPI Flash. Thanks for all the help!
  8. Hello @jpeyron, I still can't get it to run on pressing PROG, but have some updates. A few changes: I noticed in your board diagram that the AXI Uartlite was connected to AXI Interconnect in port M01_AXI, and AXI Quad SPI is connected to M00_AXI. I had mine in the opposite order, so I switched the order of mine. I don't think this makes any difference but wanted to eliminate whatever differences I could find. I remade the VHDL wrapper and told Vivado not to autoupdate the wrapper I uncommented the VERBOSE definition (step 1.6, https://reference.digilentinc.com/learn/p
  9. Hi @jpeyron, That worked! Thanks for the help! I'll work on porting this solution to my existing project. I do have one additional question... Now when I unplug my Arty board and plug it back in, the DONE LED lights up. Then in the SDK I have to manually run "System Debugger using Debug_Hello_World.elf on Local" in order to get "Hello World" printed to my terminal. Is there a way to have my program run without manually starting it from the SDK? My goal is to plug in the Arty, establish a serial connection, and have Arty start listening for serial input, all without using Vivado
  10. Hi @jpeyron, Sorry for the delay in getting back to you. I think that I've made some progress. However, the matter is still not completely resolved. First, I think I figured out what the QSpi mode jumper is. It's the jumper on JP1, right? So when I want to program to QSPI Flash I should have the jumper installed. Second, I think I got *something* to be programmed to the QSPI flash but I'm not sure how to run it, or there is some other problem. When compressing my bitstream in "How To Store Your SDK Project in SPI Flash", during step 0.3 I added in steps 2.6 and 2.7 from "A
  11. Hello, I tried posting this on the Xilinx forums but got no response. These forums look more active and friendly so hopefully somebody can help me. I am really stuck. I am trying to follow along with the "How To Store Your SDK Project in SPI Flash" tutorial (https://reference.digilentinc.com/learn/programmable-logic/tutorials/htsspisf/start), but I cannot get it to work. I am using an Artix-7 35T Arty FPGA Evaluation Kit. I am running Vivado v2017.2 (64-bit) and SDK v2017.2 on a Windows 10 machine. First, I created a simple "Hello World" program by follo