Несогласованный пик доступа к инструкциям pk hello

Я получаю исключение «Несогласованный доступ к инструкциям» при тестировании моей инструментальной цепочки RISC-V. Содержимое hello.c соответствует примеру, приведенному в файле README.

Кто-нибудь сталкивался с этой проблемой?

$ riscv-gcc -o hello hello.c

$ spike pk hello
z  0000000000000000 ra 0000000000000000 sp 0000000000000000 gp 0000000000000000
tp 0000000000000000 t0 0000000000000000 t1 0000000000000017 t2 0000000000003514
s0 0000000000000000 s1 000000007f800000 a0 0000000000000000 a1 0000000000000032
a2 ffffffffffffffff a3 0000000080000000 a4 000000007f800000 a5 00000000000037c0
a6 0000000000000017 a7 0000000000003514 s2 0000000000000000 s3 0000000000000000
s4 0000000000000000 s5 0000000000000000 s6 0000000000000000 s7 0000000000000000
s8 0000000000000000 s9 000000000000d028 sA 0000000000800000 sB 0000000000800000
t3 00000000ff800000 t4 0000000000000000 t5 000000007f800000 t6 0000000000003f3c
sr 0000000000000000 pc 00000000ff800000 va 0000000000000000 insn       00000000
Misaligned instruction access!

person edc    schedule 31.12.2014    source источник


Ответы (2)


В суперпозитории riscv-tools была сделана ошибочная фиксация, которая неверно указала на новую фиксацию подмодуля riscv-pk, которая содержит несовместимое соглашение о вызовах.

Ваша проблема должна быть решена сейчас (https://github.com/ucb-bar/riscv-pk/issues/6).

person Chris    schedule 03.01.2015

Тао Дж отвечает на этот вопрос:

http://tao-j.com/2014/12/risc-v-iii-build-tool-sets-and-linux/

Цитата:

Фиксация riscv-tools, которую использовал rocket-chip, проверена и действительна. Последняя фиксация riscv-tools может быть сломана. Поэтому не рекомендуется клонировать riscv-tools отдельно. Пожалуйста, используйте репозиторий, включенный в rocket-chip, который указывает на правильную фиксацию.

person edc    schedule 01.01.2015