Age | Commit message (Collapse) | Author |
|
Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
|
|
Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
|
|
Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
|
|
Don't include .git* files in the copied metal sources.
Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
|
|
Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
|
|
Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
|
|
Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
|
|
Remove 'echo Done', no longer needed.
|
|
Finding OpenOCD with RISCV_OPENOCD_PATH got accidentally dropped with
the split to the standalone Makefile. Put it back.
Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
|
|
|
|
|
|
|
|
|
|
To support users without automake/autoconf/m4, disable maintainer mode
during the Freedom Metal build to make sure that the autoconf scripts
don't try to run automatically.
Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
|
|
Make targets `list-boards` and `list-programs` will enumerate the
available boards and programs for use with Freedom Metal
Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
|
|
Add documentation to README and `make help`
Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
|
|
Split out board init, toolchain setup, and program build into
scripts/standalone.mk which can be included in the top-level Makefile to
allow in-SDK builds or be exported and used on its own.
Create a `standalone` Make target which copies and example, the built
Freedom Metal library, and the standalone Makefile into an external
project.
Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
|
|
Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
|
|
|
|
The README states that OpenOCD should be pointed to by
RISCV_OPENOCD_PATH, not RISCV_PATH. Fix the makefile to look in the
right place.
Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
|
|
Set the code model to medium-any to fix build errors on 64-bit targets.
Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
|
|
Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
|
|
Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
|
|
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
|
|
This just calls elf2hex on the compiled elf files, producing a hex file
that can be fed into RTL simulation.
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
|
|
Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
|
|
This allows users to select a different cross complier than the default
'riscv64-unknown-elf'.
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
|
|
|
|
|
|
Update Makefile with more user-friendly clean options
|
|
|
|
1) Change target 'clean' to refer to 'software_clean' rather than 'toolchain-clean' and 'openocd-clean'.
2) Update Makefile help to reflect changes.
|
|
Everything still defaults to the flash, but users can optionally select
the scratchpad. Note that you have to be pretty careful about your
scratchpad programs, most of them won't fit. For example, printf is too
big to fit in the scratchpad.
|
|
Dead script
|
|
|
|
Without these, "software_clean" doesn't know where to remove init.o,
which means init.o isn't being rebuilt when moving between programs.
Since we turn on and off init features, this causes programs to break.
|
|
|
|
|
|
|
|
|
|
|
|
already existing 'uninstall' target to remove and reinstall tools.
|
|
|
|
Benchmarking
|
|
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.
|
|
|
|
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 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
|