Age | Commit message (Collapse) | Author |
|
Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
|
|
- Puts shared flags in scripts/standalone and adds "build configurations"
for debug and release which customize the build flags for specific
purposes.
- Documents CONFIGURATION in Sphinx docs and makefile help
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>
|
|
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.
|