Freedom E300 MCS file not working

Hi, I got freedom-e310-arty-1-0-2.mcs from SiFive web. When I configure FPGA using this file and upload demo_gpio from freedom-e-sdk I can see it working at 115200 serial baud rate. I make little change in serial output messages to confirm that the program is actually the one I uploaded. Now when I configured the FPGA using sifive.freedom.everywhere.e300artydevkit.E300ArtyDevKitConfig.mcs generated using Freedom repo which I updated last week. The first thing I see is garbage at 115200 baud rate. So I change baud rate to 57600 and I can see that it is still running the demo_gpio which I uploaded last time (one I uploaded when the FPGA was configure using freedom-e310-arty-1-0-2.mcs from SiFive web). And when I try to upload software from freedom-e-sdk I get following msgs on terminal but program is not uploaded actually.
~/freedom-e-sdk$ make upload PROGRAM=demo_gpio BOARD=freedom-e300-arty
/home/anbuntu/freedom-e-sdk/riscv-openocd-20170612-x86_64-linux-centos6/bin/openocd -f bsp/env/freedom-e300-arty/openocd.cfg &
/home/anbuntu/freedom-e-sdk/riscv64-unknown-elf-gcc-20170612-x86_64-linux-centos6/bin/riscv64-unknown-elf-gdb software/demo_gpio/demo_gpio --batch -ex “set remotetimeout 240” -ex “target extended-remote localhost:3333” -ex “monitor reset halt” -ex “monitor flash protect 0 64 last off” -ex “load” -ex “monitor resume” -ex “monitor shutdown” -ex “quit” &&
echo "Successfully uploaded ‘demo_gpio’ to freedom-e300-arty."
Open On-Chip Debugger 0.10.0-dev-g0d86772-dirty (2017-06-13-14:13)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
adapter speed: 10000 kHz
Info : auto-selecting first available session transport “jtag”. To override use 'transport select '.
Error: libusb_claim_interface() failed with LIBUSB_ERROR_BUSY
Error: unable to open ftdi device with vid 15ba, pid 002a, description ‘Olimex OpenOCD JTAG ARM-USB-TINY-H’, serial ‘’ at bus location '’

Info : accepting ‘gdb’ connection on tcp/3333
Error: Device ID 0x20000913 is not known as FESPI capable
Error: auto_probe failed
Error: Connect failed. Consider setting up a gdb-attach event for the target to prepare target for GDB connect, or use ‘gdb_memory_map disable’.
Error: attempted ‘gdb’ connection rejected
Remote connection closed
"monitor" command not supported by this target.
“monitor” command not supported by this target.
You can’t do that when your target is `exec’
“monitor” command not supported by this target.
“monitor” command not supported by this target.
Successfully uploaded ‘demo_gpio’ to freedom-e300-arty. Could you please help me to understand what I am doing wrong here?

Are you sure that you killed all other running instances of OpenOCD? Only one can be running at a time, and this message makes it sound like you may have another OpenOCD job running in the background.

Hi, Thank you for the reply. I realized it. I don’t know how to kill all instance but when ever I get this error I restart my computer for now. But I am still facing following problem and confusion may be you will be able to help me here:

1)sifive.freedom.everywhere.e300artydevkit.E300ArtyDevKitConfig.mcs file I get when I build freedom repo is it similar to freedom-e310-arty-1-0-2.mcs or SiFive_E31_Coreplex_FPGA_Evaluation_v1p0_r0.mcs which i got from web?

  1. As per my understanding only demo_gpio in freedom-e-sdk/software can be used with both freedom-e310-arty-1-0-2.mcs and SiFive_E31_Coreplex_FPGA_Evaluation_v1p0_r0.mcs. All others are for SiFive_E31_Coreplex_FPGA_Evaluation_v1p0_r0.mcs only. Am I right?

  2. I uploaded freedom-e310-arty-1-0-2.mcs (From web) in arty using vivado and then used freedom-e-sdk to upload demo_gpio. I could see the output at serial running at 15200 baudrate. I then uploaded sifive.freedom.everywhere.e300artydevkit.E300ArtyDevKitConfig.mcs I built in freedom/build. I could still see the application I uploaded last time when I was using freedom-e310-arty-1-0-2.mcs (From web) but this time running at serial baudrate of 57600. Any suggestion what should I check?

  3. When I try to upload the application to arty configure using sifive.freedom.everywhere.e300artydevkit.E300ArtyDevKitConfig.mcs I built in freedom/build I get following error:
    /home/anbuntu/freedom-e-sdk/riscv-openocd-20170612-x86_64-linux-centos6/bin/openocd -f bsp/env/freedom-e300-arty/openocd.cfg &
    /home/anbuntu/freedom-e-sdk/riscv64-unknown-elf-gcc-20170612-x86_64-linux-centos6/bin/riscv64-unknown-elf-gdb software/demo_gpio/demo_gpio --batch -ex “set remotetimeout 240” -ex “target extended-remote localhost:3333” -ex “monitor reset halt” -ex “monitor flash protect 0 64 last off” -ex “load” -ex “monitor resume” -ex “monitor shutdown” -ex “quit” &&
    echo "Successfully uploaded ‘demo_gpio’ to freedom-e300-arty."
    Open On-Chip Debugger 0.10.0-dev-g0d86772-dirty (2017-06-13-14:13)
    Licensed under GNU GPL v2
    For bug reports, read
    http://openocd.org/doc/doxygen/bugs.html
    adapter speed: 10000 kHz
    Info : auto-selecting first available session transport “jtag”. To override use 'transport select ‘.
    Info : ftdi: if you experience problems at higher adapter clocks, try the command “ftdi_tdo_sample_edge falling"
    Info : clock speed 10000 kHz
    Info : JTAG tap: riscv.cpu tap/device found: 0x20000913 (mfg: 0x489 (), part: 0x0000, ver: 0x2)
    Warn : JTAG tap: riscv.cpu UNEXPECTED: 0x20000913 (mfg: 0x489 (), part: 0x0000, ver: 0x2)
    Error: JTAG tap: riscv.cpu expected 1 of 1: 0x10e31913 (mfg: 0x489 (), part: 0x0e31, ver: 0x1)
    Error: Trying to use configured scan chain anyway

    Warn : Bypassing JTAG setup events due to errors
    Info : dtmcontrol_idle=5, dmi_busy_delay=1, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=2, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=3, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=4, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=5, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=6, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=7, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=8, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=9, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=10, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=12, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=14, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=16, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=18, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=20, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=23, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=26, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=29, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=32, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=36, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=40, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=45, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=50, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=56, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=62, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=69, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=76, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=84, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=93, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=103, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=114, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=126, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=139, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=153, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=169, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=186, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=205, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=226, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=249, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=274, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=302, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=333, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=367, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=404, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=445, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=490, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=540, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=595, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=655, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=721, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=794, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=874, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=962, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=1059, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=1165, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=1282, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=1411, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=1553, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=1709, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=1880, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=2069, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=2276, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=2504, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=2755, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=3031, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=3335, ac_busy_delay=0
    Info : dtmcontrol_idle=5, dmi_busy_delay=3669, ac_busy_delay=0
    Error: unable to execute program: (abstractcs=0x10000301)
    Info : Examined RISC-V core
    riscv.cpu: target state: halted
    Info : accepting ‘gdb’ connection on tcp/3333
    Error: Device ID 0x20000913 is not known as FESPI capable
    Error: auto_probe failed
    Error: Connect failed. Consider setting up a gdb-attach event for the target to prepare target for GDB connect, or use ‘gdb_memory_map disable’.
    Error: attempted ‘gdb’ connection rejected
    Remote connection closed
    "monitor” command not supported by this target.
    “monitor” command not supported by this target.
    You can’t do that when your target is `exec’
    “monitor” command not supported by this target.
    “monitor” command not supported by this target.
    Successfully uploaded ‘demo_gpio’ to freedom-e300-arty.
    Any help will be greatly appreciated, Thanks

Hi Nauman,
I have the same problem. What I don’t understand is the tap ID identified to 0x20000913 rather than 0x10e31913.
Another point is the generated demo_gpio file as a ELF file. Is the processor boot correctly ?
Cordially,
Olivier Potin

Ah, I see now. With our updates to the Freedom repository, we need to update our openocd.cfg files to work with it properly. But since we have not yet uploaded the pre-built MCS versions from the current freedom repo to sifive.com, the freedom-e-sdk is still configured to work with the old one.

If you are building your own MCS files, you can change the following lines:

Warn : JTAG tap: riscv.cpu UNEXPECTED: 0x20000913 (mfg: 0x489 (), part: 0x0000, ver: 0x2)
Error: JTAG tap: riscv.cpu expected 1 of 1: 0x10e31913 (mfg: 0x489 (), part: 0x0e31, ver: 0x1)

That will solve the error

Error: Device ID 0x20000913 is not known as FESPI capable

1 Like

Hi Megan,
Fine, it works well.
Thanks a lot

Olivier Potin

Hi Megan, Thanks a lot for your reply but can you please have a look at first 3 points in my last post and reply. I will be really grateful.

Hi Olivier, Good to hear that it is working for you know. Did you face the change in baudrate?

Hi Nauman,
Yes, i change the baudrate to 57600 to see the “hello world”.

Hi, I am still getting this:
make upload PROGRAM=demo_gpio BOARD=freedom-e300-arty
/home/anbuntu/freedom-e-sdk/riscv-openocd-20170612-x86_64-linux-centos6/bin/openocd -f bsp/env/freedom-e300-arty/openocd.cfg &
/home/anbuntu/freedom-e-sdk/riscv64-unknown-elf-gcc-20170612-x86_64-linux-centos6/bin/riscv64-unknown-elf-gdb software/demo_gpio/demo_gpio --batch -ex “set remotetimeout 240” -ex “target extended-remote localhost:3333” -ex “monitor reset halt” -ex “monitor flash protect 0 64 last off” -ex “load” -ex “monitor resume” -ex “monitor shutdown” -ex “quit” &&
echo "Successfully uploaded ‘demo_gpio’ to freedom-e300-arty."
Open On-Chip Debugger 0.10.0-dev-g0d86772-dirty (2017-06-13-14:13)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
adapter speed: 10000 kHz
localhost:3333: Connection timed out.
“monitor” command not supported by this target.
“monitor” command not supported by this target.
You can’t do that when your target is `exec’
“monitor” command not supported by this target.
“monitor” command not supported by this target.
Successfully uploaded ‘demo_gpio’ to freedom-e300-arty.

Hi Olivier, How did you make the changes in the file. I am a bit new to riscv and that is how I am implementing changes suggested by Megan
16 # jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x10e31913
22 flash bank my_first_flash fespi 0x20000000 0 0 0 $_TARGETNAME 0x10014000
is it correct?

Hi Nauman,
As I see you comment all of the line 16. You just need to remove “-expected-id 0x10e31913”.
Line 22 is correct.
Hope it helps you.

1 Like

Hi @Nauman, replies to your first 2 points:

It is similar to freedom-e310-arty-1-0-2.mcs but not exactly the same, as we have not yet posted the updated MCS. It is different than the SiFive_E31_Coreplex_FPGA_Evaluation*.mcs which is more a coreplex vs Platform evaluation board.

Several other demos can be used only with freedom-e310-arty*.mcs and not with SiFive_E31_Coreplex_FPGA_Evaluation*.mcs. If a program does not have an .unsupported_boards file in the directory, then all the boards are supported for that program. For example, you can see that coreplexip_welcome is not supported on all boards by looking at : https://github.com/sifive/freedom-e-sdk/blob/master/software/coreplexip_welcome/.unsupported-boards

Hi, Olivier Thanks a lot for your help. Finally able to upload my software.

Hi Megan, Thanks a lot for the explanation. Finally I was able to upload the software on MCS file generated from Freedom repo. I am now left with Baudrate confusion. I tried to look into demo_gpio folder in software but could not locate where the baud rate is defined. Can you guide me to the correct folder.

Hi, I just setup Arduino IDE as per Sec 5.3 of Freedom E300 Arty FPGA Dev Kit Getting Started Guide. I am getting the below error which is similar to the one i had with Freedom Studio and It was finally resolve after making changes in openocd.cfg. How can I do the same for Arduino?

Open On-Chip Debugger 0.10.0-dev-g9bab078 (2017-02-02-01:39)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
adapter speed: 10000 kHz
Info : auto-selecting first available session transport “jtag”. To override use 'transport select '.
Info : ftdi: if you experience problems at higher adapter clocks, try the command "ftdi_tdo_sample_edge falling"
Info : clock speed 10000 kHz
Info : JTAG tap: riscv.cpu tap/device found: 0x20000913 (mfg: 0x489 (), part: 0x0000, ver: 0x2)
Warn : JTAG tap: riscv.cpu UNEXPECTED: 0x20000913 (mfg: 0x489 (), part: 0x0000, ver: 0x2)
Error: JTAG tap: riscv.cpu expected 1 of 1: 0x10e31913 (mfg: 0x489 (), part: 0x0e31, ver: 0x1)
Error: Trying to use configured scan chain anyway

Warn : Bypassing JTAG setup events due to errors
Error: Unsupported DTM version 1. (dtmcontrol=0x5071)
Error: Target not examined yet
the selected serial port
does not exist or your board is not connected

The Arduino IDE bundle has not been updated with later versions of OpenOCD that support the DTM Version 1. We will need to do a new Arduino release to support the MCS images generated from github.com/sifive/freedom master branch.

Hello everyone.
I just tried to upload the E300-Arty mcs-file to my Arty dev kit and your tips helped a lot, thanks so far. Unlike you, I get the following error message when I try to upload the mcs-file:

work/build/openocd/prefix/bin/openocd -f bsp/env/freedom-e300-arty/openocd.cfg &
/home/lukas/Entwicklung/freedom-e-sdk/work/build/riscv-gnu-toolchain/riscv64-unknown-elf/prefix/bin/riscv64-unknown-elf-gdb software/demo_gpio/demo_gpio --batch -ex “set remotetimeout 240” -ex “target extended-remote localhost:3333” -ex “monitor reset halt” -ex “monitor flash protect 0 64 last off” -ex “load” -ex “monitor resume” -ex “monitor shutdown” -ex “quit” &&
echo “Successfully uploaded ‘demo_gpio’ to freedom-e300-arty.”
Open On-Chip Debugger 0.10.0+dev (2017-11-12-20:38)
Licensed under GNU GPL v2
For bug reports, read
OpenOCD: Bug Reporting
adapter speed: 10000 kHz
Info : auto-selecting first available session transport “jtag”. To override use ‘transport select ’.
Info : ftdi: if you experience problems at higher adapter clocks, try the command “ftdi_tdo_sample_edge falling”
Info : clock speed 10000 kHz
Info : JTAG tap: riscv.cpu tap/device found: 0x20000913 (mfg: 0x489 (SiFive, Inc.), part: 0x0000, ver: 0x2)
Info : dtmcontrol_idle=5, dmi_busy_delay=1, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=2, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=3, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=4, ac_busy_delay=0
Error: Unable to execute program 0x7ffea845c990
Info : Disabling abstract command reads from CSRs.
Info : [0] Found 2 triggers
Info : Examined RISC-V core; found 1 harts
Info : hart 0: XLEN=32, program buffer at 0x340, 2 triggers
Info : Listening on port 3333 for gdb connections
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : accepting ‘gdb’ connection on tcp/3333
Info : Found flash device ‘micron n25q128’ (ID 0x0018ba20)
0x20400730 in __libc_init_array ()
Info : JTAG tap: riscv.cpu tap/device found: 0x20000913 (mfg: 0x489 (SiFive, Inc.), part: 0x0000, ver: 0x2)
JTAG tap: riscv.cpu tap/device found: 0x20000913 (mfg: 0x489 (SiFive, Inc.), part: 0x0000, ver: 0x2)
Info : dtmcontrol_idle=5, dmi_busy_delay=5, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=5, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=6, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_dInfo : dtmcontrol_idle=5, dmi_busy_delay=7, ac_busy_delay=0
elay=6, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=7, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=8, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busyInfo : dtmcontrol_idle=5, dmi_busy_delay=9, ac_busy_delay=0
_delay=8, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=9, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=10, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delayInfo : dtmcontrol_idle=5, dmi_busy_delay=12, ac_busy_delay=0
=10, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=12, ac_busy_Info : dtmcontrol_idle=5, dmi_busy_delay=14, ac_busy_delay=0
delay=0
dtmcontrol_idle=5, dmi_busy_delay=14, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=16, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=16, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=18, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=18, ac_busy_deInfo : dtmcontrol_idle=5, dmi_busy_delay=20, ac_busy_delay=0
lay=0
dtmcontrol_idle=5, dmi_busy_delay=20, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=23, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=23, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=26, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=26, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=29, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=29, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=32, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=32, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=36, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=36, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=40, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=40, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=45, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=45, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=50, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=50, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=56, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=56, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=62, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=62, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=69, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=69, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=76, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=76, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=84, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=84, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=93, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=93, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=103, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=103, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=114, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=114, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=126, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=126, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=139, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=139, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=153, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=153, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=169, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=169, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=186, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=186, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=205, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=205, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=226, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=226, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=249, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=249, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=274, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=274, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=302, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=302, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=333, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=333, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=367, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=367, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=404, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=404, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=445, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=445, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=490, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=490, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=540, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=540, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=595, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=595, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=655, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=655, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=721, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=721, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=794, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=794, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=874, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=874, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=962, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=962, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=1059, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=1059, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=1165, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=1165, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=1282, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=1282, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=1411, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=1411, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=1553, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=1553, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=1709, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=1709, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=1880, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=1880, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=2069, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=2069, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=2276, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=2276, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=2504, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=2504, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=2755, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=2755, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=3031, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=3031, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=3335, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=3335, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=3669, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=3669, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=4036, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=4036, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=4440, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=4440, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=4885, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=4885, ac_busy_delay=0
cleared protection for sectors 64 through 255 on flash bank 0
cleared protection for sectors 64 through 255 on flash bank 0
warning: Can not parse XML memory map; XML support was disabled at compile time
Error: Unable to execute program 0x7ffea845da90
Error: failed to execute program, abstractcs=0x10000001
Error: exiting with ERROR_FAIL
Loading section .init, size 0x6c lma 0x20400000
Loading section .text, size 0xc015 lma 0x2040006c
Load failed
Error: Unable to execute program 0x7ffea845da90
Error: failed to execute program, abstractcs=0x10000001
Error: exiting with ERROR_FAIL
shutdown command invoked
shutdown command invoked
A debugging session is active.

Inferior 1 [Remote target] will be detached.

Quit anyway? (y or n) [answered Y; input not from terminal]
Remote communication error. Target disconnected.: Die Verbindung wurde vom Kommunikationspartner zurĂŒckgesetzt.
Successfully uploaded ‘demo_gpio’ to freedom-e300-arty.

Looks to me like it tries to jump at the wrong place in the memory but I have no idea, why it is doing that, what is the right place and how I can fix that. Any ideas?
Thanks in advance.
Lukas

warning: Can not parse XML memory map; XML support was disabled at compile time

It looks like you did not have the libexpat1-dev package installed when you compiled the RISC-V tools (specifically, GDB). Please make sure that you install all the package dependencies listed in the README (https://github.com/sifive/freedom-e-sdk/blob/master/README.md#building-tools-from-source), and re-build the RISC-V tools. This should resolve your issue

You’re right, reading the instructions is a very smarth thing to do :D. Thanks for your help. However now the upload gets stuck after some time and aborts with a remote communication error:

work/build/openocd/prefix/bin/openocd -f bsp/env/freedom-e300-arty/openocd.cfg &
/home/lukas/freedom-e-sdk/work/build/riscv-gnu-toolchain/riscv64-unknown-elf/prefix/bin/riscv64-unknown-elf-gdb software/demo_gpio/demo_gpio --batch -ex “set remotetimeout 240” -ex “target extended-remote localhost:3333” -ex “monitor reset halt” -ex “monitor flash protect 0 64 last off” -ex “load” -ex “monitor resume” -ex “monitor shutdown” -ex “quit” &&
echo “Successfully uploaded ‘demo_gpio’ to freedom-e300-arty.”
Open On-Chip Debugger 0.10.0+dev (2017-12-05-17:50)
Licensed under GNU GPL v2
For bug reports, read
OpenOCD: Bug Reporting
adapter speed: 10000 kHz
Info : auto-selecting first available session transport “jtag”. To override use ‘transport select ’.
Info : ftdi: if you experience problems at higher adapter clocks, try the command “ftdi_tdo_sample_edge falling”
Info : clock speed 10000 kHz
Info : JTAG tap: riscv.cpu tap/device found: 0x20000913 (mfg: 0x489 (SiFive, Inc.), part: 0x0000, ver: 0x2)
Info : dtmcontrol_idle=5, dmi_busy_delay=1, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=2, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=3, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=4, ac_busy_delay=0
Error: Unable to execute program 0x7ffe2e01b7a0
Info : Disabling abstract command reads from CSRs.
Info : [0] Found 2 triggers
Info : Examined RISC-V core; found 1 harts
Info : hart 0: XLEN=32, program buffer at 0x340, 2 triggers
Info : Listening on port 3333 for gdb connections
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : accepting ‘gdb’ connection on tcp/3333
Info : Found flash device ‘micron n25q128’ (ID 0x0018ba20)
0x204000e2 in main (argc=, argv=) at demo_gpio.c:247
247 atomic_fetch_xor_explicit(&GPIO_REG(GPIO_OUTPUT_VAL), bitbang_mask, memory_order_relaxed);
Info : JTAG tap: riscv.cpu tap/device found: 0x20000913 (mfg: 0x489 (SiFive, Inc.), part: 0x0000, ver: 0x2)
JTAG tap: riscv.cpu tap/device found: 0x20000913 (mfg: 0x489 (SiFive, Inc.), part: 0x0000, ver: 0x2)
Info : dtmcontrol_idle=5, dmi_busy_delay=5, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busyInfo : dtmcontrol_idle=5, dmi_busy_delay=6, ac_busy_delay=0
_delay=5, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_dInfo : dtmcontrol_idle=5, dmi_busy_delay=7, ac_busy_delay=0
elay=6, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delaInfo : dtmcontrol_idle=5, dmi_busy_delay=8, ac_busy_delay=0
y=7, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=8, aInfo : dtmcontrol_idle=5, dmi_busy_delay=9, ac_busy_delay=0
c_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=9, ac_busy_delInfo : dtmcontrol_idle=5, dmi_busy_delay=10, ac_busy_delay=0
ay=0
dtmcontrol_idle=5, dmi_busy_delay=10, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=12, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=1Info : dtmcontrol_idle=5, dmi_busy_delay=14, ac_busy_delay=0
2, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=14, ac_busInfo : dtmcontrol_idle=5, dmi_busy_delay=16, ac_busy_delay=0
y_delay=0
dtmcontrol_idle=5, dmi_busy_delay=16, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=18, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_Info : dtmcontrol_idle=5, dmi_busy_delay=20, ac_busy_delay=0
delay=18, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=20, ac_bInfo : dtmcontrol_idle=5, dmi_busy_delay=23, ac_busy_delay=0
usy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=23, ac_busy_delInfo : dtmcontrol_idle=5, dmi_busy_delay=26, ac_busy_delay=0
ay=0
dtmcontrol_idle=5, dmi_busy_delay=26, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=29, ac_busy_delay=0
dtmcontrol_idle=5, dmi_Info : dtmcontrol_idle=5, dmi_busy_delay=32, ac_busy_delay=0
busy_delay=29, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_dInfo : dtmcontrol_idle=5, dmi_busy_delay=36, ac_busy_delay=0
elay=32, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=36, ac_Info : dtmcontrol_idle=5, dmi_busy_delay=40, ac_busy_delay=0
busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=40, ac_busy_deInfo : dtmcontrol_idle=5, dmi_busy_delay=45, ac_busy_delay=0
lay=0
dtmcontrol_idle=5, dmi_busy_delay=45, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=50, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=50, ac_busy_delay=Info : dtmcontrol_idle=5, dmi_busy_delay=56, ac_busy_delay=0
0
dtmcontrol_idle=5, dmi_busy_delay=56, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=62, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=62, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=69, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=69, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=76, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=Info : dtmcontrol_idle=5, dmi_busy_delay=84, ac_busy_delay=0
76, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=Info : dtmcontrol_idle=5, dmi_busy_delay=93, ac_busy_delay=0
84, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=93, ac_busy_Info : dtmcontrol_idle=5, dmi_busy_delay=103, ac_busy_delay=0
delay=0
dtmcontrol_idle=5, dmi_busy_delay=103, ac_busy_deInfo : dtmcontrol_idle=5, dmi_busy_delay=114, ac_busy_delay=0
lay=0
dtmcontrol_idle=5, dmi_busy_delay=114, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=126, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busInfo : dtmcontrol_idle=5, dmi_busy_delay=139, ac_busy_delay=0
y_delay=126, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=139Info : dtmcontrol_idle=5, dmi_busy_delay=153, ac_busy_delay=0
, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=153, ac_busyInfo : dtmcontrol_idle=5, dmi_busy_delay=169, ac_busy_delay=0
_delay=0
dtmcontrol_idle=5, dmi_busy_delay=169, ac_busy_delaInfo : dtmcontrol_idle=5, dmi_busy_delay=186, ac_busy_delay=0
y=0
dtmcontrol_idle=5, dmi_busy_delay=186, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=205, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=2Info : dtmcontrol_idle=5, dmi_busy_delay=226, ac_busy_delay=0
05, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=Info : dtmcontrol_idle=5, dmi_busy_delay=249, ac_busy_delay=0
226, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=249, ac_busy_Info : dtmcontrol_idle=5, dmi_busy_delay=274, ac_busy_delay=0
delay=0
dtmcontrol_idle=5, dmi_busy_delay=274, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=302, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=302, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=333, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=33Info : dtmcontrol_idle=5, dmi_busy_delay=367, ac_busy_delay=0
3, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=367, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=404, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=404, ac_bInfo : dtmcontrol_idle=5, dmi_busy_delay=445, ac_busy_delay=0
usy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=445, ac_busy_delaInfo : dtmcontrol_idle=5, dmi_busy_delay=490, ac_busy_delay=0
y=0
dtmcontrol_idle=5, dmi_busy_delay=490, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=540, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=540, ac_busy_delayInfo : dtmcontrol_idle=5, dmi_busy_delay=595, ac_busy_delay=0
=0
dtmcontrol_idle=5, dmi_busy_delay=595, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=655, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=655, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=721, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=721, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=794, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=794, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=874, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=874, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=962, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=962, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=1059, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=1059, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=1165, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=1165, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=1282, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=1282, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=1411, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=1411, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=1553, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=1553, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=1709, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=1709, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=1880, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=1880, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=2069, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=2069, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=2276, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=2276, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=2504, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=2504, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=2755, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=2755, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=3031, ac_busy_delay=0
dtmcontrol_idle=5, dmi_busy_delay=3031, ac_busy_delay=0
cleared protection for sectors 64 through 255 on flash bank 0
cleared protection for sectors 64 through 255 on flash bank 0
Info : JTAG tap: riscv.cpu tap/device found: 0x20000913 (mfg: 0x489 (SiFive, Inc.), part: 0x0000, ver: 0x2)
Info : dtmcontrol_idle=5, dmi_busy_delay=3335, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=3669, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=4036, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=4440, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=4885, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=5374, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=5912, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=6504, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=7155, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=7871, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=8659, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=9525, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=10478, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=11526, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=12679, ac_busy_delay=0
Info : Padding image section 0 with 6 bytes
Info : JTAG tap: riscv.cpu tap/device found: 0x20000913 (mfg: 0x489 (SiFive, Inc.), part: 0x0000, ver: 0x2)
Info : dtmcontrol_idle=5, dmi_busy_delay=13947, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=15342, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=16877, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=18565, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=20422, ac_busy_delay=0
Info : dtmcontrol_idle=5, dmi_busy_delay=22465, ac_busy_delay=0
shutdown command invoked
Loading section .init, size 0x6c lma 0x20400000
Loading section .text, size 0xbbb6 lma 0x2040006c
Loading section .rodata, size 0x1154 lma 0x2040bc28
Loading section .eh_frame, size 0x68 lma 0x2040cd7c
Loading section .data, size 0x9d0 lma 0x2040cde4
Start address 0x20400000, load size 55214
Transfer rate: 791 bytes/sec, 6901 bytes/write.
shutdown command invoked
A debugging session is active.

Inferior 1 [Remote target] will be detached.

Quit anyway? (y or n) [answered Y; input not from terminal]
Remote communication error. Target disconnected.: Die Verbindung wurde vom Kommunikationspartner zurĂŒckgesetzt.
Successfully uploaded ‘demo_gpio’ to freedom-e300-arty.
make: *** Keine Regel, um „2“ zu erstellen. Schluss.

I’ll check all wires and keep poking around in the SDK to find the reason for that error. If you could save my day another time, I’d be very grateful.
Thanks again.