• Content Count

  • Joined

  • Last visited

  • Days Won


kwilber last won the day on March 23 2019

kwilber had the most liked content!


About kwilber

  • Rank
    Prolific Poster

Recent Profile Visitors

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

  1. You need to install the digilent board files. The procedure is detailed in section three of this wiki page.
  2. The error message is not very obvious. In the guide it says "If it doesn’t say Bus Width: 4-bit, then your SD-Card failed to be detected or was stuck in an incorrect mode. You should hit the CPU_RESET and/or power off to retry"
  3. The bit file in QSPI only implements the system hardware and a simple first stage bootloader. Very similar to how pc's have a bootloader in rom but load the actual operating system from disk. The SD card will hold the actual linux file system and is just like a disk drive in your pc. There are 4 partitions on the card. First, there is a FAT32 partition that has boot.bin. This is a more capable loader that knows about the structure of the sd card and can locate and read the linux kernel. A second ext4 formatted partition holds the kernel. A third partition is for swap space. A fourth ext4 partition is used for the rest of your file system. The startup guide explains how to create the sd card. It begins at the section "READ THIS WARNING (!)" and ends at "Remote console installation".
  4. Hello @aeon20 I replied to your PM but will also reply here so others can benefit. I followed the getting started guide and used the "standalone installation" option. On my Nexys A7 100T, I made sure sw1 was on and the others were off. JP1 was set to QSPI and JP2 was set to USB. I attached a usb keyboard and vga monitor. I initially left the sd card out so I could observe the behavior. The read from the sd failed as expected. The quickstart mentions that a reported bus width other than 4 bytes is an error. 0: 0 1: 1 2: 1 3: 1 800: 1e 801: 0 802: 0 803: 0 Selftest iteration 1, next buffer = 0, rx_start = 4000 Selftest matches=2/2, delay = 9 Selftest iteration 2, next buffer = 1, rx_start = 4800 Selftest matches=4/4, delay = 9 Selftest iteration 3, next buffer = 2, rx_start = 5000 Selftest matches=8/8, delay = 9 Selftest iteration 4, next buffer = 3, rx_start = 5800 Selftest matches=16/16, delay = 16 Selftest iteration 5, next buffer = 4, rx_start = 6000 Selftest matches=32/32, delay = 31 Selftest iteration 6, next buffer = 5, rx_start = 6800 Selftest matches=64/64, delay = 60 Selftest iteration 7, next buffer = 6, rx_start = 7000 Selftest matches=128/128, delay = 119 Selftest iteration 8, next buffer = 7, rx_start = 7800 Selftest matches=187/187, delay = 173 lowRISC boot program ===================================== Hello LowRISC! Tue Aug 14 10:40:47 2018: Booting from FLASH because SW1 is high .. u-boot based first stage boot loader MMC: mmc created at 86800248, host = 86800200 lowrisc_sd: 0 Device: lowrisc_sd Manufacturer ID: 0 OEM: 0 Name: Bus Speed: 5000000 High Capacity: No Capacity: llu BytesBus Width: 1-bit Next I inserted the sd and reset the board. The boot process went pretty much as described in the guide. It eventually left me at a login. I logged in as root and followed the firstboot procedure. Debian GNU/Linux buster/sid lowrisc tty1 lowrisc login: root Linux lowrisc 4.18.0-gc81ff0d #48 Thu Oct 18 16:00:24 BST 2018 riscv64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. [ 258.760000] systemd-logind[1160]: New seat seat0. This is the firstboot script. It will display only once Set the superuser (root) password below Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Creating normal user lowrisc ... Adding user `lowrisc' ... Adding new group `lowrisc' (1000) ... Adding new user `lowrisc' (1000) with group `lowrisc' ... Creating home directory `/home/lowrisc' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for lowrisc Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: If no switches are set you would see lowRISC boot program ===================================== Hello LowRISC! Tue Aug 14 10:40:47 2018: Turn on SW0 for gdb loading, SW1 for SD-card loading, or SW2 for Ethernet loading if sw0 is set, the display clears and no other activity occurs, presumably it is waiting for debugging commands to come in via the uart. If sw2 is set you would see (i do not have the ethernet port connected) lowRISC boot program ===================================== Hello LowRISC! Tue Aug 14 10:40:47 2018: Booting from Ethernet because SW2 is high .. Max file size is 17146368 bytes MAC = eee1:e2e3e4e0 MAC address = ee:e1:e2:e3:e4:e0. eth0 MAC : EE:E1:E2:E3:E4:E0 Sending DHCP_DISCOVERY Waiting for DHCP_OFFER
  5. This link explains why the xadc is being included when you use the mig.
  6. Xilinx had a thread a few years ago that discussed this. They describe how you can get by without a level shifter. There is also an old Digilent forum thread that discusses a similar project using a Basys3.
  7. According to the HCSR04 datasheet, it requires 5v for Vcc. The zybo reference manual shows, in section 16, pmods only have 3.3 v on pins 6 and 12. You would need a level shifter and a 5v supply powering the HCSR04.
  8. This core and this core are pretty easy to use and do not require a microblaze or zynq. Zynq based boards typically have the PHY connected to the PS. This makes it a bit difficult to use the PHY from the PL. There is a Xilinx wiki that describes accessing the PHY from the PL.
  9. You can find an example of driving the Cora RGB leds here. The demo has the rgb leds as ports on the top level design and uses simple logic to control them. If you want to control them from the PS, you could use an AXI GPIO block or an AXI PWM block.
  10. The example project you referenced is for a different manufacturers board (the Blackboard) and they have an rgb led on the mio bank. The Cora schematic you linked shows the rgb leds are on bank 35 on sheet 8.
  11. You downloaded the zip for the repo. The .xpr file is specific to the version of vivado used to create a project. Since the repo can be used with different versions of Vivado, an.xpr file is not provided. You need to use the Release zip from the Releases page. Note that you must use the version of Vivado that matches the release zip. Complete instructions for running the demo are given in the "Demo Setup" section of the file.
  12. Just curious, does the elf file you are trying to load use interrupts? The second link explains how the large gap between the interrupt vector table and the start of the program results in huge file sizes.
  13. Here are two additional articles I have read on the technique being applied to a zynq.
  14. Is this a simple a-b vs b-a thing? Addition is commutative sub subtraction is not.
  15. I have previously used this tutorial and did not experience 2 minute boot times. Perhaps you could run through the tutorial and see how it behaves on your board. There was also an old Xilinx answer record about eliminating large gaps in the s-record file. The steps outlined in there might help.