PY32 стоят от 8 до 11 центов, 18 миллионов дистрибуторов, напихали этих контроллеров везде, разовые, видимо в аддоне F003 не компилируется неспроста…
Пока занимаюсь программаторами не до аддона ошибки исправить, да и смаке собирает без ошибок
Ты с принтеров их накоаырял что ле?
Чё зацепились так за эти мк?
Они лучше чеки печатают?
Разве все не со стиральных машинок ковыряют?
Статейка недельной давности:
Пилят многие на них, выкладывать стесняются что-то, встроенный загрузчик позволяет шить через UART (по сути уже дуина)
А он реально встроенный? Т.е. запороть его нельзя?
можно сделать защиту от дурака, но нет от изобретательного
Ещё раз. Загрузчик надо прошивать или он аппаратный(неудаляемый)?
не смотрел в OTP лежит или где, по таблице не видно можно ли перешить, на 002 я даташит не смотрел, на 003 в системной памяти, но раз UID там жеж, теоретически перешить можно
PS он там с завода лежит
Закину сюда, на али попадается иногда адаптер DAPLINK по очень низкой цене (порядка 100 рублей) процессор там STM32F103C6T6A 32кб флэша всего, прошивка защищена от чтения, разработчик этот
А стереть вы смогли(суда по этому) только через J-link?
нет, через DAPLINK из пакета openocd и далее putty к порту 4444 и командами erase
bat файл запуска openocd
@echo off
openocd -s C:\OpenOCD\scripts -f C:\OpenOCD\scripts\interface\cmsis-dap.cfg -f C:\OpenOCD\scripts\target\py32f003.cfg
pause
пробовал разные, работают все, в том числе из RP2040
да ладно, оригинальные чипы можно грузить через UART, это у меня тут ведро с залоченой защитой от чтения )))
PS но использовать можно жеж
PPS а вот J-LINK из SEGGERa видятся, а из openocd нет, один самопальный из STM32F103 второй из ST-LINK-V2 сделан сеггеровской утилитой
Проект в стиле ардуино ещё очень сырой, при выборе загрузки как - direct connect ожидалось, что загрузка будет идти через CMSIS-DAP, каталог такой в тулзе имеется, ан нет:
`Скетч использует 7576 байт (11%) памяти устройства. Всего доступно 65536 байт.
Глобальные переменные используют 828 байт (10%) динамической памяти, оставляя 7364 байт для локальных переменных. Максимум: 8192 байт.
"C:\Users\Professional\AppData\Local\Arduino15\packages\PY32Duino\tools\AirISP\1.2.8.0/AirISP.exe" --chip "auto" --port "COM3" --baud 115200 --before direct_connect --after hard_reset write_flash -e -p 0x08000000 "C:\Users\Professional\AppData\Local\arduino\sketches\55EC31C6A8EC300801351E0B168E3480/BlinkWithoutDelay.ino.bin"
AirISP v1.2.8.0
Serial port COM3
Connect...___...___...___...___...___...___...___...___...___...___...
fail to reset device to boot status, timeout, exit...
Не удалась загрузка: ошибка при загрузке: exit status 1`
Залил из консоли, работает!
> flash write_image Blink.hex
device id = 0x60001000
flash size = 64 KB
Padding image section 0 at 0x08001e6c with 20 bytes (bank write end alignment)
Programming addr 0x08000000 success, done 1%.
Programming addr 0x08000400 success, done 14%.
Programming addr 0x08000800 success, done 27%.
Programming addr 0x08000c00 success, done 40%.
Programming addr 0x08001000 success, done 54%.
Programming addr 0x08001400 success, done 67%.
Programming addr 0x08001800 success, done 80%.
Programming addr 0x08001c00 success, done 93%.
wrote 7808 bytes from file Blink.hex in 0.534104s (14.276 KiB/s)
перекомпилировал массу примеров, в 30 килобайт бинарник укладывается, за безвозмездно как замена STM можно рассматривать, особенно если нужно низковольтное питание - 1.7 вольта.
Из железа для программирования достотчно DAPLINK (любой) и USB-UART, из ПО - openocd и Pytty, Arduino IDE c аддоном PUYA
PS их программатор едет, посмотрим что он может
? Который дорогущий? Хотел предложить T48(наверняка у плюшкина есть), а глянул - он вообще ARM не поддерживает: ни STM, ни PY, ни WCH
нет, свой родной, который в их программе должен увидеться, T48 нету у меня, приятель прикупил за 2500, жду, когда такая цена появится…
А с SEGGER всё не просто, я так понимаю они поддержу PUYA не включили, а из openocd мой самопальный JLINK не видится, из pyocd и SEGGER видится и из последнего с STM32 работает, ладно, можно шить и из консоли через SWD DAPLINKa, для Ардуино предлагают через USB-UART, значит так тоже попробуем
Сдается мне, что он у тебя по древней схеме собран, которая самим Segger поддерживается по остаточному принцыпу (как с 2012 года осталось, так и все). Если делать самопал, то лучше на stm32f072cb, если интересно, подскажу где взять под него загрузчик.
по этой статье делалось, два резистора и вуаля )))