Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "TCF/RISC-V"

< TCF
(Created page with "= Getting TCF to run on the RISC-V = ssh debian@debian sudo apt-get update sudo apt-get install git make gcc libssl-dev uuid-dev libc6-dbg git clone git://git.ec...")
 
 
(9 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
= Getting TCF to run on the RISC-V =
 
= Getting TCF to run on the RISC-V =
  
 +
== Hardware ==
 +
 +
RISC-V development board with Linux installed and network connection.
 +
 +
For example, [https://github.com/eugene-tarassov/vivado-risc-v RISC-V FPGA design for Digilent Nexys Video board].
 +
 +
== Build the TCF Agent ==
 +
 +
Assuming RISC-V host name is ''debian'' and user name is ''debian'':
  
 
   ssh debian@debian
 
   ssh debian@debian
 
   sudo apt-get update
 
   sudo apt-get update
 +
  sudo apt-get upgrade
 
   sudo apt-get install git make gcc libssl-dev uuid-dev libc6-dbg
 
   sudo apt-get install git make gcc libssl-dev uuid-dev libc6-dbg
 
   git clone git://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent.git
 
   git clone git://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent.git
 
   cd org.eclipse.tcf.agent/agent
 
   cd org.eclipse.tcf.agent/agent
 
   make
 
   make
 +
 +
== Run the TCF Agent ==
 +
 +
  obj/GNU/Linux/riscv64/Debug/agent
 +
 +
To allow remote access to all processes and files (owned by system and other users), run the agent as root:
 +
 +
  sudo obj/GNU/Linux/riscv64/Debug/agent
 +
 +
Alternatively, TCF Agent can be added as Linux service, so it will always start on boot.
 +
 +
Please, note that by default TCF Agent runs without any security, which is the best setup for software development on a local network protected by a firewall.
 +
 +
However, if the board is connected to a public network, you would need to run the agent with authentication and encryption enabled.
 +
 +
== Connect the TCF Debugger ==
 +
 +
# Get [http://www.eclipse.org/downloads/ Eclipse]
 +
# Launch it, choose ''Help > Install New Software'', select --All Available Sites-- and search for TCF
 +
#* You can safely install all of TCF (will also get you the sources)
 +
# Allow to restart, then switch to the '''Target Explorer Perspective'''
 +
#* Your RISC-V machine should show up under "Neighborhood"
 +
 +
== Debugging Over JTAG ==
 +
 +
JTAG allows to debug everything on the target machine: boot ROM code, RISC-V proxy kernel, U-Boot, Linux kernel, Linux modules, Linux user space - all in same debug session.
 +
It is very powerful debug mode, but it is also rather complicated, more suitable for system software development rather than application development.
 +
JTAG mode not supported by regular TCF Agent, you need special version on the agent, which supports your hardware.
 +
In case of FPGA RISC-V designs, Xilinx provides version of the agent (aka Xilinx Hardware Server), which supports JTAG debugging.
 +
 +
JTAG debugger screenshot - stepping through RISC-V boot ROM:
 +
[[File:Risc-V-Debug-bootrom.png]]

Latest revision as of 16:45, 23 November 2020

Getting TCF to run on the RISC-V

Hardware

RISC-V development board with Linux installed and network connection.

For example, RISC-V FPGA design for Digilent Nexys Video board.

Build the TCF Agent

Assuming RISC-V host name is debian and user name is debian:

  ssh debian@debian
  sudo apt-get update
  sudo apt-get upgrade
  sudo apt-get install git make gcc libssl-dev uuid-dev libc6-dbg
  git clone git://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent.git
  cd org.eclipse.tcf.agent/agent
  make

Run the TCF Agent

  obj/GNU/Linux/riscv64/Debug/agent

To allow remote access to all processes and files (owned by system and other users), run the agent as root:

  sudo obj/GNU/Linux/riscv64/Debug/agent

Alternatively, TCF Agent can be added as Linux service, so it will always start on boot.

Please, note that by default TCF Agent runs without any security, which is the best setup for software development on a local network protected by a firewall.

However, if the board is connected to a public network, you would need to run the agent with authentication and encryption enabled.

Connect the TCF Debugger

  1. Get Eclipse
  2. Launch it, choose Help > Install New Software, select --All Available Sites-- and search for TCF
    • You can safely install all of TCF (will also get you the sources)
  3. Allow to restart, then switch to the Target Explorer Perspective
    • Your RISC-V machine should show up under "Neighborhood"

Debugging Over JTAG

JTAG allows to debug everything on the target machine: boot ROM code, RISC-V proxy kernel, U-Boot, Linux kernel, Linux modules, Linux user space - all in same debug session. It is very powerful debug mode, but it is also rather complicated, more suitable for system software development rather than application development. JTAG mode not supported by regular TCF Agent, you need special version on the agent, which supports your hardware. In case of FPGA RISC-V designs, Xilinx provides version of the agent (aka Xilinx Hardware Server), which supports JTAG debugging.

JTAG debugger screenshot - stepping through RISC-V boot ROM: Risc-V-Debug-bootrom.png

Back to the top