Blue Pill STM32F103C8 – 64k vs 128k

SergeyR7
Идет загрузка
Загрузка
23.10.2019
1571
13
печатает на Flyingbear P905
Личные дневники

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.

Отписаться от уведомлений вы всегда сможете в профиле автора.

7

Когда вышла статья про Blue Pill & SSD1306, ну очень маленькие.., но 32 бит!, решил собрать себе платку на Blue Pill STM32F103 для 3D принтера…

Когда вышла статья про Blue Pill & SSD1306, ну очень маленькие.., но 32 бит!, решил собрать себе платку на Blue Pill STM32F103 для 3D принтера…

Поискал у себя и нашёл две Blue Pill на STM32F103C8 – по маркировке это 64к Flash памяти, но пишут, что там может быть все 128к, просто вся память не используется. И за пару вечеров, собрал на макетке новую 32-х битную mainboard для своего принтера, осталось только с прошивкой разобраться - и готово. В статье всё было расписано очень подробно и понятно.

Единственная проблема, была в том, что сборка не собиралась. Автор статьи потом подсказал какую взять сборку, чтобы собиралась. Собрал – влезает в 128к. Осталось прошить и радоваться новой поделке, да не тут то было…

Сначала, Blue Pill определялась оригинальным ST-Link V2, потом не заметил, как платка перестала определяться программатором. То ли прошивку на ST-Link обновил, то ли ещё чего произошло – уже не помню. Blue Pill на STM32F030 нормально прошивалась. Пробовал и китайским клоном ST-Link прошивать – тоже не видит и всё тут. На всякий случай, заказал две Blue Pill новые и на всякий случай, Black Pill STM32F103.

Прошло время – пришла блэкпил. Теперь я знаю, что Black и Blue Pill – не совместимы. У них разное расстояние между рядами пинов и что ещё хуже – пины не совместимы, да ещё и не все выведены на Black Pill. Когда заказывал, этого не заметил. Позже, пришли блюпилы…

Теперь всё есть, осталось прошить. Родной ST-Link платы не видит. Подключаю другую плату с родным STM32 – видит. Что я делаю не так? Квадратные колёса какие-то.

Теперь о главном

Есть тулкит st-util – полезная штука. Там есть st-info, которая показывает, сколько памяти в микроконтроллере (оригинальный STM32F103CB 128к):   

С родным ST-Link V2 прочитать китайские STM32 у меня не получилось, но с китайским клоном ST-Link всё заработало! Проверил все Blue Pill и чёрную тоже – у всех 64к. Тут я понял, что не судьба… Достал оригинальный STM32F103CB, перепаял Blue Pill, и теперь есть 128к. История на этом бы и закончилась, но почему китайские клоны не прошиваются оригинальным программатором? Вот, в чём вопрос.

Одна из причин, это версия прошивки программатора.

Версия прошивки в оригинальном ST-Link V2 была новая V2.J33, а в китайском программаторе V2.J29:

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

Решил прошить Marlin 2.0 в китайский STM32F103C8 через китайский ST-Link. Думал, наверняка должны друг друга понять. И прошить 128к в 64к :)

Результат меня удивил:

Не помню, какой MCU был, когда картинку делал, но смысл в том, что у китайских STM32F103 другой idcode! Теперь понятно, почему оригинальный ST-Link не видел клоны STM32.

Если пояндексить, то можно найти то, что китайский клон CS32F103 с таким idcode. Не STM32, а CS32.

Пошивка клона CS32F103C8

Если прошивать в Visual Source Code, то нужно найти файл с конфигом для STM32F1x серии: 

И поправить в нём idcode на нужный:

Можно было просто сделать новый конфиг для платы с клоном, но я сделал пока так. 

Теперь прошиваем ещё раз:

Почти прошился - на 64к, а остальной памяти нет или не работает… Попробовал все клоны, ни одного со 128к не попалось. 0 из 5.

Только оригинальный STM32F103CB прошивается на 128к. У знакомого, из двух Blue Pill, только одна попалась со 128к клоном STM32.

Интересно, а чем ещё отличается клон CS32F103 от STM32F103?

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.

Отписаться от уведомлений вы всегда сможете в профиле автора.

7
Комментарии к статье

Комментарии

23.10.2019 в 06:23
1

Советую брать вот эту Development Board STM32F401CCU6, у нее памяти еще больше. И не покупайте больше китайский клоны stm32 aka CS32

23.10.2019 в 08:02
0

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

25.10.2019 в 11:37
1

Рекомендую таких китайцев под свякую мелочевку, по цене как ArdNANO, а плюшек на порядок больше (32-бита, DMA, таймеры, ADC 12bit). Можно пилить софт cubeMX или в Arduino Ide.

25.10.2019 в 14:18
0

Рекомендую таких китайцев под свякую мелочевку

Так и есть - на мелочевку они и уходят. В данном случае, хочу в принтер поставить, но не ожидал такого поворота.

Есть ещё одна плюшка, если взять GD32F103 - там почти аналог, только вместо FLASH памяти программ там SRAM и сверху на кристалле приклеен кристалл FLASH памяти, откуда загружается прошивка в SRAM после включения. Это позволило увеличить память программ до 3 Мбайт и нет задержки при выполнении программы во Flash, т.к. она выполняется фактически в SRAM. Ещё это даёт прирост по максимальной частоте - 108 МГц вместо 72 МГц у STM32


25.10.2019 в 14:27
1

Огонь! Нашел на али, закажу потестить! Спасибо за наводку!

25.10.2019 в 14:28
0

Напишите, когда потестите. У меня их нет - пока с ними не работал.

23.10.2019 в 08:24
0

А как обстоят дела с прошивками под нее? уже что-нибудь портированно? 

23.10.2019 в 15:13
1

Сам не пробовал, но то что читал говорит о почти 100% совместимости. Кое какие вещи отличаются, но обыкновенному ардунщику это никогда не понадобится.

23.10.2019 в 06:30
2

Очень интересные изыскания. Надо свои пилюли перепроверить.

23.10.2019 в 11:24
2

Вот теперь тоже интересно, чего валяется в загашнике.

25.10.2019 в 17:50
1

После любой прошивки, скомпилированной Arduino или Platformio под stm32, где включен виртуальный COM порт, эта прошивка (если специально это не включить) отключает SWD.

Поэтому, при прошивке утилитой ST-LINK, нужно нажать connect и сразу нажать на плате сброс.

У меня, не смотря на то, что утилита ST-LINK показывает память 64 килобайта, прекрасно шьется 128.

25.10.2019 в 23:50
0

У меня, не смотря на то, что утилита ST-LINK показывает память 64 килобайта, прекрасно шьется 128

Какие STM32 прошиваются так? Какой у них idcode?

Правильно ли я понял, что st-info показывает, что всего 64к, а прошивается 128к без ошибки при верификации?

26.10.2019 в 21:29
1

Да, все правильно.

Более того, простой тест постраничной записи и чтения флеш памяти показывает, что 128 кб прекрасно пишется и читается.

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

Печать ULTEM (PEI) и материалом PEEK на одном устройстве: новый 3DGence INDUSTRY F420

Причесываем TEVO Little Monster для использования дома.

3D печать пластиком PEEK и ULTEM. Обзор 3D принтера Intamsys Funmat HT от 3Dtool.

DL-44. Видео по сборке и окраске.

ОПАЛУБКА ДЛЯ ЛИТЬЯ – ПРОСТОЙ КОНСТРУКТОР

Моя первая законченная миниатюра :)