Интересное на AliExpress и других маркетплейсах

Благодарю!
Вот какие результаты через ST-Link Utility у меня получились:

  1. Начальный адрес: 0x08000000 (размер по умолчанию оставил)
  2. Прошивка от andriano закончилась на адресе: 0x0801D170
  3. Последний удачно прочитанный адрес: 0x0803FFF0

Я так полагаю, что в этих МК все 256кб, правильно?

Узнать бы еще что это за “камушки” APM…

Очень похоже на: https://global.geehy.com/apm32?id=31
И в 48-ми выводном корпусе там указан APM32F103CCT6

Запиши с 0x0803FF00 255 байт. Если их же потом прочитаешь и сбросить потом сможешь то да 256 кВ

пришло это чудо, маркировка на чипе CH32F103C8T6
ST-Link Untility видит так
image
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 не хочет, надо отключать проверку вендора :frowning:

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кб проверить на последний адрес…

Это уже начало 257 кВ

Для полноты картины я бы при записи в 0x0803FFF0 проверял нет ли “зеркалирования” в адресах 0x0800FFF0, 0x0801FFF0 и 0x0802FFF0

Да, например, в коде из сообщения №304 я записываю в каждую ячейку уникальное число именно для того, чтобы исключить подобное “зеркалирование”.

Надо будет попробовать.
То есть я просто пишу в строке с адресом 0x0803FFF0 в столбец 0 (ноль) вместо FFFFFFFF, например, 12345678 и такой записи в том же столбце не должно быть в строках с адресами 0x0800FFF0, 0x0801FFF0 и 0x0802FFF0.
Правильно понял?

Ага - если будет где то, то либо 64 либо 128

Разбирался для себя с разнообразием драйверов ШД на базе тринамиковского чипа TMC2209, надеюсь что кому-то тоже эта информация окажется полезной.

Все описанные ниже вариации я, конечно, не испытывал, имею драйвера TMC2209 v1.2 от BigTreeTech и они мне очень нравятся тем, что практически не греются c двигателями на 1.7A. Ранее мучался и с A4988 и с DRV8825, у которых через 5 минут работы от нагрева начинали радиаторы отклеиваться.

Итак, если на Aliexpress поиском отобрать драйверы на TMC2209, то можно увидеть разноцветные варианты разнообразных версий в разную цену. Основную массу товаров создают три производителя:

  • BigTreeTech. Черные платы и красные пинхидеры, 550р/модуль;
  • MKS. Черные платы и зеленые пинхидеры, 450р/модуль;
  • FYSETC. Белые платы, 300р/модуль;

По “версиям” плат расклад такой:

BigTreeTech,
Между собой различаются размерами площадки для теплоотвода; размером микростепа, который можно выставить при помощи входов MS1/MS2

  • TMC2209 v1.1 площадка 10.2x8.49мм , микростеп: 8/32/64/16
  • TMC2209 v1.2 площадка 10.19x8.81мм , микростеп: 8/32/64/16
  • TMC2209 v1.3 площадка 10.19x8.81мм , микростеп: 8/2/4/16 возможно описка? (BIGTREETECH TMC2209 V1.3 Stepper Motor Driver – Biqu Equipment)

FYSETC
Между собой различаются наличием/отсутсвием дополнительных функциональных пинов, их расположением (https://wiki.fysetc.com/Silent2209)

  • TMC2209 v2.1 нет пина SP, есть пин CLK (clock mode selection): internal/external
  • TMC2209 v3.0 нет пина CLK, есть пин SP (chopper mode selection): StealthChop/SpreadCycle
  • TMC2209 v3.1 нет пина SP, есть пин CLK, SP активируется 0R перемычками на пузе модуля, схема усилена фильтрами

MKS
Между собой на вид ничем не различаются:

Ещё попадается TwoTrees v1.2/v2.0 - черные платы и красные пинхидеры. По виду нижней части очень похожи на MKS, по окрасу на BigTreeTech, быстрогуглинг на сайт производителя не вывел, так что чем между собой отличаются - непонятно, цена 300р/модуль.

Так же приведу полезную картинку с реддита:

3 лайка

РобятЫ, что расскажу сейчас! ))

Попробовал я записать в ячейку памяти и посмотреть - нет ли где дублей?. Дублей не было.
Дай думаю - все 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).

Вот такие дела :slight_smile:

Ну флеш 256к ладно, а рам 64к откуда уверенность?

Да нет ни какой 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 светодиода мигают? :slight_smile:
Надо по гуглить что-ли…

А давайте все эти гаданья на внутренностях в другую ветку перенесём и там обсуждайте скока влезет

2 лайка

Я только за! Куда-нибудь в Аппаратные, наверное…

+100500

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

Я так понял - никто ничего переносить не хочет.
Я создал отдельную тему тут:
https://forum.arduino.ru/t/fake-stm32f103c8t6-apm32f103cct6-t7-64kb-ozu-256kb-flash-device-id-0x414

Как поступить?
Заказал товар у китайца. Он отправил товар.
Спустя 2 недели выясняется что товар получен в Испании!!!
Открыть спор не получается - пишет " Мы не смогли найти эту страницу…".

Ну и как быть? Можно куда-то написать в Алиэкспресс?

Открыть спор пробовали на разных страницах?
Orders тут можно попробовать еще, у меня было такое что с какой-то страницы не работало, а с другой дал открыть. Или в мобильной версии в приложении.