Commit graph

3 commits

Author SHA1 Message Date
e14002270
d60b34c8e2
risc-v: Fix build flags and linker scripts (#906)
1. miss debug info in assembly code
RISC-V-spike-htif_GCC
        LDFLAGS add arch and abi info for linker
            for riscv64-unknown-elf multilib, if there is no arch and abi
            info, will link to default lib and have below error
            target emulation `elf32-littleriscv' does not match `elf64-littleriscv'
        use CFLAGS to replace ASFLAGS when compile assembly code
            because DEBUG flag is added in CFLAGS, if we use ASFLAGS to compile
            assembly code, there is no debug info in assembly code objfile

2. binutils 2.39 ld warn 'has a LOAD segment with RWX permissions'
RISC-V-Qemu-virt_GCC
RISC-V-spike-htif_GCC
RISC-V_RV32_QEMU_VIRT_GCC

3. fix build fail
RISC-V_RV32_QEMU_VIRT_GCC

Signed-off-by: Eric Chan <e14002270@gmail.com>
2023-05-31 11:48:13 -07:00
Tim Newsome
c280f26c1b
Small RISC-V spike demo improvements (#554)
* Put XLEN into .o files.

Makes it easier to work on voth RV32 and RV64 binaries side-by-side.

* Let the debugger disable HTIF use.

* Makefile now links the binary at BASE_ADDRESS

I need this so I can easily generate the appropriate binaries for
riscv-tests/debug. Unfortunately there doesn't seem to be any good
mechanism to externally define values for lds files, so I'm running it
through the C preprocessor.

Co-authored-by: Joseph Julicher <jjulicher@mac.com>
2021-04-08 15:03:10 -07:00
Tim Newsome
3fee3ac61f
Add RISC-V demo for the spike simulator. (#532)
* Add RISC-V demo for the spike simulator.

* Figuring out what the header checker wants.

* Fix more headers.

* Ignore htif.c and htif.h for header checks.

These files are already stamped with BSD-3-Clause, which I'm not allowed
to remove. There are numerous other files with the same license in
FreeRTOS, so I assume this is fine.

* Use proxy syscalls for RV32.

Looks like spike won't be changed to make htif character writes work
propery for RV32.

This is now an even closer copy of the version in opensbi, which is
arguably strictly better.

* Support RV64 builds to use with spike.

OpenOCD does not currently support debugging 64-bit FreeRTOS, but now
that I have a target to test hopefully that will be remedied shortly.

* Tweak rv32 instructions.

This way you can have separate cross-tools installations that can
coexist side by side.

Co-authored-by: Joseph Julicher <jjulicher@mac.com>
2021-04-02 14:17:53 -07:00