Difference between revisions of "Syntacore SCR1 SDK Arty"

From SEGGER Wiki
Jump to: navigation, search
(Preparing for J-Link)
(Preparing for J-Link)
 
(19 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
__TOC__
 
__TOC__
   
This article describes specifics for the SiFive Arty FPGA Dev Kit.
+
This article describes specifics for the Syntacore SCR1 Arty SDK.
   
== Preparing for J-Link ==
+
= J-Link support =
  +
The SiFive Arty FPGA Dev Kit does not come with a standard debug connector but populates the debug JTAG signals on a custom connector. Therefore, it needs to be manually wired in case J-Link shall be connected to it.
 
  +
= Hardware requirements =
  +
Please note that a current J-Link model is needed for RISC-V support: [[Software and Hardware Features Overview | Overview]]
  +
  +
= Software requirements =
  +
J-Link software [https://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack V6.44] or later is required to support the Syntacore SCR1. Older versions will not work.
  +
  +
= Example projects =
  +
Please refer to the [[Syntacore SCR1]] article to see what sample projects are available.
  +
  +
= Preparing for J-Link =
  +
Initially, the Arty board does not run any Syntacore SCR1 core, so the FPGA on it needs to be configured first. For instructions how to do this, please refer to
  +
  +
[https://github.com/syntacore/scr1-sdk/tree/master/images/arty/scr1 GitHub Syntacore SCR1 ARTY image]
  +
  +
[https://github.com/syntacore/scr1-sdk/tree/master/docs GitHub Syntacore docs]
  +
  +
The Syntacore SCR1 Arty SDK does not come with a standard debug connector but populates the debug JTAG signals on a custom connector. Therefore, it needs to be manually wired in case J-Link shall be connected to it.
   
 
In the following, it is described how the pins of connector JD on the ARTY board needs to be wired to J-Link. All pins of the J-Link side refer to the standard 0.1" 20-pin connector of J-Link.
 
In the following, it is described how the pins of connector JD on the ARTY board needs to be wired to J-Link. All pins of the J-Link side refer to the standard 0.1" 20-pin connector of J-Link.
Line 18: Line 35:
 
| nTRST
 
| nTRST
 
|-
 
|-
  +
| 4
| 4 | x | TCK |-
 
  +
| 9
| 7 | x | TDO |-
 
  +
| TCK
| 8 | x | TDI |-
 
  +
|-
| 9 | x | nRESET |-
 
  +
| 7
| 10 | x | TMS |-
 
  +
| 13
| 11 | x | GND |-
 
  +
| TDO
| 12 | x | VCC/VTref
 
  +
|-
  +
| 8
  +
| 5
  +
| TDI
  +
|-
  +
| 9
  +
| 15
  +
| nRESET
  +
|-
  +
| 10
  +
| 7
  +
| TMS
  +
|-
  +
| 11
  +
| 4
  +
| GND
  +
|-
  +
| 12
  +
| 1
  +
| VCC/VTref
 
|}
 
|}
   
Line 45: Line 82:
 
|}
 
|}
   
[[File:Wiki-sifive_arty_board.png|750px]]
+
[[File:Wiki-syntacore_arty_board.png|750px]]
 
== Debugging in FreedomStudio ==
 
 
'''Before continuing, make sure that you have J-Link software package V6.20c or later installed''': [https://www.segger.com/downloads/jlink/ Download J-Link software package]
 
 
In the following, the procedure how to setup a J-Link debug session in SiFive FreedomStudio is described.
 
This tutorial assumes that there is already a compiling project present in FreedomStudio.
 
 
If not, please find a selection of example projects [[#Example projects for FreedomStudio | here]].
 
 
* Click on the arrow right next to the debug bug<br>[[File:FreedomStudio_Debug.png]]
 
* Double click on "GDB SEGGER J-Link Debugging"<br>[[File:FreedomStudio_NewDebugConfig.png]]
 
* Double click the newly generated configuration
 
* Click on the "Debugger" tab and make sure the settings look like below (the ones with the red border are non-default ones)<br>[[File:FreedomStudio_Debug_Debugger.png]]
 
* Click on the "Startup" tab and make sure the settings look like below (the ones with the red border are non-default ones)<br>[[File:FreedomStudio_Debug_Startup.png]]
 
 
=== Set program counter at ===
 
When debugging in QSPI, this option can be disabled. When debugging in RAM, it should point to the base address of region marked as executable (x) in the linker file. (Usually 0x80000000 for RAM projects)
 
 
== Example projects for FreedomStudio ==
 
In the following, sample projects for the ARTY board running the SiFive FE310 MCU FPGA stream, can be downloaded.
 
 
=== RAM debugging projects ===
 
The following projects are configured to demonstrate debugging of an application in the internal RAM of the SiFive FE310 MCU.
 
* [[File:SiFive_ArtyE31_Blinky_Blue_LED.zip]]
 
* [[File:SiFive_ArtyE31_Blinky_RGB_LED.zip]]
 
 
=== QSPI debugging projects ===
 
The following projects are configured to demonstrate debugging of an application in the external QSPI flash connected to the SiFive FE310 MCU.
 
* [[File:SiFive_ArtyE31_Blinky_Blue_LED_DebugQSPI.zip]]
 
 
== QSPI flash programming ==
 
The J-Link software comes with a flashloader that supports programming of the external Micron 25Q128A QSPI NOR flash populated on the ARTY board. In case a different flash is used on the hardware, the flashloader needs to be modified. Please get in touch with SEGGER to obtain the source code of the flashloader to perform the necessary adaptions.
 
 
== Minimum J-Link hardware requirements ==
 
Please note that RISC-V is not supported by older J-Link hardware models / revisions. [[Software and Hardware Features Overview | Overview about which models / revisions support RISC-V]]
 
 
== Supported FPGA images ==
 
FPGA bitstreams with debug specification v0p13 are currently supported e.g. release version v1p0.
 

Latest revision as of 16:12, 28 March 2019

This article describes specifics for the Syntacore SCR1 Arty SDK.

J-Link support

Hardware requirements

Please note that a current J-Link model is needed for RISC-V support: Overview

Software requirements

J-Link software V6.44 or later is required to support the Syntacore SCR1. Older versions will not work.

Example projects

Please refer to the Syntacore SCR1 article to see what sample projects are available.

Preparing for J-Link

Initially, the Arty board does not run any Syntacore SCR1 core, so the FPGA on it needs to be configured first. For instructions how to do this, please refer to

GitHub Syntacore SCR1 ARTY image

GitHub Syntacore docs

The Syntacore SCR1 Arty SDK does not come with a standard debug connector but populates the debug JTAG signals on a custom connector. Therefore, it needs to be manually wired in case J-Link shall be connected to it.

In the following, it is described how the pins of connector JD on the ARTY board needs to be wired to J-Link. All pins of the J-Link side refer to the standard 0.1" 20-pin connector of J-Link.

Wiring connection
Pin JD (ARTY) Pin J-Link Description
3 3 nTRST
4 9 TCK
7 13 TDO
8 5 TDI
9 15 nRESET
10 7 TMS
11 4 GND
12 1 VCC/VTref

Note: The pins on the JD connector are numbered as follows:

6 5 4 3 2 1
12 11 10 9 8 7

Wiki-syntacore arty board.png