From 809711e87af06ca5c151a2fac568382330f2feb6 Mon Sep 17 00:00:00 2001 From: Megan Wachs Date: Wed, 14 Jun 2017 08:52:57 -0700 Subject: New Freedom Studio Examples (#66) * examples ported to ilg build plugin * project cleanup * CoreplexIP-E31 ilg projects * E51FPGA ilg projects * Tested Debug * debug launch files * E31 Debug Launch Files * removed typo project * E51 launch files. Forgotten E31 File * Missing coreplexip files * examples ported to ilg build plugin * project cleanup * CoreplexIP-E31 ilg projects * E51FPGA ilg projects * Tested Debug * debug launch files * E31 Debug Launch Files * removed typo project * E51 launch files. Forgotten E31 File * Missing coreplexip files * starting fresh * HiFive1 demo_gpio and libwrap * hifive1 hello * debug launchers for hello and demo_gpio * hifive1 led_fade * led_fade: Since E300 Arty Dev Kit doesn't have a PRCI, the led_fade demo doesn't really work on it. * update include paths to ease generating stand-alone zips * Adding E51 Examples * E51 demo launch files * E31 Demos * E31 demo launch files --- FreedomStudio/HiFive1/hello/.DS_Store | Bin 6148 -> 0 bytes FreedomStudio/HiFive1/hello/.cproject | 227 +++++++++++++-------- FreedomStudio/HiFive1/hello/.project | 10 - .../HiFive1/hello/.settings/language.settings.xml | 25 +++ FreedomStudio/HiFive1/hello/hello Debug.launch | 59 ++++++ FreedomStudio/HiFive1/hello/hello OpenOCD.launch | 59 ------ FreedomStudio/HiFive1/hello/link.lds | 167 --------------- FreedomStudio/HiFive1/hello/openocd.cfg | 34 --- .../HiFive1/hello/sifive-freedom-e300-hifive1.cfg | 34 +++ 9 files changed, 260 insertions(+), 355 deletions(-) delete mode 100644 FreedomStudio/HiFive1/hello/.DS_Store create mode 100644 FreedomStudio/HiFive1/hello/.settings/language.settings.xml create mode 100644 FreedomStudio/HiFive1/hello/hello Debug.launch delete mode 100644 FreedomStudio/HiFive1/hello/hello OpenOCD.launch delete mode 100644 FreedomStudio/HiFive1/hello/link.lds delete mode 100644 FreedomStudio/HiFive1/hello/openocd.cfg create mode 100644 FreedomStudio/HiFive1/hello/sifive-freedom-e300-hifive1.cfg (limited to 'FreedomStudio/HiFive1/hello') diff --git a/FreedomStudio/HiFive1/hello/.DS_Store b/FreedomStudio/HiFive1/hello/.DS_Store deleted file mode 100644 index cf0a156..0000000 Binary files a/FreedomStudio/HiFive1/hello/.DS_Store and /dev/null differ diff --git a/FreedomStudio/HiFive1/hello/.cproject b/FreedomStudio/HiFive1/hello/.cproject index cff5b87..1bd0227 100644 --- a/FreedomStudio/HiFive1/hello/.cproject +++ b/FreedomStudio/HiFive1/hello/.cproject @@ -1,11 +1,11 @@ - - + + - + @@ -14,79 +14,114 @@ - - - - - - + + - + @@ -95,33 +130,61 @@ - - - - - + - - - - - - - - + + - - + + - + - + diff --git a/FreedomStudio/HiFive1/hello/.project b/FreedomStudio/HiFive1/hello/.project index b446db1..65638ec 100644 --- a/FreedomStudio/HiFive1/hello/.project +++ b/FreedomStudio/HiFive1/hello/.project @@ -144,16 +144,6 @@ 1 PARENT-3-PROJECT_LOC/bsp/env/freedom-e300-hifive1/platform.h - - bsp/env/freedom-e300-hifive1/settings.mk - 1 - PARENT-3-PROJECT_LOC/bsp/env/freedom-e300-hifive1/settings.mk - - - bsp/include/sifive/.DS_Store - 1 - PARENT-3-PROJECT_LOC/bsp/include/sifive/.DS_Store - bsp/include/sifive/bits.h 1 diff --git a/FreedomStudio/HiFive1/hello/.settings/language.settings.xml b/FreedomStudio/HiFive1/hello/.settings/language.settings.xml new file mode 100644 index 0000000..1b467cf --- /dev/null +++ b/FreedomStudio/HiFive1/hello/.settings/language.settings.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FreedomStudio/HiFive1/hello/hello Debug.launch b/FreedomStudio/HiFive1/hello/hello Debug.launch new file mode 100644 index 0000000..6b567b6 --- /dev/null +++ b/FreedomStudio/HiFive1/hello/hello Debug.launch @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FreedomStudio/HiFive1/hello/hello OpenOCD.launch b/FreedomStudio/HiFive1/hello/hello OpenOCD.launch deleted file mode 100644 index fda63e6..0000000 --- a/FreedomStudio/HiFive1/hello/hello OpenOCD.launch +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FreedomStudio/HiFive1/hello/link.lds b/FreedomStudio/HiFive1/hello/link.lds deleted file mode 100644 index 90e5c8f..0000000 --- a/FreedomStudio/HiFive1/hello/link.lds +++ /dev/null @@ -1,167 +0,0 @@ -OUTPUT_ARCH( "riscv" ) - -ENTRY( _start ) - -MEMORY -{ - flash (rxai!w) : ORIGIN = 0x20400000, LENGTH = 512M - ram (wxa!ri) : ORIGIN = 0x80000000, LENGTH = 16K -} - -PHDRS -{ - flash PT_LOAD; - ram_init PT_LOAD; - ram PT_NULL; -} - -SECTIONS -{ - __stack_size = DEFINED(__stack_size) ? __stack_size : 2K; - - .init : - { - KEEP (*(SORT_NONE(.init))) - } >flash AT>flash :flash - - .text : - { - *(.text.unlikely .text.unlikely.*) - *(.text.startup .text.startup.*) - *(.text .text.*) - *(.gnu.linkonce.t.*) - } >flash AT>flash :flash - - .fini : - { - KEEP (*(SORT_NONE(.fini))) - } >flash AT>flash :flash - - PROVIDE (__etext = .); - PROVIDE (_etext = .); - PROVIDE (etext = .); - - .rodata : - { - *(.rdata) - *(.rodata .rodata.*) - *(.gnu.linkonce.r.*) - } >flash AT>flash :flash - - . = ALIGN(4); - - .preinit_array : - { - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP (*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - } >flash AT>flash :flash - - .init_array : - { - PROVIDE_HIDDEN (__init_array_start = .); - KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) - KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) - PROVIDE_HIDDEN (__init_array_end = .); - } >flash AT>flash :flash - - .fini_array : - { - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) - KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) - PROVIDE_HIDDEN (__fini_array_end = .); - } >flash AT>flash :flash - - .ctors : - { - /* gcc uses crtbegin.o to find the start of - the constructors, so we make sure it is - first. Because this is a wildcard, it - doesn't matter if the user does not - actually link against crtbegin.o; the - linker won't look for a file to match a - wildcard. The wildcard also means that it - doesn't matter which directory crtbegin.o - is in. */ - KEEP (*crtbegin.o(.ctors)) - KEEP (*crtbegin?.o(.ctors)) - /* We don't want to include the .ctor section from - the crtend.o file until after the sorted ctors. - The .ctor section from the crtend file contains the - end of ctors marker and it must be last */ - KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - } >flash AT>flash :flash - - .dtors : - { - KEEP (*crtbegin.o(.dtors)) - KEEP (*crtbegin?.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - } >flash AT>flash :flash - - .lalign : - { - . = ALIGN(4); - PROVIDE( _data_lma = . ); - } >flash AT>flash :flash - - .dalign : - { - . = ALIGN(4); - PROVIDE( _data = . ); - } >ram AT>flash :ram_init - - .data : - { - *(.data .data.*) - *(.gnu.linkonce.d.*) - } >ram AT>flash :ram_init - - .srodata : - { - PROVIDE( _gp = . + 0x800 ); - *(.srodata.cst16) - *(.srodata.cst8) - *(.srodata.cst4) - *(.srodata.cst2) - *(.srodata .srodata.*) - } >ram AT>flash :ram_init - - .sdata : - { - *(.sdata .sdata.*) - *(.gnu.linkonce.s.*) - } >ram AT>flash :ram_init - - . = ALIGN(4); - PROVIDE( _edata = . ); - PROVIDE( edata = . ); - - PROVIDE( _fbss = . ); - PROVIDE( __bss_start = . ); - .bss : - { - *(.sbss*) - *(.gnu.linkonce.sb.*) - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - . = ALIGN(4); - } >ram AT>ram :ram - - . = ALIGN(8); - PROVIDE( _end = . ); - PROVIDE( end = . ); - - .stack ORIGIN(ram) + LENGTH(ram) - __stack_size : - { - PROVIDE( _heap_end = . ); - . = __stack_size; - PROVIDE( _sp = . ); - } >ram AT>ram :ram -} diff --git a/FreedomStudio/HiFive1/hello/openocd.cfg b/FreedomStudio/HiFive1/hello/openocd.cfg deleted file mode 100644 index b0a8e26..0000000 --- a/FreedomStudio/HiFive1/hello/openocd.cfg +++ /dev/null @@ -1,34 +0,0 @@ -adapter_khz 10000 - -interface ftdi -ftdi_device_desc "Dual RS232-HS" -ftdi_vid_pid 0x0403 0x6010 - -ftdi_layout_init 0x0008 0x001b -ftdi_layout_signal nSRST -oe 0x0020 -data 0x0020 - -#Reset Stretcher logic on FE310 is ~1 second long -#This doesn't apply if you use -# ftdi_set_signal, but still good to document -#adapter_nsrst_delay 1500 - -set _CHIPNAME riscv -jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x10e31913 - -set _TARGETNAME $_CHIPNAME.cpu -target create $_TARGETNAME riscv -chain-position $_TARGETNAME -$_TARGETNAME configure -work-area-phys 0x80000000 -work-area-size 10000 -work-area-backup 1 - -flash bank onboard_spi_flash fespi 0x20000000 0 0 0 $_TARGETNAME -init -#reset -- This type of reset is not implemented yet -if {[ info exists pulse_srst]} { - ftdi_set_signal nSRST 0 - ftdi_set_signal nSRST z - #Wait for the reset stretcher - #It will work without this, but - #will incur lots of delays for later commands. - sleep 1500 -} -halt -flash protect 0 64 last off diff --git a/FreedomStudio/HiFive1/hello/sifive-freedom-e300-hifive1.cfg b/FreedomStudio/HiFive1/hello/sifive-freedom-e300-hifive1.cfg new file mode 100644 index 0000000..b0a8e26 --- /dev/null +++ b/FreedomStudio/HiFive1/hello/sifive-freedom-e300-hifive1.cfg @@ -0,0 +1,34 @@ +adapter_khz 10000 + +interface ftdi +ftdi_device_desc "Dual RS232-HS" +ftdi_vid_pid 0x0403 0x6010 + +ftdi_layout_init 0x0008 0x001b +ftdi_layout_signal nSRST -oe 0x0020 -data 0x0020 + +#Reset Stretcher logic on FE310 is ~1 second long +#This doesn't apply if you use +# ftdi_set_signal, but still good to document +#adapter_nsrst_delay 1500 + +set _CHIPNAME riscv +jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x10e31913 + +set _TARGETNAME $_CHIPNAME.cpu +target create $_TARGETNAME riscv -chain-position $_TARGETNAME +$_TARGETNAME configure -work-area-phys 0x80000000 -work-area-size 10000 -work-area-backup 1 + +flash bank onboard_spi_flash fespi 0x20000000 0 0 0 $_TARGETNAME +init +#reset -- This type of reset is not implemented yet +if {[ info exists pulse_srst]} { + ftdi_set_signal nSRST 0 + ftdi_set_signal nSRST z + #Wait for the reset stretcher + #It will work without this, but + #will incur lots of delays for later commands. + sleep 1500 +} +halt +flash protect 0 64 last off -- cgit v1.2.3