K1921ВГ015 Syntacore проблема с float
Модераторы: ea, dav, bkolbov, Alis, pip, _sva_
-
RabidRabbit
- Сообщения: 271
- Зарегистрирован: 10 июн 2025, 12:11
- Предприятие: HomeWork
Re: K1921ВГ015 Syntacore проблема с float
Вот это "Warn : no flash bank found for address 0x4003f000" очень странно, ибо это в принципе примерно область размещения стека и сегмент имеет единственный атрибут ALLOC. Почему оно пытается что-то туда записать, и тем более как во флэш, вообще не понятно.
На счёт "зашивки" elf - по-моему мнению, тот самый "патченный" openocd должен по адресу сам определять регионы памяти, флэш это или ОЗУ.
На счёт "зашивки" hex - после riscv64-unknown-elf-objcopy -i ihex out.elf out.hex там нет отдельных сегментов, как в elf (хотя такая возможность есть), по сути это bin (просто кусок байтов, последовательность сегментов из скрипта компоновщика), только с указанием начального адреса, где этот bin располагать. При сборке для флэша там будет 0x80000000 (или какой там в скрипте компоновщика указан), а при сборке для ОЗУ - соответственно 0x40000000.
На счёт "зашивки" elf - по-моему мнению, тот самый "патченный" openocd должен по адресу сам определять регионы памяти, флэш это или ОЗУ.
На счёт "зашивки" hex - после riscv64-unknown-elf-objcopy -i ihex out.elf out.hex там нет отдельных сегментов, как в elf (хотя такая возможность есть), по сути это bin (просто кусок байтов, последовательность сегментов из скрипта компоновщика), только с указанием начального адреса, где этот bin располагать. При сборке для флэша там будет 0x80000000 (или какой там в скрипте компоновщика указан), а при сборке для ОЗУ - соответственно 0x40000000.
Re: K1921ВГ015 Syntacore проблема с float
Криво-косо, но кажется удалось заставить работать виндовскую сборку клаудбировского GCC. Постепенно заменял в синтакоровской версии файлы, начиная с riscv64-unknown-elf-gcc.exe, до тех пор, пока она не заработала (если просто взять и сходу заменить папку, у меня сыпались странные ошибки). Не сомневаюсь, что, по идее, так делать нельзя, но по крайней мере теперь компилятор кушает заветную опцию «-mfix-cloudbear-0001» и не давится.
Которую я забил в эклипсовском проекте в разделе GNU RISC-V cross C compiler-Miscellaneous-Other compiler flags. Если кто-то желает взглянуть на это чудище, то вот держите https://drive.google.com/file/d/1rJU_e5 ... sp=sharing
-
RabidRabbit
- Сообщения: 271
- Зарегистрирован: 10 июн 2025, 12:11
- Предприятие: HomeWork
Re: K1921ВГ015 Syntacore проблема с float
В итоге Ваш софт собирается, прошивается и работает в любых вариантах (отладка/релиз)?
Re: K1921ВГ015 Syntacore проблема с float
Представляете, да!
Но только, если шью именно elf, а не hex.
-
RabidRabbit
- Сообщения: 271
- Зарегистрирован: 10 июн 2025, 12:11
- Предприятие: HomeWork
Re: K1921ВГ015 Syntacore проблема с float
По-моему достойный результат 
Re: K1921ВГ015 Syntacore проблема с float
у меня прошивка HEX стала работать, когда в параметры конвертора добавил указание сегментов:
Код: Выделить всё
.text.startup
.sdata
.text.crt
.rodata
.srodata
.tdata
.tbss-
RabidRabbit
- Сообщения: 271
- Зарегистрирован: 10 июн 2025, 12:11
- Предприятие: HomeWork
Re: K1921ВГ015 Syntacore проблема с float
Точно ничего не забыли? А что говорит ?
Код: Выделить всё
risc64-unknown-elf-objdump -h out.elf