Archive for August, 2019

Projects based on Terasic SoCKit

Further to:

https://tthtlc.wordpress.com/2019/08/26/booting-up-my-sockit-from-terasic/

Here are other projects implementations on the Terasic SoCKit that provide source codes:

https://github.com/zhemao/soundkit

https://github.com/zhemao/sockit_test

https://github.com/arrow-socfpga/meta-arrow-sockit

https://github.com/robertofem/CycloneVSoC-examples

References:

https://github.com/machinekit/mksocfpga/issues/47

https://github.com/intel/meta-de10-nano

https://github.com/freebsd/freebsd/blob/master/sys/arm/conf/SOCKIT-BERI

https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=167&No=816

https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=205&No=816&PartNo=4

https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=205&No=816&PartNo=7#section

https://rocketboards.org/foswiki/Documentation/ArrowSoCKitEvaluationBoard

https://rocketboards.org/foswiki/Documentation/ArrowSoCKITEvaluationBoardLinuxGettingStarted

https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/cyclone-v/cv_51001.pdf

http://download.terasic.com/downloads/cd-rom/sockit/

Booting up my SoCKit from Terasic

Purchasing this kit from Terasic:

https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=167&No=1081

I downloaded the Terasic image and bootup via SDcard (after connecting the “USB-UART” USB port to the PC running Linux, and then started up “minicom -s” to connect to it via /dev/ttyUSB0.

Bootup message:

https://gist.github.com/tthtlc/4af887b22fa3a4d55f2d7c5f112f5b4a

Programming technical details of the board can be found here (as part of the uboot which loaded up the hardware):

https://github.com/ARM-software/u-boot/tree/master/board/terasic/sockit

Next I attempted to connect the “USB-Blaster” to the PC, and startup the Quartus Prime Lite (linux 64-bit) to recognize the board but ended up not recognized successfully:

But for programming wise, this link provides lots of in-depth details:

https://rocketboards.org/foswiki/Documentation/ArrowSoCKitEvaluationBoard

and this backlink:

https://rocketboards.org/foswiki/Documentation/SoCKit

Will continue researching on this.

References:

https://www.secs.oakland.edu/~ganesan/ece576f14project/index.htm

http://www.ece.tufts.edu/~hchang/ee129-f06/project/project2/DE2_UserManual.pdf

https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/manual/mnl_cii_starter_board_rm.pdf

hansfbaier/openrisc-sockit-tutorial: Getting started with OpenRISC on terasic’s SoCKit

https://github.com/hansfbaier/openrisc-sockit-tutorial

https://rocketboards.org/foswiki/Documentation/ArrowSoCKitEdition201707

https://www.arrow.com/en/products/sockit/arrow-development-tools

https://www.arrow.com/en/reference-designs/sockit-development-kit-presents-a-robust-hardware-design-platform-built-around-the-altera-system-on-chip-soc-fpga/f24196738fcb6ed657bec4214c4ed02c

https://www.eenewseurope.com/news/arrow’s-sockit-evaluation-kit-features-altera’s-arm-based-socs

https://github.com/ARM-software/u-boot/tree/master/board/terasic/sockit

SoCKit datasheet

How to use USB Blaster as FPGA/CPLD programmer

In general a "JTAG" port is always provided in the Intel FPGA or CPLD board for programming the FPGA device:

https://www.fasttech.com/product/1003500-altera-usb-blaster-compatible-cpld-fpga-programmer

And sometimes for the development board (eg, DE10 from Terasic) the USB Blaster is built into the SoCKit:

https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=167&No=1081 (see the "USB Blaster USB port" below)

https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/manual/mnl_cii_starter_board_rm.pdf

The internal of the USB Blaster (user-guide level) is explained here:

https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug_usb_blstr.pdf

https://produktinfo.conrad.com/datenblaetter/1400000-1499999/001425558-an-01-en-KABEL_PROGRAMM__USB_PL_USB2_BLASTER_ALT.pdf

And how to use Quartus to connect to the USB Blaster is here:

https://www.youtube.com/watch?v=BsGumtkyLKo

https://e-mode.phas.ubc.ca/mcewiki/index.php/USB_Blaster

Next is the world of FPGA / CPLD programming:

https://www.youtube.com/watch?v=bwoyQ_RnaiA

Other examples of programming the Altera development boards (EPM240 and EPM570):

https://bigdanzblog.wordpress.com/2015/01/22/chinese-altera-max-ii-development-boards-and-hello-world/

Using Arduino ICSP to program the bootloader of another AVR micontroller

Some theory:

https://electronics.stackexchange.com/questions/433/programming-microcontrollers-jtag-spi-usb-oh-my

https://learn.sparkfun.com/tutorials/installing-an-arduino-bootloader/all

https://sparkfuneducation.com/how-to/installing-an-arduino-bootloader.html

AVR910: In-System Programming:

http://ww1.microchip.com/downloads/en/appnotes/atmel-0943-in-system-programming_applicationnote_avr910.pdf

https://www.youtube.com/watch?v=oce7D72Mdwo

https://www.youtube.com/watch?v=Ec5GQ9KzSVA

https://www.youtube.com/watch?v=Ec5GQ9KzSVA

https://youtu.be/dpgcBsl9D4k?t=232

https://www.youtube.com/watch?v=dpgcBsl9D4k

https://sparkfuneducation.com/how-to/installing-an-arduino-bootloader.html

Other connectivities diagram (variations):

https://www.arduinolab.net/in-circuit-system-programming-icsp-using-usbtinyisp-and-arduino-ide/

Commercial products available (eg, www.aliexpress.com and search for USBTinyISP):

USBTinyISP: (connect the ISP output to the ISP part of the Arduino)

And the technical details of USBTinyISP:

http://www.mouser.com/ds/2/737/usbtinyisp-706693.pdf

Software to use is just Arduino IDE itself: choose ISP and then “burn bootloader”.

https://www.arduino.cc/en/tutorial/arduinoISP

https://arduino.stackexchange.com/questions/19130/whats-the-difference-between-icsp-vs-isp

https://forum.arduino.cc/index.php?topic=161241.0

sigrok

https://sigrok.org/wiki/Downloads

https://sigrok.org/wiki/Supported_hardware#Logic_analyzers (only a subset listed)

rgb_led_spi RGB LED string decoder (SPI)
rgb_led_ws281x RGB LED string decoder (WS281x)
rtc8564 Epson RTC-8564 JE/NB
sda2506 Siemens SDA 2506-5
sdcard_sd Secure Digital card (SD mode)
sdcard_spi Secure Digital card (SPI mode)
spdif Sony/Philips Digital Interface Format
spi Serial Peripheral Interface
spiflash SPI flash chips
ssi32 Synchronous Serial Interface (32bit)
st7735 Sitronix ST7735
stepper_motor Stepper motor position / speed
swd Serial Wire Debug
swim STM8 SWIM bus
t55xx RFID T55xx
tca6408a Texas Instruments TCA6408A
timing Timing calculation with frequency and averaging
tlc5620 Texas Instruments TLC5620
uart Universal Asynchronous Receiver/Transmitter
usb_packet Universal Serial Bus (LS/FS) packet
usb_power_delivery USB Power Delivery
usb_request Universal Serial Bus (LS/FS) transaction/request
usb_signalling Universal Serial Bus (LS/FS) signalling
wiegand Wiegand interface
xfp 10 Gigabit Small Form Factor Pluggable Module (XFP)
z80 Zilog Z80 CPU

https://opentechlab.org.uk/videos:001:notes

How to connect the Pickit3 to sigrok:

https://sigrok.org/wiki/Microchip_PICkit2

https://www.reddit.com/r/electronics/comments/8ddnm8/i_might_be_starting_to_get_bored_of_prototyping/

How to use it with Logic Analyzer:

https://learn.sparkfun.com/tutorials/using-the-usb-logic-analyzer-with-sigrok-pulseview/all

And Pulseview does have a very impressive GUI and automated protocol identification capabilities:

(it can automatically identify the data, and protocol word meaning:

Vickblöm

Research scattered with thoughts, ideas, and dreams

Penetration Testing Lab

Offensive Techniques & Methodologies

Astr0baby's not so random thoughts _____ rand() % 100;

@astr0baby on Twitter for fresh randomness

The Data Explorer

playing around with open data to learn some cool stuff about data analysis and the world

Conorsblog

Data | ML | NLP | Python | R

quyv

Just a thought

IFT6266 - H2017 Deep Learning

A Graduate Course Offered at Université de Montréal

Deep Learning IFT6266-H2017 UdeM

Philippe Paradis - My solutions to the image inpainting problem

IFT6266 – H2017 DEEP LEARNING

Pulkit's thoughts on the course project

Thomas Dinsmore's Blog

No man but a blockhead ever wrote except for money -- Samuel Johnson

the morning paper

a random walk through Computer Science research, by Adrian Colyer

The Spectator

Shakir's Machine Learning Blog