SiFive RISC-V dev/platform 1.0.0: IP Core emulation and debugging without hardware!

We are pleased to announce the next release v1.0.0 of SiFive RiSC-V development platform.

25

What’s New

  • Update Freedom E SDK to v201908
  • Update RISC-V GCC toolchain to 8.3.0
  • Update openOCD for RISC-V to v2019.08.2
  • Update QEMU to 4.1.0

See Release Notes for details.

Emulation

Emulate SiFive E310 and U540 IP Cores without physical hardware. See a simple project for E310:

platformio.ini

[platformio]
description = A simple "Hello, World!" example to demonstrate printf and build environment.

[env:e310-emulation]
platform = sifive
framework = freedom-e-sdk
board = e310-arty
debug_tool = qemu

main.c

#include <stdio.h>

int main() {
    printf("Hello, World!\n");
}

Documentation

See SiFive — PlatformIO latest documentation

Examples

See project examples platform-sifive/examples at develop · platformio/platform-sifive · GitHub

Update

  • PlatformIO IDE – please navigate to PIO Home > Platforms > Updates
  • PlatformIO Core – please run a next CLI command $ pio update

Regards,
The PlatformIO Team

1 Like

is this due to the update Oo


warning: Calling missing SConscript without error is deprecated.
Transition by adding must_exist=0 to SConscript calls.
Missing SConscript '"scripts/target/LPC1768/extra_script.py"'
File "/Users/john/.platformio/penv/lib/python3.7/site-packages/platformio/builder/main.py", line 134, in <module>
Checking size .pio/build/lpc1768/firmware.elf

How to reproduce your issue? Could you provide a simple project?

Building the lpc1768 target.
branch lpc1768_and_atmega328p

Edit:

That script still worked last week.

@valeros please check.

What does your project have to do with SiFive platform? The error you see is probably caused by the quote marks in the extra_scripts field.

hm, seems to work without the quotes now … and previously didn’t work without them…
Thanks. can be deleted or whatever.

Edit:
I’m using the J-Link edu mini, which also seemed to work before the update.
And now I get garbage again :c.

Imma try my black magic probe and see, whether I killed my stuff or the update did.

edit 2: Guess I killed my setup again :smiley: … have a good evening.

Error Blackmagic Probe
Firmware path: .pio/build/lpc1768/firmware.bin
Wrote checksum 0x65f24ed2 into binary.
Configuring upload protocol...
AVAILABLE: blackmagic, cmsis-dap, jlink, mbed
CURRENT: upload_protocol = blackmagic
Looking for BlackMagic port...
Use manually specified: /dev/cu.usbmodem79AC68971
Uploading .pio/build/lpc1768/firmware.bin
Target voltage: 3.3V
Available Targets:
No. Att Driver
 1      LPC17xx M3/M4
0x1000003e in ?? ()
Loading section .text, size 0x5c lma 0x0
Loading section .data, size 0x8 lma 0x5c
Start address 0x0, load size 100
warning: One or more sections of the target image does not match
the loaded file

Transfer rate: 227 bytes/sec, 50 bytes/write.
Section .text, range 0x0 -- 0x5c: MIS-MATCHED!
Section .data, range 0x5c -- 0x64: matched.
Kill the program being debugged? (y or n) [answered Y; input not from terminal]
========================================================================================== [SUCCESS] Took 3.24 seconds ==========================================================================================

Environment             Status    Duration
----------------------  --------  ------------
lpc1768                 SUCCESS   00:00:03.236
myAVRBoard_atmega328p   IGNORED
arduino_uno_atmega328p  IGNORED