Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-01-02 | updated project files | Drew Barbier | |
2018-01-02 | Merge commit 'cee980238e2dbd7c9af0eb79bd5621a4dc73c234' into fs3 | Drew Barbier | |
2017-12-31 | Bump riscv-gnu-toolchain and openocd for release | Palmer Dabbelt | |
2017-12-28 | udpated launch files | Drew Barbier | |
2017-12-28 | project and debug launch updates for beta 3 | Drew Barbier | |
2017-11-21 | Merge pull request #82 from sifive/e51dhrystone | dbarbi1 | |
Make space for e51 dhrystone | |||
2017-11-21 | make some space for | Drew Barbier | |
2017-11-21 | Merge pull request #81 from sifive/dhrystone-arty | Palmer Dabbelt | |
Dhrystone arty | |||
2017-11-21 | The E31 and E51 have 16KiB of RAM | Drew Barbier | |
2017-11-21 | coreplexip dhrystone updates | Drew Barbier | |
2017-11-21 | Merge pull request #79 from sifive/small-puts | Palmer Dabbelt | |
Implement a smaller puts | |||
2017-11-21 | Implement a smaller puts | Palmer Dabbelt | |
The e31's init.c calls puts intsead of printf, which oddly enough is a lot bigger: since we wrap printf, puts pulls in a lot of newlib. This adds a wrapped puts so it's very small. | |||
2017-11-20 | dhrystone score to reflect current result | Drew Barbier | |
2017-11-20 | Update dhrystone section | Drew Barbier | |
2017-11-17 | Merge pull request #78 from sifive/dhrystone | Palmer Dabbelt | |
Speed up Dhrystone on the HiFive1 | |||
2017-11-17 | Speed up Dhrystone on the HiFive1 | Palmer Dabbelt | |
There's a handful of things that went wrong here: * The read-only data sections were mapped to flash, which is very slow. I just put them in the data segment, so they end up in the scratchpad. This is about a 10x hit, so it's really important. * The toolchain was an old version, which didn't have a fast memcpy implementation on 32-bit systems. This is about a 2x hit. * Some compiler flags were incorrect, including * -Os instead of -O3 * Missing -mexplicit-relocs * Missing -DNOENUM * Missing -falign-functions=4 I haven't checked how much those hurt With this, I get $ make software BOARD=freedom-e300-hifive1 PROGRAM=dhrystone LINK_TARGET=dhrystone $ make upload BOARD=freedom-e300-hifive1 PROGRAM=dhrystone LINK_TARGET=dhrystone Execution starts, 10000000 runs through Dhrystone Execution ends Final values of the variables used in the benchmark: Int_Glob: 5 should be: 5 Bool_Glob: 1 should be: 1 Ch_1_Glob: A should be: A Ch_2_Glob: B should be: B Arr_1_Glob[8]: 7 should be: 7 Arr_2_Glob[8][7]: 10000010 should be: Number_Of_Runs + 10 Ptr_Glob-> Ptr_Comp: -2147470264 should be: (implementation-dependent) Discr: 0 should be: 0 Enum_Comp: 2 should be: 2 Int_Comp: 17 should be: 17 Str_Comp: DHRYSTONE PROGRAM, SOME STRING should be: DHRYSTONE PROGRAM, SOME STRING Next_Ptr_Glob-> Ptr_Comp: -2147470264 should be: (implementation-dependent), same as above Discr: 0 should be: 0 Enum_Comp: 1 should be: 1 Int_Comp: 18 should be: 18 Str_Comp: DHRYSTONE PROGRAM, SOME STRING should be: DHRYSTONE PROGRAM, SOME STRING Int_1_Loc: 5 should be: 5 Int_2_Loc: 13 should be: 13 Int_3_Loc: 7 should be: 7 Enum_Loc: 1 should be: 1 Str_1_Loc: DHRYSTONE PROGRAM, 1'ST STRING should be: DHRYSTONE PROGRAM, 1'ST STRING Str_2_Loc: DHRYSTONE PROGRAM, 2'ND STRING should be: DHRYSTONE PROGRAM, 2'ND STRING Microseconds for one run through Dhrystone: 1.3 Dhrystones per Second: 714285.6 which is 1.55 DMIPS/MHz at 262 MHz. It's still a bit slower than our current stuff, but I don't remember what was actually in the HiFive1 so I'm not sure what we should be getting. I verified the clock is accurate with a stopwatch. I haven't bothered to go look through the binary, but I think we're about 10 cycles off so it should be managable. | |||
2017-10-06 | Merge pull request #67 from dgrubb/Makefile-tweaks | Megan Wachs | |
Update Makefile with more user-friendly clean options | |||
2017-09-22 | Fix typo in help (#75) | pbing | |
2017-09-22 | Fix name resolving issue (#74) | pbing | |
2017-09-22 | Fix `RISC_PATH` -> `RISCV_PATH` in README (#72) | Frank | |
2017-08-22 | Update to the August 18th OpenOCD and toolchain releases | Palmer Dabbelt | |
2017-08-15 | Merge branch 'master' of github.com:sifive/freedom-e-sdk | Gleb Gagarin | |
2017-08-15 | blacklisted watchdog program for coreplexip-e51-arty board | Gleb Gagarin | |
2017-08-15 | updated OpenOCD version | Gleb Gagarin | |
2017-08-10 | Merge pull request #70 from sifive/ecall | dbarbi1 | |
added ecall to vectored irq example | |||
2017-08-10 | added ecall to vectored irq example | Drew Barbier | |
2017-08-07 | HiFive1 AON Watchdog example | Drew Barbier | |
2017-07-27 | Merge pull request #69 from sifive/vector | dbarbi1 | |
Vector | |||
2017-07-26 | changed synch trap entry to match other vectors | Drew Barbier | |
2017-07-26 | removed save/restore of x18 | Drew Barbier | |
2017-07-26 | E31 vectored_interrupt.c as a linked file | Drew Barbier | |
2017-07-26 | only save/restore caller registers on trap entry | Drew Barbier | |
2017-07-26 | only save/restore "caller" registers on trap entry | Drew Barbier | |
2017-07-26 | removed bin file commited by accident | Drew Barbier | |
2017-07-26 | fixed comments | Drew Barbier | |
2017-07-26 | fixed TRAP_EXIT macro. TRAP_ENTRY/EXIT2 only saves/restores callee | Drew Barbier | |
registers | |||
2017-07-26 | E31 FS Project | Drew Barbier | |
2017-07-25 | too many .aling 2's | Drew Barbier | |
2017-07-25 | FS debug launch file | Drew Barbier | |
2017-07-25 | added vectored interrupt example | Drew Barbier | |
2017-06-26 | Update Makefile with more user-friendly clean options | dgrubb | |
1) Change target 'clean' to refer to 'software_clean' rather than 'toolchain-clean' and 'openocd-clean'. 2) Update Makefile help to reflect changes. | |||
2017-06-15 | removed language files | Drew Barbier | |
2017-06-15 | E31 linker script update | Drew Barbier | |
2017-06-15 | E51 linker script updates | Drew Barbier | |
2017-06-15 | linker file update | Drew Barbier | |
2017-06-14 | Update openocd to v20170612 | Palmer Dabbelt | |
2017-06-14 | Merge pull request #64 from sifive/multicore-scratchpad | Palmer Dabbelt | |
Add support for multicore systems and scratchpad-only systems | |||
2017-06-14 | led_fade doesn't build on the e300-arty | Palmer Dabbelt | |
2017-06-14 | Add a SMP example | Palmer Dabbelt | |
This just prints "hello world" on two cores. It contains an example of how to initialize a multi-core system using IPIs, and a simple spin lock. | |||
2017-06-14 | Ignore some generated binaries | Palmer Dabbelt | |