Как стать автором
Обновить

Комментарии 18

Могу ошибаться, но всегда казалось, что гигидевайсы это практически полные клоны стм-ов. Для их прошивки через openocd рекомендуют использовать сценарии от стм-ок, что как бы намекает.
К этому не очень скромному гигадевайсу нет SDK

Беглый поиск по сайту производителя выдаёт библиотеки, примеры и шаблон для keil/iar. Ссылка.
Предположу, что замена платы была излишней, возможно всё бы решилось компиляцией прошивки под данный мк.

Прошивки, скомпилированные под STM, и так работают на GD процессорах, как я и пишу в статье выше - вот только на нашей матплате периферия не подключается (CR Touch). Причем, пользователи купленных давно Ender 3 v2 прекрасно подключают CR Touch, а вот к купленным в последние месяцы принтерам это сделать не удается, есть несколько декабрьских багрепортов на эту тему. Маркировка процессора на матплатах совпадает, версия матплаты совпадает, но разводка платы отличается, процессоры внешне порой отличаются, порой нет. Прошивка от производителя принтера закрыта, на сайте производителя процессора все что есть - показывает полную совместимость с STM. Вероятно, нам достался модифицированный и не документированный вариант, не полностью совместимый с STM. Об этом и рассказываю - то, что раньше эндер 3 с процессором GD был как бы опенсорс девайсом (как бы - потому что производитель код прошивки не публикует, хотя и обязан, поскольку использует код marlin, но есть открытые прошивки), то сейчас это не так и установить открытую прошивку не получится, если хочется подключить датчик уровня CR Touch (возможно, и другие сенсоры тоже не работают, мы не проверяли). А «звоночком» служит и то, что производитель принтера начал отдельные прошивки для GD версии выкладывать - до этого можно было просто ставить STM версию прошивки на все матплаты… но об этом мы узнали только после покупки и попыток обновить прошивку. Все это вовсе не то, что мы ожидали - планировали просто купить принтер и установить открытую прошивку.

Если верить картинкам из статьи, то 4.2.2 303ий мк, а на 4.2.7 103ий мк. И прошивки между ними по идеи не совместимы. А ещё могут быть отличия по схемотехнике, хотя когда есть рабочая плата, то проверить разводку и обвязку двух датчиков не большой сложности задача. А вот собрать marlin под gd-шку с рабочей конфигурацией всех необходимых датчиков для не подготовленного человека может быть не столь простой задачей. Хотя пара хороших примеров и даже это вполне достижимая цель.

Есть открытые прошивки для обоих вариантов STM, платы 4.2.2 и 4.2.7 поддерживаются. Когда на одной и той же плате прошивка от производителя сенсор видит, а открытая прошивка не видит, то все становится очень интересно. Рабочую частоту процессора и тайминги разработчики опен сорс прошивок уже пробовали менять, не помогает. Можно, конечно, логическим анализатором посмотреть для начала, но анализатора под рукой нет и позаимствовать в Таиланде не у кого… да и это совсем не то, чем мы планировали заниматься, покупая принтер :)

Когда на одной и той же плате прошивка от производителя сенсор видит, а открытая прошивка не видит, то

сенсор исправен и работает. А значит остаётся только понять, что нужно поправить в прошивке) Предварительно проверив плату на схематехническую совместимость.
Как по мне, запустить сенсор на плате, на которой ни у кого не работает это действительно интересно. Или даже если не запустить, то объяснить в чём проблема. Тем более, что принтер уже работает, а плата возможно всё ещё лежит без дела и готова для экспериментов)

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

В статье 2021 года говорится, что у GD32F103 флэш-память — на отдельном кристалле, в отличие от STM32, и тайминги её отличаются. Это может вызвать проблемы если критичные к точности задержки реализованы не на таймерах, а при помощи циклов. Также, отличается и настройка таймингов флэш-памяти. На Хабре писали и о других проблемах совместимости.

Вы правы, и спасибо за ссылку! Самое интересное в том, что с одной и той же прошивкой у части пользователей матплата с процессором GD работает с периферией, а у других - нет. Разводка матплат отличается, что уже наводит на мысли - никто не делает это просто так для готового и работающего продукта. Насчет процессора тоже сомнения возникают, а идентичен ли он, хотя маркировка и совпадает.

Из-за отличающейся настройки таймингов флэш-памяти программа, написанная для STM32F103 на GD32F103 может работать с таймингами по умолчанию, которые на высоких частотах могут быть короче рекомендуемых даташитом, об укороченных таймингах говорится в статье по первой ссылке. Возможно, из-за этого некоторые экземпляры работают (в разгоне по таймингам флэша), а некоторые — нет.

Да, тоже вариант, что проблема именно с отдельными экземплярами...

Интересно, а в STM'ках они включили защиту от считывания? Если нет, можно считать содержимое всей flash(что бы получить бутлоадер), потом на кривой плате перепаять GD'шку на STM'ку и зашить считанное содержимое. Возможно заработает. Должно выйти дешевле чем менять плату целиком.

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

Прошивки открытые есть, так что ничего дампать не надо

Разве Marlin содержит в себе бутлоадер что бы обновляться с MicroSD?

но заработает ли плата после перепайки чипа (что не очень-то просто сделать в домашних условиях) неизвестно

Плата такая же как и под STM - с чего бы не заработать? Переваять просто если хорошие инструменты есть - случаем феном старый МК и жалом 2BCM запаиваем новый. Не жалеем безотмывочного флюса из шприца.

требовать замены или частичного рефанда

Это вам повезло что у продавца было указано STM32 на картинке. А сейчас продавец все это уберет и шиш а не рефанд новым покупателям будет. У меня был случай когда в заголовке лота было указано что щупы для мультимедиа силиконовые, а когда пришли оказались ПВХ. Открыл спор, но в описании оказалось где-то спрятано что "Материал: ПВХ". И алиэкспресс мой спор отклонил. А учитывая что эти GD'шки(скорее говнешки) ставят даже в принтеры продающиеся даже в США, то скажу что вам просто повезло со спором.

Так бутлоадер открытый используется, а к ender 3 он вовсе не установлен :) от производителя принтера тут нам ничего не нужно.

Если плата не работает полноценно - там какие угодно дефекты могут быть. Нет никаких гарантий, что проблемы вообще с процессором связаны. Годы будете сидеть и искать микроразрывы дорожек на энном слое…

У продавца не было указано, какой процессор. Я доказывал поддержке, что прошивки от производителя принтера не работают, как полагается - сенсор выравнивания от того же производителя не работает, в частности. Если проданный мне принтер не соответствует заявленному производителем, это проблема продавца. В итоге, получил частичный рефанд за принтер на замену платы и полный за сенсор выравнивания - потому что проверить, что именно не работает, было невозможно. Все это в статье подробно описано. Какое уж тут «везение», когда от одного продавца куплены два девайса для совместной работы одного производителя (сам принтер и сенсор уровня), взята прошивка для этого принтера и сенсора уровня с сайта производителя - и сенсор не работает и даже не доступен для отладочных команд.

В итоге, получил частичный рефанд за принтер на замену платы и полный за сенсор выравнивания - потому что проверить, что именно не работает, было невозможно.

Продавец мог бы согласится на полный возврат при условии возврата товара. А зачастую на алиэкспресс указано что обратную отправку оплачивает покупатель. Отправка большой и тяжёлой коробки могла бы выйти столько, сколько стоило бы самому купить новую плату. В общем ступил продавец.

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

Что-то вы меня отвлекли. Ваша проблема в том, что вы сфокуссировались на узком сегменте:

  • Человек должен быть в теме и знать что бывают платы на GD32 и STM32

  • Человек должен купить принтер на алиэкспресс который позволяет открыть спор и частично вернуть деньги

Во всех остальных случаях это не работает. Например купил человек на али, попечатал немного, срок защиты вышел, тут он решил перепрошиться и узнал что у него GDшка. Или удачи вернуть принтер в магазин в СНГ. В США/Европе вернуть можно без проблем, но опять же - это вернуть, а возвращать "я не хотел и не хочу - печатает отлично".

Во всех этих случаях альтернатива только одна - выкинуть штатную плату и купить другую. Можно от Creality(но лучше не надо - я подозреваю это их план: продать принтер с GDшкой, а потом ещё продать плату с STMкой), можно SKR Mini E3. Перепайка чипа могла бы быть вполне жизнеспособной альтернативой - это дешевле чем покупать новую плату.

Кстати, я пытался подключится ST-Link'ом - ничего не вышло. Похоже оно отключено, надо попробовать скомпилировать прошивку с включенным SWD.

Так я о том статью и написал, чтобы познакомить с ситуацией всех интересующихся :) проще всего было бы сразу при покупке принтера заказать и плату на замену и не заморачиваться с вот этим всем - но откуда было об этом узнать, хотя я и видел на алиэкспресс такие лоты (принтер плюс матплата фактически бесплатно), пояснений нигде не было, зачем это вообще может понадобиться (просто указано, что более новая версия матплаты, но разницы между ними практически нет). Если знать заранее, что замена матплаты может понадобиться, достаточно взять такой набор и вопрос решен. Аналогично на Амазон или где там еще покупаете. Идея с перепайкой чипа на не работающей по неведомой причине матплате, которая, судя по ее виду, при самом аккуратном нагреве феном почти наверняка вспучится и почернеет (разрывая дорожки внутри и отслаивая снаружи) - ну очень на любителя (это вам не аккумулятор перепаять в стареньком айподе от эппл, тоже надо паять и аккуратно, но ничего не вспучивается и не разваливается). Кстати, матплата от производителя вполне ничего, не то что оригинальный же набор со второй вертикальной осью - такой же кривой, как и штатная :)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий