ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
16 июля
1529886 Топик полностью
Nikolay_Po (12.07.2025 00:02, просмотров: 86) ответил klen на свежак kgp для мелко-ricsv'ов. хост x86_64-linux-gnu_haswell-avx2. по просьбе мосье Nikolay_Po туда где нужно втащен fence.i. привентивно добавлена поддержка QuingKe V3F/V5F и соответсивенно ch32v415/416/417
Чудо свершилось ложная тревога! В этой сборке стал так и не стал запускаться GDB. В предыдущей он не работал из-за какой-то проблемы с плавающей точкой. Теперь запускается по-прежнему не запускается отладка, хотя сам GDB в системе запускается: 
riscv32-kgp-elf_@_x86_64-kgp-linux-gnu_haswell-avx2/bin$ ./riscv32-kgp-elf-gdb --version
GNU gdb (Klen's_GNU_package_(KGP)_for_target::riscv32-kgp-elf(ilp32/ilp32f/medlow/O2/O3/Os/Ofast/lto)_host::x86_64-kgp-linux-gnu_haswell-avx2<<actinidia>>) 17.0.50.20250711-git
Copyright (C) 2024 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.


Консоль отладки:

For help, type "help".
Type "apropos word" to search for commands related to "word".

Fatal signal: Floating point exception ----- Backtrace ----- 0x520e1e ??? 0x68e8a1 ??? 0xcfba8f ??? 0x7f2aec56ae8b __libc_early_init 0xd6e2ae ??? 0xd668a8 ??? 0xd6d40e ??? 0xd668a8 ??? 0xd6d7b1 ??? 0xd776b9 ??? 0xd668a8 ??? 0xd66958 ??? 0xd77b9d ??? 0xcf24b0 ??? 0xcf1a92 ??? 0xcf1fa8 ??? 0xce7fce ??? 0xce66f5 ??? 0xce62d7 ??? 0x54ca3b ??? 0x575694 ??? 0x94e50f ??? 0x78f249 ??? 0x79a2db ??? 0x785355 ??? 0x68e6fe ??? 0x971e7f ??? 0xade775 ??? 0xaded68 ??? 0x761db9 ??? 0x44ae6c ??? 0xce3b47 ??? 0xce5f5f ??? 0x470af4 ??? --------------------- A fatal error internal to GDB has been detected, further debugging is not possible. GDB will now terminate. This is a bug, please report it. For instructions, see:

Сам же компилятор, однако, не хочет собирать код без уточнения расширений архитектуры. Даже при наличии -mcpu=ch32v317, мало того, что ему по-прежнему для свежих примеров WCH нужно указывать _zifencei, так ещё и ругается на отсуствие _zicsr. И кроме указания -mcpu=ch32v317 (может, у меня тут ошибка и поэтому не срабатывает?), приходится дописывать суффикс к архитектуре в графу "Other extensions" Eclipse: "_zicsr_zifencei". Ожидал, что достаточно будет -mcpu=ch32v317...

Рабочие ключи сейчас такие (из лога Eclipse):


-march=rv32imac_zicsr_zifencei -mabi=ilp32 -mtune=rocket -mcmodel=medlow -msmall-data-limit=8 -msave-restore -mcpu=ch32v317 -Ofast -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -ffreestanding -fsingle-precision-constant -flto=auto -Wunused -Wuninitialized -Wall -g3 -nostartfiles --specs=nano.specs --specs=nosys.specs