15.05.2019, 08:08
|
|
Вид на жительство
Регистрация: 09.08.2017
Сообщений: 362
Сказал спасибо: 7
Сказали Спасибо 31 раз(а) в 20 сообщении(ях)
|
Есть у меня модуль (платка) со смонтированным на нём ARM STM32F103C8T6. В чисто познавательских целях появилась идея сотворить из него USB-устройство. Для программирования выбрал UART модуль CP2102 USB 2.0 TTL. С помощью соответствующих драйверов и АрдуиноIDE удалось без труда влить и запустить простейшую мигалку. Однако, чтобы сотворить из ARM STM32F103C8T6 хотя бы COM-порт, АрдуиноIDE явно недостаточно. Исходя из множества рекомендаций для работы выбрал CooCox Software и установил CoIDE. Для полноценной заливки программы в микроконтроллер там требуется программный модуль CoFlash. Скачал и установил этот прибамбас. Однако выяснилось, что он по умолчанию уже присутствует в комплексе. Не мудрствуя удалил по незнанию установленный второй отдельный CoFlash. Однако почему-то удалился и модуль в основном пакете. CoCenter показывет, что собственно кроме CoIDE больше ничего не установлено. При попытке через CoCenter включить дозагрузку CoFlash пишет «CooCox CoFlash download failed: couldn’t connect to server.»
Хочется понять – это косяк программы или я чего-то делаю не так?
И в догонку такой вопрос:
Для капиляции система требует выбрать путь к Toolchain (меню "Проект", "Selecr Toolchain Path").
У меня есть целая куча таких файликов, какой выбирать?
При попытке программирования через меню "Flash" "Program Downloader" пишет ошибку связи. Я так понимаю, не может связаться с программатором и предлагает проверить конфигурацию. В конфигурации, на вкладке дебагера в списке адаптеров у меня стоит ST-Link, надо полагать не то, что надо.
Что выбрать из списка? Или вообще мой UART-модуль не подойдёт?
Последний раз редактировалось mike-y-k; 15.05.2019 в 16:21.
|
|
|
|
15.05.2019, 08:44
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Попытка программирования STM32F103C8T6
Во-первых, CooCox уже мертв как несколько лет, посему чего-то может не хватать. Во-вторых, он и был то полувыродком в том плане, что работал лишь наполовину.
В-третьих, я не думаю, что в Ардуино-ПО невозможно сделать COM-порт. Вы просто не нашли нужных скетчей. Ищите скетчи на UART. Там вообще все примитивно просто!
Сообщение от AleksandrS_59
|
капиляции
|
Давайте выучим термины, чтобы потом не спалиться
Компиляция (по-русски), compilation (в англоязычной версии) - процесс получения программного кода, пригодного для заливки в микроконтроллер, из текста на языке программирования, понятного кодописателю.
Ну а самое главное. У вас НЕ ST-Link, а вы пытаетесь программировать как через ST-Link. У вас - обычный UART, который может программировать плату через UART1 (ноги PA9, PA10) и утилиту STM Flash Loader, при условии перестановки перемычки (по-моему, первой) в положение "1".
Ну и напоследок. Вы задаете вопрос в теме "STM 8", в то время, как у вас STM 32, а это, как говорят в Одессе, две разные вещи Будьте внимательнее и изучите мат.часть.
Последний раз редактировалось NewWriter; 15.05.2019 в 08:58.
|
|
|
Сказали "Спасибо" NewWriter
|
|
|
15.05.2019, 10:18
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.02.2008
Сообщений: 1,812
Сказал спасибо: 126
Сказали Спасибо 605 раз(а) в 422 сообщении(ях)
|
Re: Попытка программирования STM32F103C8T6
Вам выше NewWriter уже многое объяснил, по поводу:
Сообщение от AleksandrS_59
|
У меня есть целая куча таких файликов, какой выбирать?
|
с таким названием у Вас много файлов? Тогда выбирайте с более поздней датой создания.
Я сейчас посмотрел Ваш BIN.rar, там только один такой файл. Выбираете эту папку BIN. То есть Вы невнимательно прочитали сообщение системы? Тогда как собираетесь программировать?
Последний раз редактировалось andries5; 15.05.2019 в 10:23.
|
|
|
|
15.05.2019, 10:18
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,257
Сказал спасибо: 11,170
Сказали Спасибо 3,858 раз(а) в 2,928 сообщении(ях)
|
Re: Попытка программирования STM32F103C8T6
AleksandrS_59, и вдогонку - Вы просто для начала сформулируйте, в понятных всем терминах, что Вы хотите получить в итоге этого этапа изучения матчасти
Вопрос с отсутствием чего-то и ошибками при попытке переустановки решается просто удалением всего CoIDE и повторной установкой, хотя вариант установки CubeIDE с st.com будет предпочтительней. Для полноценной работы нужно купить обычный STLink mini (почти по цене Вашего CP2102 ) и получить ещё и возможность отладки, а тот CP2102 пригодится для отладки работы с UART (и не как не COM портом - это термин совсем из другого мира).
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
Сказали "Спасибо" mike-y-k
|
|
|
15.05.2019, 11:34
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Попытка программирования STM32F103C8T6
Про CubeIDE: не холистача ради, но констатация факта - к сожалению, первая версия очень сырая, и что самое прискорбное, имеет критические ошибки. Одна из таких важных ошибок на скрине:
Это ошибка именно CubeIDE. И она не единственная. Видя такие критические ошибки, невозможно доверять в принципе CubeIDE, ибо не знаешь, где вылезет очередной глюк.
С великим сожалением "оплакиваю" скоропостижный уход с рынка Atollic-а и замену его на CubeIDE.
|
|
|
|
15.05.2019, 11:47
|
|
Вид на жительство
Регистрация: 09.08.2017
Сообщений: 362
Сказал спасибо: 7
Сказали Спасибо 31 раз(а) в 20 сообщении(ях)
|
Re: Попытка программирования STM32F103C8T6
Сообщение от mike-y-k
|
нужно купить обычный STLink mini
|
Ну... уже заказал на Али.
Ну а всё же: однозначно с моей платкой не получиться прошить? Как определить: если нет в раскрывающемся списке - это однозначно нет?
|
|
|
|
15.05.2019, 12:42
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,637
Сказал спасибо: 117
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Сообщение от AleksandrS_59
|
Ну а всё же: однозначно с моей платкой не получиться прошить?
|
Если с boot и reset не выведены дорожки на кнопки, можно подпаяться.
Я себе все платы именно так и делаю, чтобы на них были эти две кнопки (ну лень мне подключать переходник USB‹›UART по пяти проводам, чтобы RTS/DTR'ами дергать reset и boot).
Жмем кнопку reset, удерживая ее жмем кнопку boot, отпускаем reset, отпускаем boot.
Далее в консоли пишем make boot — вуаля! Прошито!!!
Единственный косяк этого метода — у микроконтроллеров с встроенным DFU и подключенным к USB придется писать make dfuboot, т.к. при активном USB активируется сначала DFU, и лишь затем бутлоадер с UART1.
Все эти st-link'и нужны лишь выпендрежникам, которые работать не умеют, а умеют лишь пальцы гнуть. Потому что "внутрисхемная отладка" — это миф! Ничего полезного это не даст.
Сообщение от mike-y-k
|
Для полноценной работы нужно купить обычный STLink mini
|
Не надо морочить голову новичкам! Для полноценной отладки нужен только преобразователь USB‹›UART. Им же микроконтроллер и прошивается!!!
__________________
Союз Советских Социалистических Округов Северной Америки
Последний раз редактировалось mike-y-k; 15.05.2019 в 16:28.
|
|
|
|
15.05.2019, 13:09
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Попытка программирования STM32F103C8T6
Ой, вот давай без этих своих предпочтений про UART и отладку через костыли. Этот вариант не имеет никаких преимуществ перед ST-Link, кроме тех, что в варианте топикстартера не нужно больше ничего покупать.
Что касается платы, там есть перемычки на желтеньких джамперах - это переключатель загрузки. Оба джампер в позиции 0 - загрузка с ST-Link через боковой 4-штырьковый разъём.
Верхний джампер (который ближе к краю) поставить в положение 1, на A9 и A10 подцепить к USB-UART, нажать кнопку Reset - загрузка с UART-а через утилиту Flash loader demonstrator, который есть на сайте st.com
В текущем варианте работать с платой можно - она проограммируется описанным выше способом через UART. это не очень удобно в плане действий, но можно
Последний раз редактировалось NewWriter; 15.05.2019 в 13:41.
|
|
|
Сказали "Спасибо" NewWriter
|
|
|
15.05.2019, 16:19
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,257
Сказал спасибо: 11,170
Сказали Спасибо 3,858 раз(а) в 2,928 сообщении(ях)
|
Re: Попытка программирования STM32F103C8T6
AleksandrS_59, находите готовый бинарный файл Вашей прошивки после компиляции и сборки, используете утилиту st
Там же на st.com смотрите AN по режимам для boot0 и boot1 для использования встроенного загрузчика через UART.
А из оболочки ничего не получится - там совсем другой интерфейс взаимодействия подразумевается.
eddy, не стоит начинать в таком ключе. Таки отладка, интерфейсы для неё существуют и совсем не как Вами описано работают.
И вариант с DFU вполне обходится при отключении интерфейса.
Тут речь идёт пока про F103 (arduino nano) и ТС явно далёк от использования Unix like в разработке. Поправьте текст без оффтопа, флейма,…
Надеюсь, что кнопка Правка в Вашем браузере работает…
NewWriter, относительно CubeIDE написал в исходной теме по кубу.
Собственно все обнаруженное - нормальный предмет для запросов в поддержку, что нужно делать сразу и публиковать с описанием обнаруженного номер запроса.
"Явно не содержит ошибок программа с единственной командой BR 14 (это ещё из времен IBM S3xx/ЕС ЭВМ)"(c)
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
Последний раз редактировалось mike-y-k; 15.05.2019 в 16:44.
|
|
|
|
16.05.2019, 09:33
|
|
Вид на жительство
Регистрация: 09.08.2017
Сообщений: 362
Сказал спасибо: 7
Сказали Спасибо 31 раз(а) в 20 сообщении(ях)
|
Re: Попытка программирования STM32F103C8T6
Ничего не понял. Тяжело быть бестолковым...
Компиляция производится, файлы с расширением bin и hex получены.
Но прошивку через оболочку CoIDE сделать не получится, только через сторонние утилиты... Так правильно надо понимать?
Утилита CoFlash предназначена именно для этого?
И если я её загрузить не могу штатными средствами CoCenter (переустановка не помогает), значит, для программирования (прошивки) нужно пользоваться только сторонними утилитами?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:22.
|
|