Age | Commit message (Collapse) | Author |
|
|
|
I'm hoping this will make everything more likely to align. We can't use
the other mechanism because our loader is lazy and assumes all the
sections are contiguous.
|
|
|
|
Without this I get a message that looks like
Program has exited with code 0x/0000008
which doesn't make any sense. This prints
Progam has exited with code:0x80000008
|
|
Without these alignment directives the sections are only required to be
aligned on word-sized boundries, but we sometimes require double-word
alignment. This allows the linker to sanely emit these sections.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
This improves the instruction stream's spatial locality.
|
|
The symbol may be overridden and end up out of range of JAL.
|
|
|
|
Remove unncessary srst delay when connecting with OpenOCD to HiFive1
|
|
|
|
|
|
|
|
hifive1: Update OpenOCD Config script to optionally allow pulsing SRST
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
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 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
|