New Snickerdoodle best practices?

376 views
Skip to first unread message

David Palmer

unread,
Jan 6, 2018, 4:43:06 PM1/6/18
to snickerdoodle forum
The tracking number for my Snickerdoodle just arrived, so it's time to set things up.  Does anyone have any recommendations on the following?

1) I will be running the zero-price (free=gratis) version of the Xilinx software to write VHDL to run on the FPGA fabric.  Do I download "Vivado Design Suite HLx Editions" or "ISE design suite" or something else.  Is there something called 'SDK' that I have to download, or is Vivado the SDK?

2) I will be using a VirtualBox on my Mac to run Linux (Ubuntu 16.04.3 LTS) to run Vivado to compile VHDL.  Any problems so far?  How much Ram/hard disk is recommended?

3) I downloaded the 'snickerdoodle Ubuntu 16.04 (with ROS Kinetic) SD Card Image' image as the OS for the Snickerdoodle.  Because I will probably want to play with motion control and image processing.

4) I will want to play with Pynq if it works for this board, including writing my own processing VHDL packages to interface with the Python.  Is that ready/close/needs a few years of volunteer time/pipedream?

5) By what connection do you get the terminal prompt at the end of the June 10 2016 'getting started' guide?  I will work though it to get a bootable SD card, but at the end it doesn't say how to actually get the terminal response.  (Is that by ssh to the cat-5; did I miss the part where you enter the wifi SSID and password; Does the USB present as a serial port to a TTY, etc.)

6) Are there any other recommended resources I should look at?

7) Any other recommendations/gotchas?  (Use Cat-5 vs wifi?  Attach a hard disk?  Power supply concerns?)


Thanks.

Bush

unread,
Jan 7, 2018, 11:46:40 PM1/7/18
to snickerdoodle forum


On Saturday, January 6, 2018 at 1:43:06 PM UTC-8, David Palmer wrote:
The tracking number for my Snickerdoodle just arrived, so it's time to set things up.  Does anyone have any recommendations on the following?

1) I will be running the zero-price (free=gratis) version of the Xilinx software to write VHDL to run on the FPGA fabric.  Do I download "Vivado Design Suite HLx Editions" or "ISE design suite" or something else.  Is there something called 'SDK' that I have to download, or is Vivado the SDK?

You should download the "Vivado HLx 2017.4: WebPACK and Editions - Self Extracting Web Installer" from under the "Vivado Design Suite - HLx Editions" section of https://www.xilinx.com/support/download.html for either Windows or Linux depending on your platform. When you start the install, you will be prompted to select the install type and you should select WebPACK (free) from the list. You may need to register/set up a Xilinx user account to finish the install. (If you are using Linux make sure to run 'sudo' when executing the installer). You will also be prompted to optionally install the SDK (an eclipse-based IDE) alongside Vivado during the install process.

2) I will be using a VirtualBox on my Mac to run Linux (Ubuntu 16.04.3 LTS) to run Vivado to compile VHDL.  Any problems so far?  How much Ram/hard disk is recommended?

You can run Vivado and XSDK comfortably with a couple of cores and 4GB of RAM allocated for your virtual machine. The development system uses a large amount of disk space so you should allocate a bare-minimum of 64GB. Depending on how you are planning on storing project files and what other software you will be installing onto your virtual machine, you may need much more disk space. I've found that somewhere around 128-256GB of disk space is comfortable.
 

3) I downloaded the 'snickerdoodle Ubuntu 16.04 (with ROS Kinetic) SD Card Image' image as the OS for the Snickerdoodle.  Because I will probably want to play with motion control and image processing.
 
Perfect. ROS applications are intended to be platform independent which allows you to use a ton of existing ROS projects that were previously running on x86 architectures and miniaturize them with snickerdoodle. You have a ton of I/O that you can use to drive motion controllers.
 
4) I will want to play with Pynq if it works for this board, including writing my own processing VHDL packages to interface with the Python.  Is that ready/close/needs a few years of volunteer time/pipedream?

Running Pynq on snickerdoodle is something we've experimented with. After a bit of familiarity with the boot files, porting another Zynq-based Linux system such as Pynq to snickerdoodle should be somewhat trivial.
 
5) By what connection do you get the terminal prompt at the end of the June 10 2016 'getting started' guide?  I will work though it to get a bootable SD card, but at the end it doesn't say how to actually get the terminal response.  (Is that by ssh to the cat-5; did I miss the part where you enter the wifi SSID and password; Does the USB present as a serial port to a TTY, etc.)

J1 will provide you with a USB CDC device that acts as a console. You will need a terminal emulator (putty, tera term, minicom, etc.) to connect to the console via the USB device and you will see a terminal prompt. You may also see boot messages if you connect to the console immediately after connecting power and USB.
 
6) Are there any other recommended resources I should look at?

Depending on what you would like work on, I would recommend looking at the programmable logic tools documentation: https://www.xilinx.com/support/documentation/sw_manuals/xilinx2017_4/ug1118-vivado-creating-packaging-custom-ip.pdf
 


and any snickerdoodle specific examples, kernel source code, U-Boot source, schematics, etc.: https://github.com/krtkl


7) Any other recommendations/gotchas?  (Use Cat-5 vs wifi?  Attach a hard disk?  Power supply concerns?)

To use the ethernet, you will need to be connected to a baseboard with an ethernet PHY and jack. The easiest network connection to your snickerdoodle will be using the WiFi interface. After you boot for the first time with a freshly imaged SD card, your board will broadcast a wireless network with SSID 'snickerdoodle-xxxxxx' where 'xxxxxx' are the last 3 octets of the wireless interface hardware address. You can connect to it as a WPA2 network with passphrase "snickerdoodle" (you should change the passphrase in /etc/hostapd.conf after booting for the first time). You can then SSH into the board at IP address 10.0.110.2 with user "snickerdoodle" and password "snickerdoodle" (you will be prompted to change the password after the first boot and may need to re-login).

Hopefully I answered your questions but if you would like some additional information on any of the above or you have any other questions please don't hesitate to ask.
 

Thanks.

David Palmer

unread,
Jan 9, 2018, 12:48:18 AM1/9/18
to snickerdoodle forum
This is great.  I am booted and running linux about 3 hours after finding it on my doorstep.

The Documentation page 
should point to a list of documents, pdf versions of the most recent github update.  I didn't know those were there until I googled for how to do various things.  

Installing the disk image on the SD card wasn't possible using the 'Getting Started Guide', but I eventually figured it out myself (dd'ing the .img to the card).  I later found the 'MicroSD Card Creation' document
which would have saved me time.  (It doesn't talk about expanding the partition and filesystem to use whatever sized SD card you have.  That may be elsewhere.)

Onward!

Varun Nagpal

unread,
Apr 3, 2018, 2:45:43 AM4/3/18
to snickerdoodle forum
Hi I have somewhat related question.

On my laptop, I am currently running dual boot configuration with Windows 7 64 bit and Ubuntu 16.04. In addition I use CentOS 6.5 as virtual OS in Windows which I prefer for most of my EDA software.

I want to do mixed (HDL, OpenCL, C++) development on Snickerdoodle as I have an SDSoC license. My question is what is the recommended:
  • Operating system environment (linux or windows)  ?
  • Is CentOS preferable over Ubuntu ?
  • Xilinx development software (Vivado HLS or Vivado HLS webpack or SDSoC accel etc.) ? 
Also, would this SDSoC License work for simultaneous installation on Linux and Windows on a single PC ? I imagine its is a node locked license so I can bind it with ethernet hardware address ?

Thanks for help!
Varun



Reply all
Reply to author
Forward
0 new messages