...
Prerequisites
A compatible JTAG hardware debugger device is required. Different JTAG devices can have slightly different procedure.
As an example, following guidance is for:
Most RZ development boards has 10 pin JTAG header, so a JTAG converter (20pin-10pin) might be required depending on what JTAG adapter you are using. For example the Olimex ARM-JTAG-20-10. can be used to convert from 20-pin to 10-pin.
After connecting the devices as per guide in the previous section, follow below instructions to use OpenOCD and JTAG debugger. You must change the switches setting on development board to enable the JTAG debugging feature. The switches setting may be different for each development board. Please refer to the relevant board manual or user guide for detailed information.
SMARC RZ/G2L-LC-UL, RZ/Five board
Change switches as per below.
EK874 RZ/G2E board
Change switches as per below. Note that board version 3 (Rev C) or later must be used.
HiHope RZ/G2M-N-H board
Change switches as per below. Note that board rev. 3 or later must be used.
To build OpenOCD you can use this script found in the https://github.com/renesas-rz/rzg_openocd repository.
...
Most RZ development boards has 10 pin JTAG header, so a JTAG converter (20pin-10pin) might be required depending on what JTAG adapter you are using. For example the Olimex ARM-JTAG-20-10. can be used to convert from 20-pin to 10-pin.
After connecting the devices as per guide in the previous section, follow below instructions to use OpenOCD and JTAG debugger. You must change the switches setting on development board to enable the JTAG debugging feature. The switches setting may be different for each development board. Please refer to the relevant board manual or user guide for detailed information.
SMARC RZ/G2L-LC-UL, RZ/Five board
Change switches as per below.
EK874 RZ/G2E board
Change switches as per below. Note that board version 3 (Rev C) or later must be used.
HiHope RZ/G2M-N-H board
Change switches as per below. Note that board rev. 3 or later must be used.
Tigrad Switch Setting
If you are using a Tigrad, set the TARGET switch to 1v8
and the MODE switch to JTAG
To build OpenOCD you can use this script found in the https://github
...
...
repository.
$ wget https://raw.githubusercontent.com/renesas-rz/rzg_openocd/master/0003-target-aarch64-enable-disable-mmu-new-commands.patchbuild_openocd
$ wget https://raw.githubusercontent.com/renesas-rz/rzg_openocd/master/00040001-tcl-target-aarch64-Add-coderenesas_rz_g2-Rename-to-invaldaterenesas_rz-theand-instructionad.patch
$ wget https://raw.githubusercontent.com/renesas-rz/rzg_openocd/master/0005-tcl-target-renesas_rz-add-hwthread-and-coreid0002-target-aarch64-MRS-MSR-support-for-system-register-a.patch
$ chmod +x ./build_openocd
$ export GIT_SSL_NO_VERIFY=1 # Avoid GIT error: server certificate verification failed
$ ./build_openocd
Or manually follow the steps in that script:
...
wget https://raw.githubusercontent.com/renesas-rz/rzg_openocd/master/0003-target-aarch64-enable-disable-mmu-new-commands.patch
$ wget https://raw.githubusercontent.com/renesas-rz/rzg_openocd
...
/master/
...
0004-target-aarch64-Add-code-to-invaldate-the-instruction.patch
$ wget https://raw.githubusercontent.com/renesas-rz/rzg_openocd/master/0005-tcl-target-renesas_rz-add-hwthread-and-coreid.patch
$ chmod +x ./build_openocd
$ export GIT_SSL_NO_VERIFY=1 # Avoid GIT error: server certificate verification failed
$ ./build_openocd
Or manually follow the steps in that script:
The OpenOCD binaries can be found in the openocd/installdir/bin directory.
In the configuration, options that are commonly needed are --enable-ftdi to ensure ftdi related function will be built. Same for J-Link, with --enable-jlink, however both should be recognized and added automatically during the configuration phase.
Note - The patch is not strictly needed. It slows down the download operations but it is required if an existing code in memory has to be replaced by using the JTAG.
OpenOCD provides many setting scripts for many JTAG debugger and development boards under directory share/openocd/scripts/.
Normally two suitable scripts has to be chosen, one for Debugger Configuration and one for the Development Board or SoC Configuration.
Debugger Configuration File
Development Board or SoC Configuration File
Development Board or SoC Configuration (SoC selection)
Different commands have to be used to select different devices belonging to the RZ family:
Example Command Lines:
Example to run OpenOCD and attach to a RZ/G2L device using a Segger J-Link JTAG adapter:
$ cd installdir
$ sudo bin/openocd -f share/openocd/scripts/interface/jlink.cfg -c "set SOC G2L" -f share/openocd/scripts/target/renesas_rz.cfg
Example
...
The OpenOCD binaries can be found in the openocd/installdir/bin directory.
In the configuration, options that are commonly needed are --enable-ftdi to ensure ftdi related function will be built. Same for J-Link, with --enable-jlink, however both should be recognized and added automatically during the configuration phase.
Note - The patch is not strictly needed. It slows down the download operations but it is required if an existing code in memory has to be replaced by using the JTAG.
OpenOCD provides many setting scripts for many JTAG debugger and development boards under directory share/openocd/scripts/. Normally two suitable scripts has to be chosen, one for Debugger configuration and one for the development board or chip.
To debug with Flyswatter2 the following scripts is available:
interface/ftdi/flyswatter2.cfg
To debug with J-Link, instead:
interface/jlink.cfg
Then for the RZ/G2 family:
target/renesas_rz.cfg
Finally different commands have to be used to select different devices belonging to the RZ/G2 family:
So, for example to run OpenOCD and attach to a RZ/G2L device using a Segger J-Link Tigrad JTAG adapter:
$ cd installdir $ sudo bin/openocd -f share/openocd/scripts/interface/jlinkftdi/tigard.cfg -c "set SOC G2L" -f share/openocd/scripts/target/renesas_rz.cfg
RZ/Five uses a different configuration file (renesas_rz_five.cfg)
Example to run OpenOCD and attach to a RZ/Five device using a Segger J-LinkJTAG adapterIn case of RZ/Five:
$ cd installdir $ sudo bin/openocd -f share/openocd/scripts/interface/jlink.cfg -f share/openocd/scripts/target/renesas_rz_five.cfg
Please note that there's a way to avoid the usage of sudo by making sure that both the user and the debugger devices used belong to the dialout/plugdev groups.
JTAG Adapter Clock Speed
You can modify the renesas_rz_*.cfg configure file to tweak the clock speed (default 4MHz), for example to increase it to 15MHz:
adapter speed 15000
Verify Connection
If openocd command succeeds, a message like these below appears:
...