RISC-V CH32V как замена стм32

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
tonyk
Это не хвост, это антенна
Сообщения: 1309
Зарегистрирован: Вт ноя 19, 2019 06:10:18

Re: RISC-V CH32V как замена стм32

Сообщение tonyk »

veso74 писал(а):Что делает это?
Asmodey писал(а):Я так понимаю...
А, может, просто открыть мурзилку и почитать? Или без роликов с ТыТруба ничего осилить не можем?
https://gcc.gnu.org/onlinedocs/gcc/Func ... butes.html
Тема атрибутов тнсно связана со скриптами линковщика, так что запасайтесь чаем-кофе и читайте.
Аватара пользователя
Asmodey
Друг Кота
Сообщения: 6149
Зарегистрирован: Сб янв 28, 2006 22:47:24

Re: RISC-V CH32V как замена стм32

Сообщение Asmodey »

tonyk, а не проще было так: "я не знаю, поэтому напишу про кофе"?
Астролябия-сама меряет, было бы что мерять!!!
veso74
Поставщик валерьянки для Кота
Сообщения: 1905
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: RISC-V CH32V как замена стм32

Сообщение veso74 »

Получил сегодня CH32V305FBP6.
Сюрприз :) (отрицательный). ADC: Chanells: 2, Units: 1? (ADC_IN2/ADC_IN5 на пин 2)

В остальном: портировал почти свои программные коды для интерфейсы и к почти все используемые вн. устройства с других МК. В MounRiver Studio компактный прогр. код, быстрая компиляция, быстрая запись с программатора, надежная работа МК уже несколько недель наблюдения. CH32V/F нравятся.
sharpey
Родился
Сообщения: 16
Зарегистрирован: Ср мар 08, 2017 19:33:38

Re: RISC-V CH32V как замена стм32

Сообщение sharpey »

[uquote="veso74",url="/forum/viewtopic.php?p=4619913#p4619913"]Есть еще "волшебные" функции/атрибуты, но можно ли без них :). Что делает это?

Код: Выделить всё

void SysTick_Handler(void) __attribute__((interrupt("WCH-Interrupt-fast")));
[/uquote]Если обратиться к руководству "QingKeV2 Microprocessor Manual V1.2" (а именно архитектура QingKe V2A используется согласно технической документации на МК серии CH32V003), то на странице 15 в подразделе "3.4 Hardware Prologue/Epilogue (HPE)" написано, что при возникновении прерывания аппаратно всего за один такт исполнения сохраняются 10 регистров в аппаратном стеке, а на выходе из обработчика прерывания сохранённые 10 регистров аппаратно восстанавливаются, также за один такт. Поддерживаются до двух вложенных уровней прерываний. Для архитектур QingKeV3 и QingKeV4 сохраняются уже 16 регистров.
Таким образом компилятор понимает, что ему не надо генерировать пролог и эпилог функции для сохранения значения регистров, которые будут задействованы в функции обработки прерывания. За счёт этого снижается объём кода, вырастает скорость обработки прерывания. GCC должен быть с соответствующей "заплаткой" для использования такого режима.
Аватара пользователя
JackSmith
Потрогал лапой паяльник
Сообщения: 332
Зарегистрирован: Ср мар 09, 2016 08:07:41

Re: RISC-V CH32V как замена стм32

Сообщение JackSmith »

-march=rv32ecxw
кто знает что такое XW расширение?
ps все, разобрался.
Ответить

Вернуться в «Разные вопросы по МК»