Программирование STM8
-
BlackKilkennyCat
- Собутыльник Кота
- Сообщения: 2905
- Зарегистрирован: Ср ноя 29, 2017 06:58:50
Re: Программирование STM8
Asmodey, да, меня тоже i2c там сначала как-то напрягло, особенно после st7. Но сейчас ок )
Re: Программирование STM8
Доброго дня коллеги. Нет ли у кого установочного файла для ST Visual Programmer ? Или ссылку от куда можно скачать без регистрации.
А то, там говорят пару дней бывает ожидание кода на мыло, для окончания регистрации.
А то, там говорят пару дней бывает ожидание кода на мыло, для окончания регистрации.
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: Программирование STM8
По поводу вопросов, которые не взрослые, просто не могу запустить IAR правильно, все ошибки какие то, вот поэтому и начал спрашивать.
В IAR для STM8 вообще всё примитивно. Визардом создаёте проект. В настройках проекта выбираете тип микроконтрллера и отладчика. Для начала это всё.Добавлено after 4 minutes 4 seconds:
А то, там говорят пару дней бывает ожидание кода на мыло, для окончания регистрации.
За пару секунд ссылка на скачивание приходит.Re: Программирование STM8
Не ссылка на скачивание должна придти, а ключ подтверждения на мою почту, для регистрации на сайте ST.
При скачивании среды IAR, с ихнего сайта, ссылка да, пришла через пару сек.
А в данный момент регистрацию потребовали.
Добавлено after 50 minutes 1 second:
Лучше подскажите, Для загрузки прошивки в STM8, необходимо:
1. Цепь сброса - RESET
2. Цепь данных - SWIM
3. Общий - GND
Трех пинового подключения хватает ?
Все верно?
При скачивании среды IAR, с ихнего сайта, ссылка да, пришла через пару сек.
А в данный момент регистрацию потребовали.
Добавлено after 50 minutes 1 second:
Лучше подскажите, Для загрузки прошивки в STM8, необходимо:
1. Цепь сброса - RESET
2. Цепь данных - SWIM
3. Общий - GND
Трех пинового подключения хватает ?
Все верно?
-
BlackKilkennyCat
- Собутыльник Кота
- Сообщения: 2905
- Зарегистрирован: Ср ноя 29, 2017 06:58:50
Re: Программирование STM8
нет.
нужно + питания, GND, SWIM.
Ресет по желанию, требуется для того случая, когда нога SWIM используется для чего-то ещё. Но можно ввести 5 секундну задержку в начале кода до конфигурации портов, тогда опять ресет не нужен.
нужно + питания, GND, SWIM.
Ресет по желанию, требуется для того случая, когда нога SWIM используется для чего-то ещё. Но можно ввести 5 секундну задержку в начале кода до конфигурации портов, тогда опять ресет не нужен.
Re: Программирование STM8
BlackKilkennyCat вы правы, там на сайте ST все быстро скачивается, я просто вначале чуток не туда зашел.
Скачал уже то что вы мне советовали.
-------
Говорите нужно четыре пина, т.е. + питания.
Странно, разобрал свой программатор STLink-V2.
Мало того, что изначально наоборот его к своей макетке подключал, так еще именно этот пин VDD, никуда не звонился ВООБЩЕ. Стало интересно отпаял разъем, что бы так сказать воочию убедится, куда же он подключен.
И оказалось, что НИКУДА. Дорожки к нему вообще не идут.
И вот еще, инфу на Радио коте нашел:

Пишут что трех пинов хватает.
Скачал уже то что вы мне советовали.
-------
Говорите нужно четыре пина, т.е. + питания.
Странно, разобрал свой программатор STLink-V2.
Мало того, что изначально наоборот его к своей макетке подключал, так еще именно этот пин VDD, никуда не звонился ВООБЩЕ. Стало интересно отпаял разъем, что бы так сказать воочию убедится, куда же он подключен.
И оказалось, что НИКУДА. Дорожки к нему вообще не идут.
И вот еще, инфу на Радио коте нашел:
Пишут что трех пинов хватает.
-
BlackKilkennyCat
- Собутыльник Кота
- Сообщения: 2905
- Зарегистрирован: Ср ноя 29, 2017 06:58:50
Re: Программирование STM8
тогда питание завести отдельно. без питания прошиваться не будет. на указанном скриншоте написано неверно.
Ещё раз: нужно обеспечить питание, и SWIM - GND от программатора. RESET только если SWIM в дальнейшем будет сконфигурирован иначе.
Добавлено after 5 minutes 15 seconds:
Если поменьше читать всякие дурацкие форумы, а побольше документацию, то рано или поздно наткнулись бы на https://www.st.com/resource/en/user_man ... ronics.pdf
где сказано всё и вся. а также написано: Single wire interface module (SWIM).
Ещё раз: нужно обеспечить питание, и SWIM - GND от программатора. RESET только если SWIM в дальнейшем будет сконфигурирован иначе.
Добавлено after 5 minutes 15 seconds:
Если поменьше читать всякие дурацкие форумы, а побольше документацию, то рано или поздно наткнулись бы на https://www.st.com/resource/en/user_man ... ronics.pdf
где сказано всё и вся. а также написано: Single wire interface module (SWIM).
- просто КОТ
- Друг Кота
- Сообщения: 12364
- Зарегистрирован: Пт дек 17, 2010 15:07:50
- Откуда: Крымский Федеральный Округ
- Контактная информация:
Re: Программирование STM8
Свой ST-Link покупал в китае, поэтому за образец его приводить не рискну. Но меня ставил в тупик тот факт что без подключения VDD он не прошивал МК. Даже не пытался. Хотя МК был запитан, просто я сэкономил четвёртый пин в разъёме.
Договориться с ним удалось зацепив пин VDD на питание внутри самого программатора, таким образом чтоб ему питание виделось постоянно. Костыль конечно, но на тот момент так было удобнее.
Договориться с ним удалось зацепив пин VDD на питание внутри самого программатора, таким образом чтоб ему питание виделось постоянно. Костыль конечно, но на тот момент так было удобнее.
-
BlackKilkennyCat
- Собутыльник Кота
- Сообщения: 2905
- Зарегистрирован: Ср ноя 29, 2017 06:58:50
Re: Программирование STM8
просто КОТ, ну, это какой-то сильно левый программтор, не повезло...
так-то удобно: землю подцепить легко, а swim в виде иголки подоткнуть руками на момент прошивки - не надо выводить отдельный разъём.
Когда 8-ногие корпуса, вообще красота в минимизации.
так-то удобно: землю подцепить легко, а swim в виде иголки подоткнуть руками на момент прошивки - не надо выводить отдельный разъём.
Когда 8-ногие корпуса, вообще красота в минимизации.
Re: Программирование STM8
Свой ST-Link покупал в китае, поэтому за образец его приводить не рискну. Но меня ставил в тупик тот факт что без подключения VDD он не прошивал МК. Даже не пытался. Хотя МК был запитан, просто я сэкономил четвёртый пин в разъёме.
Договориться с ним удалось зацепив пин VDD на питание внутри самого программатора, таким образом чтоб ему питание виделось постоянно. Костыль конечно, но на тот момент так было удобнее.
Договориться с ним удалось зацепив пин VDD на питание внутри самого программатора, таким образом чтоб ему питание виделось постоянно. Костыль конечно, но на тот момент так было удобнее.
Надо думать, что программатор измеряет напряжение на выводах питания МК, даже если питание внешнее. И при отсутствии внешнего напряжение на своей линии Vdd отказывается вообще что либо делать с микроконтроллером.
Мало того, что изначально наоборот его к своей макетке подключал, так еще именно этот пин VDD, никуда не звонился ВООБЩЕ
Ну так здорово же. Будь Vdd подключен, спалили бы микроконтроллер, а возможно, и сам отладчик.
Сколько вы за него (за отладчик) отдали?
Астролябия-сама меряет, было бы что мерять!!!
Re: Программирование STM8
Честно говоря намаялся уже, потому что не получается программатор и макетку состыковать. (((
Да и с IAR тоже все не так как надо. Нажимаешь компилировать, а прога выдает противный предупреждающий сигнал об ошибке, и судя по тому что не появляется ни бинарник, ни hex, нифига не компилирует.
Только нажав "download and debug", удалось получить файл hex.
-----
По поводу программатора, вот:

Самый нижний контакт Е1 ( который ближе к С7 ) четырех пинового разъема, на последней фотке, НИ С ЧЕМ не звонился, ни с ногами микроконтроллера, ни с каким либо выводом какого либо резистора.
Не выдержал и выпаял его, визуально так сказать чтобы проследить дорожку.

С обратной стороны так же, к нему не идет никакая дорожка.
Т.е. НИКУДА не подключен !!
И еще один непонятный момент. Вот распиновка SWIM разъема, с инструкции к ST-LINK/V2:

НО! На землю звонится вывод 2, и в соответствии из найденных в инете схем на этот программатор, DATA это вывод 3, а RESET это вывод 1. Т.е. все наоборот !! А пин 4, это получается VDD, висит в вакууме.
------
Решил проверить программатор отдельно от IAR. Скачал и установил прогу ST Visual Programmer.
Взял hex созданный IAR -ом, и ... получил ошибку, что нет подключения с моим микроконтроллером на макетке .Грустно как то.(((
------
Этот программатор покупал пару лет назад, у нас в местном магазине, прошивал им пару раз STM32, брал в пересчете на доллар, примерно за 3,8$
------
Вот нашел, где брал, как говорится почувствуйте разницу.

-------
Появилась мысль, может перед началом программирования МК, запитать макетку, и тогда на VDD появится 5 В.
Да и с IAR тоже все не так как надо. Нажимаешь компилировать, а прога выдает противный предупреждающий сигнал об ошибке, и судя по тому что не появляется ни бинарник, ни hex, нифига не компилирует.
Только нажав "download and debug", удалось получить файл hex.
-----
По поводу программатора, вот:
Самый нижний контакт Е1 ( который ближе к С7 ) четырех пинового разъема, на последней фотке, НИ С ЧЕМ не звонился, ни с ногами микроконтроллера, ни с каким либо выводом какого либо резистора.
Не выдержал и выпаял его, визуально так сказать чтобы проследить дорожку.
С обратной стороны так же, к нему не идет никакая дорожка.
Т.е. НИКУДА не подключен !!
И еще один непонятный момент. Вот распиновка SWIM разъема, с инструкции к ST-LINK/V2:
НО! На землю звонится вывод 2, и в соответствии из найденных в инете схем на этот программатор, DATA это вывод 3, а RESET это вывод 1. Т.е. все наоборот !! А пин 4, это получается VDD, висит в вакууме.
------
Решил проверить программатор отдельно от IAR. Скачал и установил прогу ST Visual Programmer.
Взял hex созданный IAR -ом, и ... получил ошибку, что нет подключения с моим микроконтроллером на макетке .Грустно как то.(((
------
Этот программатор покупал пару лет назад, у нас в местном магазине, прошивал им пару раз STM32, брал в пересчете на доллар, примерно за 3,8$
------
Вот нашел, где брал, как говорится почувствуйте разницу.
-------
Появилась мысль, может перед началом программирования МК, запитать макетку, и тогда на VDD появится 5 В.
-
BlackKilkennyCat
- Собутыльник Кота
- Сообщения: 2905
- Зарегистрирован: Ср ноя 29, 2017 06:58:50
Re: Программирование STM8
мож многослойная плата.
если мк на программаторе честный 103, починить нет проблем.
Добавлено after 2 minutes 36 seconds:
То есть, пытались прошивать без питания?
если мк на программаторе честный 103, починить нет проблем.
Добавлено after 2 minutes 36 seconds:
Появилась мысль, может перед началом программирования МК, запитать макетку, и тогда на VDD появится 5 В.
То есть, пытались прошивать без питания?

Re: Программирование STM8
Ну да, без подачи питания на макетку. Программатор ведь сам во время программирования или отладки запитывает камень на макетке, так ведь ? Я же не в курсе как правильно, поэтому и задаю здесь вопросы.
В свое время для PIC -ов, сделал ТРИ самодельных программатора, два через COM порт, один через USB, там вообще никаких проблем не было, все работало как часики, а тут ....(((
-------
Еще заметил такую особенность, если подключить на оборот, ( т.е. Pin 2 с рисунка инструкции на землю макетки, а Pin 3, на вывод DATA макетки ), всего два этих проводка, то на макетке постоянно горит в пол яркости светодиод.
Светик подключен к земле, и ВХОДУ линейного стабилизатора.
Измеренное напряжение между землей и входом стабилизатора составило 2,09 В.
Т.е. получается, что с макетки, с вывода Pin 3 ( а я предположил что это вывод SWIM ) идет какое то напряжени, или "ШИМ"? И оно через защитный диод на входе вывода SWIM идет на питание МК, а далее через обратный диод между входом и выходом стабилизатора - на ВХОД стабилизатора ? Подключу осцил посмотрю.
--------
BlackKilkennyCat есть мысли как починить? Порекомендуйте что сделать необходимо.
--------
В общем еще раз разберу отладчик, найду в нете схемы и все проверю.
А вы коллеги, что подскажите по этому всему ?
Спасибо.
В свое время для PIC -ов, сделал ТРИ самодельных программатора, два через COM порт, один через USB, там вообще никаких проблем не было, все работало как часики, а тут ....(((
-------
Еще заметил такую особенность, если подключить на оборот, ( т.е. Pin 2 с рисунка инструкции на землю макетки, а Pin 3, на вывод DATA макетки ), всего два этих проводка, то на макетке постоянно горит в пол яркости светодиод.
Светик подключен к земле, и ВХОДУ линейного стабилизатора.
Измеренное напряжение между землей и входом стабилизатора составило 2,09 В.
Т.е. получается, что с макетки, с вывода Pin 3 ( а я предположил что это вывод SWIM ) идет какое то напряжени, или "ШИМ"? И оно через защитный диод на входе вывода SWIM идет на питание МК, а далее через обратный диод между входом и выходом стабилизатора - на ВХОД стабилизатора ? Подключу осцил посмотрю.
--------
BlackKilkennyCat есть мысли как починить? Порекомендуйте что сделать необходимо.
--------
В общем еще раз разберу отладчик, найду в нете схемы и все проверю.
А вы коллеги, что подскажите по этому всему ?
Спасибо.
- GARMIN
- Держит паяльник хвостом
- Сообщения: 952
- Зарегистрирован: Вс дек 02, 2012 16:58:33
- Откуда: от туда
- Контактная информация:
Re: Программирование STM8
Программатор не питает макетку. Только смотрит, какое у неё питание. Это нужно для преобразователя уровней. Запитайте свою плату отдельно.
Re: Программирование STM8
В общем так, коллеги, что бы разобраться со своим отладчиком, пришлось нарисовать его схему. Так сказать, реинжиниринг схемной части. Вот что оказалось на самом деле:

Теперь понятно почему у меня при подключении только двух проводов, GND и DATA ( SWIM ), в пол яркости горел светодиод, подключенный на вход стабилизатора питания макетной платы.
------
GARMIN, вы совершенно правы, не запитанным оказался камень на макетке.
Я могу подать отдельное питание на макетную плату, а можно только 19 контакт разъема J4 STM32, подключить
к выводу VDD ( + питание микроконтроллера ) на моей макетке.
Как правильнее ?
Теперь понятно почему у меня при подключении только двух проводов, GND и DATA ( SWIM ), в пол яркости горел светодиод, подключенный на вход стабилизатора питания макетной платы.
------
GARMIN, вы совершенно правы, не запитанным оказался камень на макетке.
Я могу подать отдельное питание на макетную плату, а можно только 19 контакт разъема J4 STM32, подключить
к выводу VDD ( + питание микроконтроллера ) на моей макетке.
Как правильнее ?
Re: Программирование STM8
С тех пор как стали применять внутрисхемное программирование, запитывать программируемое устройство от программатора не имеет смысла. Может ваше программируемое устройство по Vdd жрёт 5 ампер и вы захотите, чтобы программатор вам их выдал? Просто подумайте логически.
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Re: Программирование STM8
Согласен, логика железная. Но,... в режиме внутрисхемного программирования ICSP, к примеру для PIC микроконтроллеров, никакого внешнего питания подавать на макетную плату НЕ НУЖНО.
Все прекрасно программируется от +5 В разъема USB.
-----
Для меня STM8, это неизученный камень, поэтому и задаю вопросы такие.
Спасибо.
Все прекрасно программируется от +5 В разъема USB.
-----
Для меня STM8, это неизученный камень, поэтому и задаю вопросы такие.
Спасибо.
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: Программирование STM8
Даже у китайских st-link'ов есть выходы +3.3В и +5В для питания программируемой схемы!
При отладке макеток STM8 я в подавляющем большинстве случаев питаю их от прошивальщика, а иногда - от "свистка" на PL2303. Но если напряжение питания МК должно быть 3.3В, а не 5В, то остается только запитывать от прошивальщика: таки встроенный стабилизатор PL2303 и спалить можно… И лишь если требуется навесить что-то на девборду, я запитываю ее отдельным БП.
При отладке макеток STM8 я в подавляющем большинстве случаев питаю их от прошивальщика, а иногда - от "свистка" на PL2303. Но если напряжение питания МК должно быть 3.3В, а не 5В, то остается только запитывать от прошивальщика: таки встроенный стабилизатор PL2303 и спалить можно… И лишь если требуется навесить что-то на девборду, я запитываю ее отдельным БП.
Re: Программирование STM8
sergey.UA, вы, конечно, можете продолжать упорствовать, но подумайте о такой вещи, что микроконтроллер не единственный компонент в схеме. А что вам скажет стабилизатор источника питания, когда ему "взад" подадут питание? Старые 7805 и 317 этого очень не любили и всегда рекомендовали ставить защитный диод (через который вы опять своим свиском будете запитывать что-нибудь еще не нужное.
Так что обычное правило для ICSP - схема "питает" программатор (имеется в виду, что питает преобразователи уровня или просто сообщает, что питание есть), а не наоборот. Есть, конечно, и исключения. Вот кипарисовский кристалл cy8c4014 надо питать от программатора, так как у него нет входа сброса и ввести его в режим программирования можно только методом power cycling, но все остальные cy8c4xxx - вводятся в программирование через NRST и им питание от программатора не требуется.
Это хорошо, когда у программаторов есть возможность запитывать программируемую схему, как у PicKit, Miniprog итд. Но хватает и таких, которые не могут. Но даже те, которые могут, способны дать от силы 30ма для запитки таргета.
Так что обычное правило для ICSP - схема "питает" программатор (имеется в виду, что питает преобразователи уровня или просто сообщает, что питание есть), а не наоборот. Есть, конечно, и исключения. Вот кипарисовский кристалл cy8c4014 надо питать от программатора, так как у него нет входа сброса и ввести его в режим программирования можно только методом power cycling, но все остальные cy8c4xxx - вводятся в программирование через NRST и им питание от программатора не требуется.
Это хорошо, когда у программаторов есть возможность запитывать программируемую схему, как у PicKit, Miniprog итд. Но хватает и таких, которые не могут. Но даже те, которые могут, способны дать от силы 30ма для запитки таргета.
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Re: Программирование STM8
Куда уж мне тут упорствовать, невезуха сплошная. ))
Вот сейчас, подключил к макетке внешнее питание, подключил программатор с макеткой к компу, запустил прогу STVP, загрузил в нее hex файл, нажимаю программировать, и снова ...

Что означает :
Ошибка: не удается связаться с устройством!
Проверьте подключение кабеля SWIM и проверьте все необходимые контакты на разъеме SWIM.
Если код приложения использует вывод отключения плавания и сброса в качестве выхода или отключил делитель тактовой частоты SWIM:
Попробуйте сейчас ВЫКЛЮЧИТЬ и ВКЛЮЧИТЬ источник питания приложения, когда на выводе сброса NRST принудительно установлен низкий уровень.
Ошибка: <Ошибка программирования ПАМЯТИ ПРОГРАММЫ.
Ошибка: <Операция прервана.
------
Питание макетки, как рекомендуют, сбрасывал.
И что насторожило, камень то, еще ни разу то толком и не прошивал (на макетке ), а при подключении внешнего питания, сразу же светится светодиод, подключенный к PORT D0, анодом через резистор на Vdd питания макетки.
Может как то нужно для проги STVP выбрать USB порт, к которому у меня подключен отладчик? Уже и не знаю что думать.
-----
Эх, ... видно остается пойти напиться, а потом забыться.
Вот сейчас, подключил к макетке внешнее питание, подключил программатор с макеткой к компу, запустил прогу STVP, загрузил в нее hex файл, нажимаю программировать, и снова ...
Что означает :
Ошибка: не удается связаться с устройством!
Проверьте подключение кабеля SWIM и проверьте все необходимые контакты на разъеме SWIM.
Если код приложения использует вывод отключения плавания и сброса в качестве выхода или отключил делитель тактовой частоты SWIM:
Попробуйте сейчас ВЫКЛЮЧИТЬ и ВКЛЮЧИТЬ источник питания приложения, когда на выводе сброса NRST принудительно установлен низкий уровень.
Ошибка: <Ошибка программирования ПАМЯТИ ПРОГРАММЫ.
Ошибка: <Операция прервана.
------
Питание макетки, как рекомендуют, сбрасывал.
И что насторожило, камень то, еще ни разу то толком и не прошивал (на макетке ), а при подключении внешнего питания, сразу же светится светодиод, подключенный к PORT D0, анодом через резистор на Vdd питания макетки.
Может как то нужно для проги STVP выбрать USB порт, к которому у меня подключен отладчик? Уже и не знаю что думать.
-----
Эх, ... видно остается пойти напиться, а потом забыться.

