Age | Commit message (Collapse) | Author |
|
Branch target misalignment reduces performance by about 10%.
|
|
Provide get_timer_value() and get_timer_freq() and use them. On Arty,
they use mcycle and the known-fixed core frequency, whereas on HiFive1
they use mtime and the known-fixed mtime frequency.
|
|
- Warm up I$ first.
- Correct for integer division truncation error.
- Wait for an RTC clock edge before starting the timing loop,
which removes an error proportional to the number of loop
iterations, allowing us to run for far less time.
|
|
|
|
Fixes in the root makefile
|
|
Each cd command in the targets software, software_clean, and
dasm is unnecessary. Also, fixes from make to $(MAKE) help
the readability of build/dry-run output.
|
|
Bump OpenOCD to pick up corrected malloc in Flashing code.
|
|
ensure Flash is loaded correctly.
|
|
This improves the instruction stream's spatial locality.
|
|
The symbol may be overridden and end up out of range of JAL.
|
|
|
|
|
|
Default to freedom-e300-hifive1
|
|
And parameterize the help message on the default options.
|
|
This Makefile installs the tools in a fixed location and ignores $RISCV,
so $RISCV should not be used to set $PATH. The incorrect $PATH setting
prevents the compiler from building, as it can't find the assembler.
|
|
Bump OpenOCD to get around assertion error for flashing programs.
|
|
|
|
Remove unncessary srst delay when connecting with OpenOCD to HiFive1
|
|
Correct init/fini functions for Arty Dev Kit
|
|
|
|
|
|
|
|
hifive1: Update OpenOCD Config script to optionally allow pulsing SRST
|
|
Update README.md
|
|
Add additional package dependency due to new versions of the tools
|
|
|
|
The --wrap feature of GNU ld supports a cleaner framework for linking in
alternative implementations of libc functions without cpp hacks.
Place wrappers in separate object files to reduce static code size.
|
|
|
|
|
|
|
|
|
|
Add NUM_GPIO definitions
|
|
|
|
|
|
|
|
Bump OpenOCD to Allow for Verify and Blank Check
|
|
demo_gpio: Correct trap_entry handling to enable timer/ext interrupts
|
|
things.
|
|
|
|
|
|
Enable FPU in MSTATUS CSR during init
|
|
* Only attempts if FPU actually implemented in design
* Also initializes rounding modes, which are undefined at reset
|
|
This appears to resolve the issue of .sdata being assigned an incorrect
LMA (ld warning "section `.sdata' can't be allocated in segment 1").
|
|
|
|
This way, chips with FPU can run FPU instructions without taking
exceptions.
I've confirmed that dhrystone still runs successfully even on chips
with no FPU.
|
|
bump OpenOCD to fix compile warnings
|
|
|
|
libexpat1-dev is required in order for OpenOCD to pass GDB an XML description of the memory layout. This allows GDB to recognize regions of memory as being in Flash and therefore need a different way to read/write/set breakpoints in them.
|
|
|
|
* Bump tool versions
* Use version of OpenOCD which can load programs into flash
* Bump OpenOCD to Handle ISSI Flash Programming
* Update Header files
* add initial support for hifive1
* add dhrystone
* add clock helper functions
* add openocd cfg file
* Demo_GPIO checkpoint -- compiles and runs but no blinky LEDs
* Remove riscv-tests submodule
* Remove FPGA files, as they are no longer relevant to this Repository
* Add openocd_upload script
* Add Pinmux Mappings
Adding the pinmux mappings to the Platform Header
* Add IOF Mappings to platform header
* Re-order the IOF Mapping declarations
* Add more useful things to platform headers
* Get GPIO Demo working again (except interrupts aren't working)
* Update README with more OS packages needed
A bare ubuntu-16.04.1-server installation could not run `make tools`
without these packages.
* bump openocd to get SCKDIV fix
* Remove duplicated help text for run_debug target
* Add package to README that is needed for openocd build
Without this package I was seeing two different failures like below
when running `make tools`.
/home/scottj/freedom-e-sdk/openocd/configure: line 4533: syntax error near unexpected token `0.23'
/home/scottj/freedom-e-sdk/openocd/configure: line 4533: `PKG_PROG_PKG_CONFIG(0.23)'
Makefile:70: recipe for target '/home/scottj/freedom-e-sdk/toolchain/bin/openocd' failed
make: *** [/home/scottj/freedom-e-sdk/toolchain/bin/openocd] Error 2
... or ...
+ autoconf
configure.ac:12: error: possibly undefined macro: AC_MSG_WARN
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:240: error: possibly undefined macro: AC_MSG_NOTICE
configure.ac:342: error: possibly undefined macro: AC_DEFINE
Makefile:70: recipe for target '/home/scottj/freedom-e-sdk/toolchain/bin/openocd' failed
make: *** [/home/scottj/freedom-e-sdk/toolchain/bin/openocd] Error 1
* Bump OpenOCD to not overwrite SCKDIV when flashing
* Roll back CoreMark
|