Конфигурация для eBay STM32F103C8T6 Минимальная плата

Рик Кимбалл
Вт 28 апреля 2015 г., 17:55
У меня один из этих 4 долларов.66 Generic STMF103 Micro Boards, которые я использовал со старой платой Discovery STM32F0, которая имеет встроенное устройство STLINK-V2. Сначала казалось, что я мог забрать его, чтобы загрузить эскиз Arduino один раз, а затем отладчик перестанет отвечать. Вы должны настроить свою доску немного по -разному, если вы хотите программировать и отлаживать с помощью устройства Stlink. Общая конфигурация STM32F103C отключает выводы SWD и делает их выводами GPIO. Это потребовалось «несколько минут», чтобы найти. Симптом заключается в том, что вы можете запрограммировать его один раз после того, как вы стерте его с помощью приложения Stlink от STMICRO, но тогда вы не можете прикрепить к нему снова, если не связываетесь с PIN -код Boot0.

Ключ состоит в том, чтобы не позволять коду с основным кодом отключить ваши штифты SWD. Если вы определите config_maple_mini_no_disable_debug = 1 Компилятор покинет выводы SWD в покое и позвольте вам использовать Stlink снова и снова.

Это мои пользовательские доски.запись TXT:
##################################################################### # ebay stm32f103c8t6 minimal development board ebay_f103c8_micro.name=ebay stm32f103c8t6 micro (stlink) ebay_f103c8_micro.build.common_flags=-mthumb -march=armv7-m -D__STM32F1__ -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 ebay_f103c8_micro.build.core=maple ebay_f103c8_micro.build.cpu_flags=-DMCU_STM32F103C8 ebay_f103c8_micro.build.error_led_pin=1 ebay_f103c8_micro.build.error_led_port=GPIOB ebay_f103c8_micro.build.f_cpu=72000000L ebay_f103c8_micro.build.ldscript=ld/jtag_c8.ld ebay_f103c8_micro.build.mcu=cortex-m3 ebay_f103c8_micro.build.variant=generic_stm32f103c ebay_f103c8_micro.build.variant_system_lib=libmaple.a ebay_f103c8_micro.build.vect=VECT_TAB_ADDR=0x8000000 ebay_f103c8_micro.upload.file_type=hex ebay_f103c8_micro.upload.flash.maximum_size=65536 ebay_f103c8_micro.upload.maximum_size=65536 ebay_f103c8_micro.upload.protocol=stlinkv2_upload ebay_f103c8_micro.upload.ram.maximum_size=20480 ebay_f103c8_micro.upload.tool=stlinkv2_upload

Rogerclark
Ср 29 апреля 2015 г., 6:07
Рик

Спасибо.

Мне нужно будет дважды проверить, что происходит, потому что я думал, что проверил, и мой клон Stlink, казалось, работал нормально с моей маленькой общей платой F103C8.

Однако в Windows проблема, казалось, заключалась в том, что мне пришлось поставить на высокий уровень Boot0 (так же, как и для серийных загрузок).

Я думаю, что @ahull также тестировал Stlink на Linux, и он не сообщил о каких -либо проблемах.

Я буду PM @ahull, и, возможно, он сможет прокомментировать, что он сделал, чтобы заставить его работать на него

Rogerclark
Ср 29 апреля 2015 г. 11:25
Рик,

Большое спасибо за ваше объяснение.

Я обновил доски.TXT так, что то, что была плата «STM32, чтобы Flash (без загрузки)» теперь называется «STM32F103C8 для Flash - без загрузки» и изменил настройки для этой платы, когда вы выбираете STLINK в качестве метода загрузки

Если вы посмотрите на доску.Файл TXT, подразлушка может управлять всеми настройками, которые управляют основными настройками платы, поэтому можно иметь одну конфигурацию для Stlink, а другой для последовательной загрузки

Я проверил его с моей дешевой платой STM32F103C8, которая, как я подозреваю, такой же, как у вас, и это работает как очарование !

Рик Кимбалл
Ср 29 апреля 2015 12:15
Если @ ahull использует Stlink на Linux, он должен делать это вручную, как я. В каталоге Linux отсутствует многие из необходимых сценариев и двоичных файлов

https: // github.com/rogerclarkmelbourne/ ... ools/linux

В версии Linux отсутствует serial_upload и stlink_upload. Двоирные файлы Stlink и STM32Flash также отсутствуют.
Для двоичных файлов можно было бы иметь 2 папки для двоичных файлов (32 и 64)

Rogerclark
Ср 29 апреля 2015 12:27
Рик

Извините за Linux

Я хотел поместить скрипт OSX в папку Linux

Я согласен, что нам нужно иметь Linux 32 и 64, если вы можете опубликовать мне любого из техасцев Stlink, дайте мне знать.
PS -источник для техасцев Stlink находится в репо в качестве подмодуля под инструментами SRC из того, что я помню

Рик Кимбалл
Ср 29 апреля 2015 г. 13:00
Причина, по которой я создал конкретную запись доски и запустил информацию о инструменте загрузки, была в основном потому, что в процессоре и меню загрузки не было опции stlink_upload. Однако, даже если это было, все это кажется сломанным. Он всегда пытается использовать скрипт upload_router. Что выглядит так, как будто это DFU (не уверен, где входит часть маршрутизатора).

Я добавил такую ​​запись в ваши последние доски.текст:
############################################################## ## F103C8 flash via stlink (overwrites bootloader) ## ------------------------- GenericSTM32F103C.menu.cpu_upload_menu.c8stlink=F103C8(64k) via stlink (overwrite bootloader) GenericSTM32F103C.menu.cpu_upload_menu.c8stlink.build.ldscript=ld/jtag_c8.ld GenericSTM32F103C.menu.cpu_upload_menu.c8stlink.build.cpu_flags=-DMCU_STM32F103C8 GenericSTM32F103C.menu.cpu_upload_menu.c8stlink.build.vect=VECT_TAB_ADDR=0x8000000 GenericSTM32F103C.menu.cpu_upload_menu.c8stlink.build.extra_flags=-DMCU_STM32F103C8 -mthumb -march=armv7-m -D__STM32F1__ -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 GenericSTM32F103C.menu.cpu_upload_menu.c8stlink.upload.maximum_size=65536 GenericSTM32F103C.menu.cpu_upload_menu.c8stlink.upload.ram.maximum_size=20480 GenericSTM32F103C.menu.cpu_upload_menu.c8stlink.upload.flash.maximum_size=65536 GenericSTM32F103C.menu.cpu_upload_menu.c8stlink.upload.altID=1 GenericSTM32F103C.menu.cpu_upload_menu.c8stlink.upload.protocol=stlink_upload GenericSTM32F103C.menu.cpu_upload_menu.c8stlink.upload.tool=stlink_upload

Rogerclark
Ср 29 апреля 2015 г., 8:15 вечера
Рик

Имхо, маршрутизатор загрузчика должен быть удален. Я не думаю, что это требуется, так как тот же результат может быть достигнут с помощью подгруппа -загрузчика.

Длинная история.... Но маршрутизатор загрузки был вкладом. Я не написал это. Но я согласен, что это не оправдание.

Я постараюсь добавить отдельное меню загрузки на общую плату STM32F103C, или, возможно, вы можете попробовать и дать мне знать.

Скопируйте тот, который я упоминал, и изменить имя идентификатора платы на передней части, чтобы соответствовать общему идентификатору платы STM32F103C

Рик Кимбалл
Ср 29 апреля 2015 г. 20:36
То, что я опубликовал, работает... хм

Я просто спрашивал о доске, которую вы добавили. Я был в порядке с тем, как это было с общим STM32F103C, а затем выбирал C8 или CB и метод загрузки. Ему просто не хватает опции Stlink на процессоре & загрузить.

Похоже, что все меню досок должно стать последовательным для обработки общих досок. STM32F103Z делает это в одну сторону .. и STM32F103C делает это по -разному.

Rogerclark
Ср 29 апреля 2015 г., 21:49
Согласованный

;-)

Ахулл
Ср 29 апреля 2015 11:12
Рик Кимбалл написал:Если @ ahull использует Stlink на Linux, он должен делать это вручную, как я. В каталоге Linux отсутствует многие из необходимых сценариев и двоичных файлов

https: // github.com/rogerclarkmelbourne/ ... ools/linux

В версии Linux отсутствует serial_upload и stlink_upload. Двоирные файлы Stlink и STM32Flash также отсутствуют.
Для двоичных файлов можно было бы иметь 2 папки для двоичных файлов (32 и 64)

Rogerclark
Чт 30 апреля 2015 г., 2:27
Ребята

ХОРОШО.

Я постараюсь разобраться с этим беспорядком ;-)

Проблема в том, что я обычно не использую Linux. Не потому, что мне это не нравится, а только потому, что все другие мои машины связаны с помощью Windows или Mac OS и т. Д

Я не думаю, что маршрутизатор загрузки вообще необходим, я должен снять его, чтобы удалить его и выполнить ту же работу в меню, теперь, когда некоторые вещи были упрощены с точки зрения количества вариантов меню для общих досок

Пса. Я согласен с тем, что все общие доски должны иметь одинаковые меню, но у меня есть только конечное количество времени, чтобы потратить на это

Рик Кимбалл
Чт 30 апреля 2015 г., 3:07
Я создал вилку вашего репозитория в: https: // github.com/rickkimball/arduino_stm32

Я сделал первый удар по уборке. Все еще нужно много работы

Rogerclark
Пт, 1 мая 2015 г., 21:58
Рик

Спасибо

Я постараюсь разобраться с некоторыми проблемами в эти выходные, и я постараюсь достать Linux на выделенную машину, а не обменять диски или двойной загрузки или запустить через виртуальную машину и т. Д

Я также хочу закончить загрузчик 2.0 . Консенсус с загрузчиком заключается в том, что загрузка ОЗУ бессмысленна и ненадежна и должна быть удалена.