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

Как Перепрошить Пастильду

Время на прочтение8 мин
Количество просмотров3.3K
Всего голосов 5: ↑5 и ↓0+3
Комментарии19

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

Непонятно, что экзотического в шаге 1,27мм? Вроде стандарт...
На прошлой работе в командировке видел, как такие вилки запаивали с помощью газовой турбо зажигалки.

Для разъёмов 1,27мм нет покупных перемычек на 2,54мм.
Шлейф приходится делать самому из непонятно чего.

На AliExpress всё есть :-)

Другой вопрос, что ждать оттуда доставки замучаешься, а теперь я вообще не могу понять, каким образом можно ускорить эту самую доставку — раньше можно было при необходимости выбрать вместо непонятного метода по умолчанию AliExpress Standard Shipping, заплатив за него, а теперь в новом интерфейсе такой возможности нет вообще. Или вот для этого товара доступна доставка в пункт выдачи, и там среди прочего есть доставка в Пятёрочку — но почему-то для выбора доступны далеко не все их точки (насколько я понимаю, это происходит, если тип доставки AliExpress Saver Shipping, но переключиться на Standard, где можно выбрать нужную мне Пятёрочку, нет возможности). Не знаю, получится ли при таком способе заказать доставку в какую-нибудь Пятёрочку из доступных для выбора, а потом через приложение 5Post переадресовать доставку в другую (вроде бы такая услуга там есть).

Это не то. Тут 3 пина в ряд.
Надо 4 пина в ряд.

Там вообще-то куча вариантов (правда, все 2-рядные — один ряд будет просто висеть в воздухе).

Ну и вариант с заказом через AliExpress Saver Shipping в какую попало «Пятёрочку», а потом переадресацией в нужную, похоже, таки работает (как раз только что пришло оповещение о доставке заказа). Правда, некоторые продавцы таки ухитряются при таком заказе написать «извините, у нас не получилось» и отправить посылку через почту.

Ситуация еще хуже.
На Пастильде шаг разъема X4 на самом деле ровно 2 мм!
Это самый снобский шаг между пинами, который только можно сделать во всей электронике.

То есть ровно точно так же, как и любой другой микроконтроллер STM32?

С STM32 на самом деле проще всего работать.

Вот TI сложнее. Там, например, настройки кварца хранятся в Flash памяти.
Прописал неправильный бинарный конфиг и прошивка не стартует при пере сбросе питания. При этом пошаговая отладка работает.

STM32 это начальный базовый уровень для абсолютных beginner(ов). Для STM32 можно написать прошивку даже сидя в боксерских перчатках.


Современные же сложные проекты делают на многоядерных микроконтроллерах с PowerPC внутри. Или на nRFx, TI.



AVR-ы передают привет. И по количеству телодвижений для микроконтроллерного «Привет, Мир!» (мигающий светодиод), и по количеству разнообразных доступных программаторов, и по корпусам, которые можно тупо в макетку воткнуть, и по разнообразию срез разработки, которые просто сразу берут и работают, не требуя вообще никакой настройки…
Впрочем, речь не об том. Пастильда из статьи основана на STM32 и не имеет каких-то особенностей по сравнению с любым другим микроконтроллером STM32. Те же потенциальные проблемы, те же способы, те же программы. Акцент именно на пастильду не нужен.
SWDIO и SWCLK идут параллельно в шлейфе к ST-Link'у?

70% пути да. Затем еще 5см нет так как перемычки.

Им нельзя быть рядом, между ними должен быть провод с землёй, или хотя бы растащить их подальше друг от друга.

С пином PA9 там печальная ситуация, описанная в блоге разработчика на Хабре — разработчик железа понадеялся на надпись “5V Tolerant” в даташите и подключил PA9 напрямую к VBUS, не прочитав полностью AN4879 и упомянутую там статью Management of VBUS sensing for USB device design (на самом деле там нужен был делитель напряжения, либо, поскольку встроенного источника питания в устройстве нет, можно было не подключать этот пин вообще, а вместо этого отключить определение наличия VBUS при настройке контроллера USB). Из-за этого даже использование встроенного загрузчика STM32F405 (который можно было бы активировать замыканием площадок BOOT0 и 3.3V, специально для этого выведенных на другой край платы, и не заниматься описанной вознёй с SWD) чревато выгоранием чипа (во вторичном загрузчике и оригинальной прошивке там поставлен костыль в виде настройки PA9 на вход, но во встроенном загрузчике этот пин используется как выход USART1_TX, и с этим уже ничего не сделать).

Я перегрыз pin42 (Vbat) PA9. Однако это окирпичивание Пастильды не решило. Подаешь питание на Пастильду и прошивка не запускается. RST пин при этом OK (в 3,2V)
Пошаговая отладка работает. Первичный загрузчик работает (если только записать его на чисты чип STM32).
Если прошить *.hex вторичного загрузчика после первичного, то прошившись, вторичный загрузчик запускается, но после пере сброса питания первичный загрузчик не запускается. И Пастильда устройство становится тыквой. Тут даже USB еще не инициировалось. Всё виснет на этапе загрузчиков.

А бит NOVBUSSENS в регистре OTG_FS_GCCFG где-то ставится? Вообще не вижу в исходниках прошивки, где там что-либо делается с регистром GCCFG именно для OTG_FS (для OTG_HS, который работает в режиме хоста, это делается в emb/src/libusbhost/libusbhost/usbh_lld_stm32f4.c). Возможно, прошивка рассчитывает на то, что этот регистр будет устанавливаться в загрузчике, но исходники загрузчика там неполные (для его сборки предлагается использовать какую-то неведомую EmBitz IDE, возможно, библиотеки для работы с USB берутся оттуда).

Вот в https://github.com/feaser/openblt есть несколько реализаций функции UsbInit(), а в репозитории https://bitbucket.org/thirdpin_team/pastilda/ я её не нашёл ни в нём самом, ни в каком-либо из субмодулей. Каким образом этот исходник в таком случае должен собираться — непонятно.

Поискал, что же такое EmBitz IDE — там всё печально:

Как некоторые уже вероятно успели заметить, сайт сей чудной проги из России больше не открывается, а сама прога падает при запуске на русской локали (и, судя по коду, на китайской). Я бы задумался, стоит ли пользоваться программой, автор которой может чуть что подложить в нее подлянку.

Да, разработчики Пастильды r1.1 забыли поставить делитель напряжения на (PA9)VBus. Поэтому и не работает.

подключить логический анализатор Seleae к шине SWD и посмотреть на какой фазе пропадает SWD Link. И вдруг неожиданный образом появился стабильный SWD Link! Даже на максимальной битовой скорости в 4MHz. Причем сам логический анализатор можно даже не подключать к USB V3. и достаточно насадить щуп только на провод SWCLK и GND

входы китайского Seleae (основе чипа CY-что-то там) если не ошибаюсь - не плохо так подтянуты к питанию, у меня через них даже что то запускалось :)

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

Публикации