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

Create cJTAG OpenOCD Config Files #395

Merged
merged 3 commits into from
Oct 23, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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