Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/markmll/tang_nano_as_shipped
A close approximation of the demo code on Sipeed Tang Nano boards as shipped.
https://github.com/markmll/tang_nano_as_shipped
fpga verilog vhdl
Last synced: 15 days ago
JSON representation
A close approximation of the demo code on Sipeed Tang Nano boards as shipped.
- Host: GitHub
- URL: https://github.com/markmll/tang_nano_as_shipped
- Owner: MarkMLl
- License: gpl-3.0
- Created: 2021-05-06T18:40:31.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-05-30T20:20:17.000Z (over 3 years ago)
- Last Synced: 2023-07-27T10:55:18.295Z (over 1 year ago)
- Topics: fpga, verilog, vhdl
- Language: Verilog
- Homepage:
- Size: 44.9 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# tang_nano_as_shipped
A close approximation of the demo code on Sipeed Tang Nano boards as shipped./* When I wrote this, I had not been able to find the source of the bitstream */
/* which is preloaded onto the Sipeed Tang Nano "Little Bee" demo board (it */
/* has since turned up, the link in Sipeed's documentation was broken). This */
/* is notable for */
/* */
/* * Cycling its LEDs in the sequence off-G-B-R by sequencing each low */
/* * Cycle time is measured to be 4.19 seconds */
/* * Low time for each LED is 1.048 seconds (4.192 / 4) */
/* * Button B pressed (high) forces reset with all LEDs off (high) */
/* */
/* This is an attempt to reconstitute the missing project. It borrows heavily */
/* from https://github.com/andrsmllr/tang_nano_devbrd but chops out stuff */
/* which isn't strictly necessary and attempts to indicate what imports (in */
/* particular the clocks) actually are in terms of files. MarkMLl *//* The LED signals could be conveniently redefined as a three-bit register. */
/* I've left them like this since that's how they're defined in the donor */
/* project, although I have corrected their order so that the sequence is the */
/* more conventional off-R-G-B, and used button A to reverse the sequence. */The serial interface chip on the Tang Nano board is underpowered, and grossly inadequate when plugged directly into a modern computer. Assume that for reliable operation you need a USB v1 hub, although many other cheap hubs have such poor performance that they might be suitable.
I can't speak for Windows, but on Linux you need to add (or enable the lines in) two additional configuration files before plugging the board in:
/etc/modprobe.d/tang-nano.conf
# Blacklisted to allow the Gowin programmer to run.blacklist ftdi_sio
and
/etc/udev/rules.d/51-tang-nano.rules
# Remember to udevadm control --reload and to blacklist/remove the ftdi_sio the module.KERNEL=="ttyUSB*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", GROUP="plugdev", MODE:="0660"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", ATTRS{product}=="Sipeed-Debug", GROUP="plugdev", MODE="0660"# NOTE: This illicitly uses an FTDI identifier, so should be left disabled.
If you don't have those, don't reload the udev rules, or don't remove ftdi_sio after adding/enabling the files, the Gowin programmer will attempt to run rmmod to remove ftdi_sio... this will of course fail for an unprivileged user.
So to wrap up, I say again: TWO configuration files, RELOAD udev, and REMOVE ftdi_sio.