пришло это чудо, маркировка на чипе CH32F103C8T6
ST-Link Untility видит так
Arduino IDE прошил без проблем
Спойлер
/*
Blink without delay
Turns on and off the built-in light emitting diode (LED), without
using the delay() function. This means that other code can run at
the same time without being interrupted by the LED code.
created 2005
by David A. Mellis
modified 17 Jun 2009
by Tom Igoe
modified for Maple 27 May 2011
by Marti Bolivar
*/
// Variables:
int previousMillis = 0; // will store the last time the LED was updated
int interval = 100; // interval at which to blink (in milliseconds)
void setup() {
// Set up the built-in LED pin as output:
pinMode(PC13, OUTPUT);
}
void loop() {
// Check to see if it's time to blink the LED; that is, if the
// difference between the current time and last time we blinked
// the LED is bigger than the interval at which we want to blink
// the LED.
if (millis() - previousMillis > interval) {
// Save the last time you blinked the LED
previousMillis = millis();
// If the LED is off, turn it on, and vice-versa:
digitalWrite(PC13,!digitalRead(PC13));// Turn the LED from off to on, or on to off
}
}
/*Скетч использует 14204 байт (21%) памяти устройства. Всего доступно 65536 байт.
Глобальные переменные используют 2072 байт (10%) динамической памяти, оставляя 18408 байт для локальных переменных. Максимум: 20480 байт.
STM32 ST-LINK CLI v3.3.0.0
STM32 ST-LINK Command Line Interface
ST-LINK SN: 10002300170000434335504E
ST-LINK Firmware version: V2J40S7 (Need Update)
Connected via SWD.
SWD Frequency = 4000K.
Target voltage = 3.3 V
Connection mode: Normal
Reset mode: Software reset
Device ID: 0x410
Device flash Size: 64 Kbytes
Device family: STM32F10xx Medium-density
Loading file...
Flash Programming:
File : W:\TEMP\arduino_build_728802\BlinkSTMf103WithoutDelay.ino.bin
Address : 0x08000000
Memory programming...
0%��������������������������� 54%����������������������� 100%
Memory programmed in 20s and 671ms.
Programming Complete.
MCU Reset.
Application started.*/
А вот STM32 Cube IDE не хочет, надо отключать проверку вендора
Error in final launch sequence:
Failed to start GDB server
Failed to start GDB server
Error in initializing ST-LINK device.
Reason: (18) Could not verify ST device! Abort connection.
Через ST-Link utility можно это сделать? Как? Через Ардуино ИДЕ максимум 128кб могу писать…
Но мне кажется, что это уже дополнительная проверка… Потому что по адресу 0x0803FFF0 читаются FF, а вот уже на адресе 0x08040000 утилита ругается, что не может прочитать…
Я не знаю как это сделать в ST-Link Utility, поэтому я сделал так:
Последняя “читаемая из мк” строка идет с адресом 0x0803FFF0. В ней три столбца (0/4/8/C), в каждом столбце по восемь “F” (FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF). Меняю в любом столбце F на, к примеру, 7 и нажимаю энтер. Утилита на секунду открывает окно Programming… и закрывает его.
Жму Target->Disconnect и сразу же Target->Connect - записанные значения на месте.
Делаю вывод, что память не только читается, но и прекрасно пишется.
Видимо, так как по адресу 0x08040000 ошибка чтения, значит это “камешки” с отбраковки по объему flash ??? Или и не должен читаться тот адрес?
Что-то сразу не сообразил имеющийся на 64кб проверить на последний адрес…
Надо будет попробовать.
То есть я просто пишу в строке с адресом 0x0803FFF0 в столбец 0 (ноль) вместо FFFFFFFF, например, 12345678 и такой записи в том же столбце не должно быть в строках с адресами 0x0800FFF0, 0x0801FFF0 и 0x0802FFF0.
Правильно понял?
Разбирался для себя с разнообразием драйверов ШД на базе тринамиковского чипа TMC2209, надеюсь что кому-то тоже эта информация окажется полезной.
Все описанные ниже вариации я, конечно, не испытывал, имею драйвера TMC2209 v1.2 от BigTreeTech и они мне очень нравятся тем, что практически не греются c двигателями на 1.7A. Ранее мучался и с A4988 и с DRV8825, у которых через 5 минут работы от нагрева начинали радиаторы отклеиваться.
Итак, если на Aliexpress поиском отобрать драйверы на TMC2209, то можно увидеть разноцветные варианты разнообразных версий в разную цену. Основную массу товаров создают три производителя:
BigTreeTech. Черные платы и красные пинхидеры, 550р/модуль;
MKS. Черные платы и зеленые пинхидеры, 450р/модуль;
FYSETC. Белые платы, 300р/модуль;
По “версиям” плат расклад такой:
BigTreeTech,
Между собой различаются размерами площадки для теплоотвода; размером микростепа, который можно выставить при помощи входов MS1/MS2
Ещё попадается TwoTrees v1.2/v2.0 - черные платы и красные пинхидеры. По виду нижней части очень похожи на MKS, по окрасу на BigTreeTech, быстрогуглинг на сайт производителя не вывел, так что чем между собой отличаются - непонятно, цена 300р/модуль.
Попробовал я записать в ячейку памяти и посмотреть - нет ли где дублей?. Дублей не было.
Дай думаю - все 256кб (ну или просто по максимуму) FLASH заполню.
Генерирую массив (по виду arr100k, только где-то на 240кб он у меня получился).
Загружать - а оно не лезет, даже компилироваться отказывается.
Немного посмотрев даташиты и почесав лысину - для компиляции выбрал не STM32F103C series, а STM32F103R series.
А что? 64кб ОЗУ, 512кб flash - точно влезет!!! )))
И оно влезло, и светодиод на PC13 весело за моргал (я уменьшил время задержки до 200мс)… Открыл в ST-Link Utility - все “как доктор прописал”.
Потом я открыл boards.txt и (взяв за основу R-серию) сделал в меню APM32F103CCT6/T7 (fake STM32F103C8/CBT6) (64 kb RAM / 256kb FLASH).
Да нет ни какой 100% уверенности, эти данные (64kb RAM / 256kb FLASH) взяты из даташита на контроллер APM32F103 series и столько же ОЗУ определяет ST-Link Utility.
А как-то проверить объем RAM возможно (с учетом, что у меня нет serial монитора)?
К примеру подключить 4 светодиода. Если RAM меньше 6кб - горит 1, если от 6 до 20кб - горят 2, если от 20 до 48кб - горят три, если больше 48кб - горят все 4, а если все 64кб - все 4 светодиода мигают?
Надо по гуглить что-ли…
Как поступить?
Заказал товар у китайца. Он отправил товар.
Спустя 2 недели выясняется что товар получен в Испании!!!
Открыть спор не получается - пишет " Мы не смогли найти эту страницу…".
Ну и как быть? Можно куда-то написать в Алиэкспресс?
Открыть спор пробовали на разных страницах? Orders тут можно попробовать еще, у меня было такое что с какой-то страницы не работало, а с другой дал открыть. Или в мобильной версии в приложении.