Skip to content
This repository has been archived by the owner on Jul 3, 2024. It is now read-only.

Commit

Permalink
Merge pull request #395 from sifive/openocd-cjtag
Browse files Browse the repository at this point in the history
Create cJTAG OpenOCD Config Files
  • Loading branch information
nategraff-sifive authored Oct 23, 2019
2 parents 2cdbeb4 + f05645d commit ba3a878
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 4 deletions.
32 changes: 32 additions & 0 deletions bsp/freedom-e310-arty/openocd.cjtag.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#write_config_file
# JTAG adapter setup
adapter_khz 10000

source [find interface/ftdi/olimex-arm-jtag-cjtag.cfg]

interface ftdi
ftdi_device_desc "Olimex OpenOCD JTAG ARM-USB-TINY-H"
ftdi_vid_pid 0x15ba 0x002a

ftdi_layout_init 0x0808 0x0a1b
ftdi_layout_signal nSRST -oe 0x0200
ftdi_layout_signal LED -data 0x0800

set _CHIPNAME riscv
jtag newtap $_CHIPNAME cpu -irlen 5

set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME.0 riscv -chain-position $_TARGETNAME
$_TARGETNAME.0 configure -work-area-phys 0x80000000 -work-area-size 10000 -work-area-backup 1

flash bank spi0 fespi 0x20000000 0 0 0 $_TARGETNAME.0 0x10014000
init
if {[ info exists pulse_srst]} {
ftdi_set_signal nSRST 0
ftdi_set_signal nSRST z
sleep 1500
}
halt

flash protect 0 64 last off
echo "Ready for Remote Connections"
9 changes: 7 additions & 2 deletions bsp/update-targets.sh
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ LDS_SCRATCHPAD_FILENAME=metal.scratchpad.lds
SETTINGS_FILENAME=settings.mk
BARE_HEADER_FILENAME=metal-platform.h
OPENOCDCFG_FILENAME=openocd.cfg
OPENOCDCFG_CJTAG_FILENAME=openocd.cjtag.cfg

update_target() {
TARGET=$1
Expand All @@ -116,10 +117,14 @@ update_target() {

if [[ "$TARGET_TYPE" =~ "arty" || "$TARGET_TYPE" =~ "hifive" ]] ; then
if [ `grep -c "jlink" $TARGET/$SETTINGS_FILENAME` -ne 1 ] ; then
echo "generating openocd.cfg"
pushd $TARGET && $OPENOCDCFG_GENERATOR -d $DTB_FILENAME -b $TARGET_TYPE -o $OPENOCDCFG_FILENAME || warn "Failed to produce $TARGET/$OPENOCDCFG_FILENAME" && popd
echo "generating $OPENOCDCFG_FILENAME"
$OPENOCDCFG_GENERATOR -d $TARGET/$DTB_FILENAME -b $TARGET_TYPE -o $TARGET/$OPENOCDCFG_FILENAME || warn "Failed to produce $TARGET/$OPENOCDCFG_FILENAME"
fi
fi
if [[ "$TARGET_TYPE" =~ "arty" ]] ; then
echo "generating $OPENOCDCFG_CJTAG_FILENAME"
$OPENOCDCFG_GENERATOR -d $TARGET/$DTB_FILENAME -p cjtag -b $TARGET_TYPE -o $TARGET/$OPENOCDCFG_CJTAG_FILENAME || warn "Failed to produce $TARGET/$OPENOCDCFG_CJTAG_FILENAME"
fi

# Remove temporary .dtb
rm $TARGET/$DTB_FILENAME
Expand Down
2 changes: 1 addition & 1 deletion freedom-devicetree-tools
2 changes: 1 addition & 1 deletion wit-manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[
{
"commit": "a6d657761623063265849fb51fc4aae06103af79",
"commit": "f2ad4771ea34b18c2d7ad86667c47d57bf3e60db",
"name": "freedom-devicetree-tools",
"source": "[email protected]:sifive/freedom-devicetree-tools.git"
},
Expand Down

0 comments on commit ba3a878

Please sign in to comment.