Pull to refresh

Comments 30

Я тут ковыряя ch32 обнаружил, что их китайская версия клипса под названием MounRiver Studio работает с gd32 (они есть в списке МК для выбора, можно создать пустой проект и подключить в него сдк). Однако я ещё не пробовал в эту сторону идти, gd32f303 программирую в кейле. И ещё один забавный факт: я купил демо плату с gd32e230, там есть программатор, но работает он только с данной серией МК. Так что демо плата как программатор не прокатит

MounRiver Studio работает с gd32 (они есть в списке МК для выбора, можно создать пустой проект и подключить в него сдк)

Все верно, но насколько я понял, там именно поддержка GD32V, это контроллеры на основе ядра RISC-V.

я купил демо плату с gd32e230, там есть программатор, но работает он только с данной серией МК. Так что демо плата как программатор не прокатит

Можете сказать название или дать ссылку на эту отладку? Было бы интересно изучить, а может и улучшить))

Ссылка на отладку

Смотри, что есть на AliExpress! Доска для обучения начального уровня, GD32E230F-START за 3 245 ₽
https://sl.aliexpress.ru/p?key=Q6UwO0W

Но не рекомендую. За эти деньги можно купить там же китайский j-link, штук пять микроконтроллеров и сделать макет. Так как на отладке даже потребление не измерить.

По поводу MounRiver - доберусть до компьютера, соберу мигалку светодиодом и отпишу

Попадалась статья, где этот контроллер "вскрывали". Как я понял, там память стоит вторым ярусом на отдельном кристале. У gd32 с stm условно совместимая программная модель, а так по всей видимости китайцы его сами синтезировали.

Как я понял, там память стоит вторым ярусом на отдельном кристале

Да, и как раз подключена через QSPI. Думаю сделать отдельный эксперимент по работе Flash у GD32 и STM32

Насколько я понял, флеш подключен через QSPI и кешируется куда-то в RAM. Поэтому у них в даташите отдельно указан размер Code Area и плюс есть Data Area. Первая кешируется через RAM, вторая нет.

Для меня самым главным отличием gd32 от stm32 было энергопотребление и максимальный ток одного вывода. Разница прям ощутимо чувствовалась.

Ну и код, написанный и скомпилированный под стмку в stm32 отлично завелся на gd32 вообще без правок ( ничего сложного правда в нем не было: usb, adc, dma да пяток таймеров).

В прошлом году сделал проект для GD32 в EmBitz IDE. Всё работает: и отладка через ST-Link, и регистры можно смотреть, и т.д. И в ОЗУ, и во Flash пишется прямо из IDE.

На процессор есть Errata - некоторые задержки надо править после Cube.

Еще штука - там написано, что ножка, настроенная на вход, имеет напряжение 2.6 Вольта. Вот мы с схемотехником спорили. Он доказывал, что я ее на выход настроил. Пока не показал ему под нос место в документе...

Подскажите, где это - не могу найти

Пока такое нашёл:
https://www.slkoric.com/other-else-63359/55150-55792.html
Позже поищу сам PDF документ об отличиях GD32 от STM32. Сразу не нашелся, но, в любом случае, после выходных спрошу на Элвисе - туда я точно выложил на Git.
Там еще указаны несколько временных задержек, которые надо увеличить, иначе GD32 не может работать.


Я не правильно задал вопрос, прошу прощения. Меня интересует вот этот момент - "ножка, настроенная на вход, имеет напряжение 2.6 Вольта". Что это значит? Что вывод процессора настроенный как "Input floating" все же остается со слабой подтяжкой к питанию?

Именно так, в смысле что с подтяжкой, возможно, не к питанию, а к какому-то делителю. Только конкретно не помню, сколько вольт точно. Мы измеряли. Про это и написано в документе. Еще интересные моменты - вроде, разные области памяти работают с разной скоростью. Заметил однозначно, что если программу отлаживать в RAM (0x20000000 адрес, насколько помню), то в случае программных задержек-циклов будет одни величины. Потом, если записать ее во Flash (0x60000000) то будут другие времена задержек, хотя она оттуда в RAM идет на исполнение.

А почему, собственно, STM32 не использовать? Ковид же кончился, производство ST возобновилось.

Ах да, России же мало чего буржуйского купить можно...

Хм, может нужно в корень проблемы посмотреть?

Хм, может нужно в корень проблемы посмотреть?

Рассматривался вариант использования микроконтроллеров от Миландр. Однако теперь их купить крайне сложно и стоят они слишком дорого.

Сейчас вот ждём выхода на продажу физическим лицам МК АМУР32 на RISC-V от Микрон

Года три ждём, когда можно будет купить отечественные мк. Их то и до ковида не просто было достать.

идёт только заводам, да и то там постоянно срывы поставок по срокам происходят. проще с нииэт штучные процессоры согласовать ;)

Прежде, чем купить напрямую в Воронеже чип, ещё надо кучу проверок пройти, включая фсб

Если заказывать у китайцев платы, они вам на нее любой STM поставят.

Ежели речь про госзаказовские проекты, то это будет лотерея. Заказчик может не разрешить STM32 (а ведь проект уже готов), а через неделю разрешить, а через три недели запретить, а через два месяца разрешить... И вот так уже полтора года. Кстати, с GD32, GE32, SOMETHING32 ровно всё то же самое. В один день они требуют срочно пересадить всех на условные Миландр, потом осознают, что Миландра нет, разрешают юзать китайцев, потом запрещают китайцев, но некоторым разрешают аж STM32, потом по кругу.

А в чём был смысл этого, простите за мой французский, высера? Предлагаете автору идти свергать правительство?

Нет, что вы, зачем же вы совершаете такое жёсткое мыслепреступление!

Просто часто на хабре я вижу серьезные инженерные статьи и в которых авторы и комментаторы лезут далеко в глубь проблемы (про те же обходы блокировок), переворачивают горы, делают реально сложные научные изыскания, но корень то проблемы не в этом. Как инженеру это все очень интересно читать, но как члену общества на это смотреть очень жалко, неприятно что ли. Что делать - не знаю. Но не делать ничего однозначно нельзя!

Щупал вот версию GD32V под RISC-V, как по мне, она более интересная, так как на более открытой и современной процессорной архитектуре. В этом смысле ещё esp32s3 прикольный.

Но опять же, в моем случае это было просто на поиграться, но штуки типа таймеров, dma, spi, wifi, работали более менее хорошо.

Щупал вот версию GD32V под RISC-V, как по мне, она более интересная, так как на более открытой и современной процессорной архитектуре.

Вы совершенно правы. Ко мне скоро приедет этот контроллер, как разберусь с ним тоже выпущу статью.

Однако цель именно данной публикации в знакомстве с GD32F, так как они сейчас сильно дешевле и в целом являются хорошей альтернативой STM32

В некоторых библиотеках для GD32 есть странные дефайны "bool Bool", или типа того, которые ломают сборку. Приходится править это прямо в библиотеке.

Ещё у Gigadevice есть серии контроллеров, проекты под которые у нас вообще не собирались в Кейле, вот прямо совсем. Причём, условно говоря, GD32E103C8 собирается, а GD32E103RB нет. Модели взял просто для примера, у нас с E103 всё хорошо.

Какой-то из контроллеров не заводился на максимальной заявленной частоте 120 МГц, только на 72 МГц. В библиотеке была ошибка в настройке RCU.

Короче, косяки у них есть, не без этого. Но другие нам показались ещё хуже, например Geehy.

p.s. В последний день перед НГ поигрался с отладочной платой F450 и воспроизвёл старинный эффект шариков из Shock Megademo со Спектрума. При этом на какое-то время сломал мозг более младшим программистам. Было интересно наблюдать, как они пытались понять в чём загадка.

В некоторых библиотеках для GD32 есть странные дефайны "bool Bool", или типа того, которые ломают сборку. Приходится править это прямо в библиотеке.

Увы, у наш Китайских коллег куча проблем с этим) Не только по этой, но и из-за неё в частности, было принято решение о написании ряда подобных статей. Контроллеры хорошие, но есть проблемы при работе с ними (особенно у новичков).

p.s. В последний день перед НГ поигрался с отладочной платой F450 и воспроизвёл старинный эффект шариков из Shock Megademo со Спектрума. При этом на какое-то время сломал мозг более младшим программистам. Было интересно наблюдать, как они пытались понять в чём загадка.

Красивое :-)

А вот чем "подготовка среды" под китайца отличается от тех же stm32? И зачем вообще использовать Keil, когда есть Visual Studio?

Приятно увидеть хорошее замечание. В целом серьезных отличий мало. В основном проблема в малом количестве уроков по этим контроллерам, а при работе с ними есть специфика (опять же проблема с документацией и библиотеками).

Касательно Visual studio. Эта среда под embedded мне не очень нравится, возможно дело привычки. Всегда использовал Eclipse CDT for Embedded (важный момент для меня это кросс-платформ)

С библиотеками проблем не заметил особых, для этих МК они есть под всю периферию. Причем, как по мне, в плане самого кода сделаны куда лучше чем HAL/SPL от STM.

 Эта среда под embedded мне не очень нравится

А мне наоборот зашла очень хорошо, особенно после работы в Keil. Я там и с ESP32, и с GD32/STM32 работаю. Эклипс раньше тоже использовал, но достали постоянные танцы с бубном на винде, начиная с 8 версии. То права доступа, то еще какая-то лабуда. В итоге сначала ушел на Кеил, а потом на Вижуал.

В свое время заказал за косарь кипу программаторов WCH-LinkE (3 штуки). Они умеют в ARM и RISC-V режимах работать. GD32F427ZGT6 прекрасно шьется и отлаживается WCH-LinkE в режиме ARM (CMSIS-DAP)

Sign up to leave a comment.

Articles