Программирование STM8
-
BlackKilkennyCat
- Собутыльник Кота
- Сообщения: 2905
- Зарегистрирован: Ср ноя 29, 2017 06:58:50
Re: Программирование STM8
лишних отладчиков не бывает. у меня, например, для ST три, все совершенно разные, и два из них - оригинальные. И различных мк по 2-3 штуки. Это избавляет от подобных и прочих проблем при проектировании или изучении.
Re: Программирование STM8
BlackKilkennyCat, сам уже подумываю какую либо отладочную приобретать. Эх... вот и сэкономил.
Кстати вот еще второй канал подкинул на RESET, вот картинка:

Развертку пришлось ужать, что бы RESET попал в кадр.
-----
Может есть мысли какую отладочную мне стоит посмотреть?
Если не трудно, то вот что нибудь из этого:
http://www.kosmodrom.com.ua/prodlist.ph ... B%E0%F2%E0
Или если только дискавари, то вот здесь:
http://www.kosmodrom.com.ua/prodlist.ph ... 0DISCOVERY
Так что бы и не дорого, просто сейчас наше предприятие вообще останавливается, перехожу на другую работу, а это так сказать период нестабильности.
Кстати вот еще второй канал подкинул на RESET, вот картинка:
Развертку пришлось ужать, что бы RESET попал в кадр.
-----
Может есть мысли какую отладочную мне стоит посмотреть?
Если не трудно, то вот что нибудь из этого:
http://www.kosmodrom.com.ua/prodlist.ph ... B%E0%F2%E0
Или если только дискавари, то вот здесь:
http://www.kosmodrom.com.ua/prodlist.ph ... 0DISCOVERY
Так что бы и не дорого, просто сейчас наше предприятие вообще останавливается, перехожу на другую работу, а это так сказать период нестабильности.
-
BlackKilkennyCat
- Собутыльник Кота
- Сообщения: 2905
- Зарегистрирован: Ср ноя 29, 2017 06:58:50
Re: Программирование STM8
Картинка соответствует заводской. По крайней мере, я такую помню.
Поменяйте проц на своей плате
Добавлено after 7 minutes 15 seconds:
STM8SVLDISCOVERY за 408 гривен. есть, правда, нюанс. там стоит STM8S0** - эта серия гарантированно выдерживает лишь 100 циклов перезаписи
флэш.
вот эта веселее: https://prom.ua/p1271543950-stm8l-discovery.html?
и у этого же продавца взять горсть разных типа https://prom.ua/p855077537-otladochnaya-plata-stm8.html?
Поменяйте проц на своей плате
Добавлено after 7 minutes 15 seconds:
STM8SVLDISCOVERY за 408 гривен. есть, правда, нюанс. там стоит STM8S0** - эта серия гарантированно выдерживает лишь 100 циклов перезаписи
флэш.
вот эта веселее: https://prom.ua/p1271543950-stm8l-discovery.html?
и у этого же продавца взять горсть разных типа https://prom.ua/p855077537-otladochnaya-plata-stm8.html?
Последний раз редактировалось BlackKilkennyCat Сб дек 26, 2020 22:33:38, всего редактировалось 1 раз.
Re: Программирование STM8
[uquote="BlackKilkennyCat",url="/forum/viewtopic.php?p=3948978#p3948978"]приобрел бы STM8-Discovery. Но не на али. Рекомендовать купить на али в первый раз - это фактически получить те же самые три неизвестные снова.[/uquote]Конечно лучше не на али, но мне повезло. 
Кстати: и 2-й раз тоже - отдельные МК STM8L151K6T6 купил на том же али, впаял уже в свою плату, и тоже всё ок.
PS; Правда с небольшим минусом: всё что использовал (UART, SPI, таймеры, прерывания разного рода, DMA, АЦП, разные режимы сна) - почти всё работает как надо, за малым исключением - просыпание от периодического события RTC - не работает ни в какую. Может это и в самом деле в настоящем STM8L151K6T6 оно не работает (в мануале по этому поводу что-то странное, какая-то путаница; в еррата - ничего нет), а может мне всё-таки прислали подделку, а не настоящий STM8L151K6T6.
Кстати: и 2-й раз тоже - отдельные МК STM8L151K6T6 купил на том же али, впаял уже в свою плату, и тоже всё ок.
PS; Правда с небольшим минусом: всё что использовал (UART, SPI, таймеры, прерывания разного рода, DMA, АЦП, разные режимы сна) - почти всё работает как надо, за малым исключением - просыпание от периодического события RTC - не работает ни в какую. Может это и в самом деле в настоящем STM8L151K6T6 оно не работает (в мануале по этому поводу что-то странное, какая-то путаница; в еррата - ничего нет), а может мне всё-таки прислали подделку, а не настоящий STM8L151K6T6.
-
BlackKilkennyCat
- Собутыльник Кота
- Сообщения: 2905
- Зарегистрирован: Ср ноя 29, 2017 06:58:50
Re: Программирование STM8
jcxz, ну, я скоро на заведомо исправном (куплен непосредственно у st) это проверять буду, если не забуду - напишу.
Добавлено after 57 seconds:
правда, 152, но вроде, особой разницы нет, отличие лишь в наличии LCD
Добавлено after 57 seconds:
правда, 152, но вроде, особой разницы нет, отличие лишь в наличии LCD
Re: Программирование STM8
[uquote="sergey.UA",url="/forum/viewtopic.php?p=3948988#p3948988"]Может есть мысли какую отладочную мне стоит посмотреть?
Если не трудно, то вот что нибудь из этого:
http://www.kosmodrom.com.ua/prodlist.ph ... B%E0%F2%E0[/uquote]Я купил такую (пару шт.):
http://www.kosmodrom.com.ua/el.php?name ... F3P6-MODUL
только на али (впрочем - мне повезло, как уже сказал BlackKilkennyCat
).
На ней освоил STM8, написал ПО. Она дешёвая - не жалко.
Потом купил уже отдельные МК и паял сам.
Если не трудно, то вот что нибудь из этого:
http://www.kosmodrom.com.ua/prodlist.ph ... B%E0%F2%E0[/uquote]Я купил такую (пару шт.):
http://www.kosmodrom.com.ua/el.php?name ... F3P6-MODUL
только на али (впрочем - мне повезло, как уже сказал BlackKilkennyCat
На ней освоил STM8, написал ПО. Она дешёвая - не жалко.
Потом купил уже отдельные МК и паял сам.
Re: Программирование STM8
BlackKilkennyCat, спасибо за рекомендации по отладочной.
В общем, намечается такой выход, купить новый камень, и перепаять старый, благо они у нас не дорогие:

Возможно я текущий как то и убил в процессе тусования кабеля программирования.
Если после этого снова наступит фиаско, тогда уже буду брать отладку.
Спасибо всем кто участвовал.
---
jcxz, вы из Украины? ))
В общем, намечается такой выход, купить новый камень, и перепаять старый, благо они у нас не дорогие:
Возможно я текущий как то и убил в процессе тусования кабеля программирования.
Если после этого снова наступит фиаско, тогда уже буду брать отладку.
Спасибо всем кто участвовал.

---
jcxz, вы из Украины? ))
Re: Программирование STM8
[uquote="BlackKilkennyCat",url="/forum/viewtopic.php?p=3949007#p3949007"]jcxz, ну, я скоро на заведомо исправном (куплен непосредственно у st) это проверять буду, если не забуду - напишу.[/uquote]Ок. Там из документации ST не ясно - есть оно или нет.
В описании (RM) блока RTC много где говорится про этот таймер ("Wakeup timer") и про событие от него (WUTF), по которому можно пробуждать МК. И нигде не сказано, что он не поддерживается на medium-density линейке (к которой относится STM8L151K6T6). Да и он (таймер) там есть и работает (проверил).
Более того - в даташите на сам МК (конкретно на этот, а не на все линейки как в RM) указано:
Auto-wakeup from Halt w/ periodic interrupt.
и
Active-halt mode: CPU and peripheral clocks are stopped, except RTC. The wakeup
can be triggered by RTC interrupts, external interrupts or reset.
Да и в других местах про него говорится.
Т.е. - по идее STM8L151K6T6 должен уметь пробуждаться от RTC.
Но в описании регистров конфигурации битов разрешения сигналов пробуждения "WFE register map and reset values" флаг WUTF находится в регистре WFE_CR4, про который сказано: Available on low, medium+ and high-density devices only !!!
А у нас - medium-density (без '+').
И по факту - содержимое памяти по этому адресу невозможно изменить, т.е. - видимо этого регистра там всё-таки нет. Получается - сам таймер есть (нафига только?), а поле разрешения пробуждения от него - забыли сделать.
В еррата про это дело молчок.
PS: Если проверите на своём, будет интересно.
Хотя я уже переделал алгоритм работы устройства так, чтобы не использовать RTC.
В описании (RM) блока RTC много где говорится про этот таймер ("Wakeup timer") и про событие от него (WUTF), по которому можно пробуждать МК. И нигде не сказано, что он не поддерживается на medium-density линейке (к которой относится STM8L151K6T6). Да и он (таймер) там есть и работает (проверил).
Более того - в даташите на сам МК (конкретно на этот, а не на все линейки как в RM) указано:
Auto-wakeup from Halt w/ periodic interrupt.
и
Active-halt mode: CPU and peripheral clocks are stopped, except RTC. The wakeup
can be triggered by RTC interrupts, external interrupts or reset.
Да и в других местах про него говорится.
Т.е. - по идее STM8L151K6T6 должен уметь пробуждаться от RTC.
Но в описании регистров конфигурации битов разрешения сигналов пробуждения "WFE register map and reset values" флаг WUTF находится в регистре WFE_CR4, про который сказано: Available on low, medium+ and high-density devices only !!!
А у нас - medium-density (без '+').
И по факту - содержимое памяти по этому адресу невозможно изменить, т.е. - видимо этого регистра там всё-таки нет. Получается - сам таймер есть (нафига только?), а поле разрешения пробуждения от него - забыли сделать.
В еррата про это дело молчок.
PS: Если проверите на своём, будет интересно.
Хотя я уже переделал алгоритм работы устройства так, чтобы не использовать RTC.-
BlackKilkennyCat
- Собутыльник Кота
- Сообщения: 2905
- Зарегистрирован: Ср ноя 29, 2017 06:58:50
Re: Программирование STM8
не использовать часы это не есть приятно, мне *5* серия именно наличим RТС приглянулась. На 050 они отлично работают, но там я Low run режим предпочёл, меня тоже смутила неоднозначность с работой RTC в Active-halt, а на экспериментирование не было времени.
Re: Программирование STM8
[uquote="sergey.UA",url="/forum/viewtopic.php?p=3949017#p3949017"]jcxz, вы из Украины? ))[/uquote]нет.
Добавлено after 1 minute 57 seconds:
[uquote="BlackKilkennyCat",url="/forum/viewtopic.php?p=3949039#p3949039"]не использовать часы это не есть приятно, мне *5* серия именно наличим RТС приглянулась. На 050 они отлично работают[/uquote]Они там есть и работают. Но просыпаться от них не получается. Ни из "Halt" ни из "low-power wait".
PS: точнее - нужно было из "low-power wait", но отсутствие флага не позволяет этого.
Добавлено after 1 minute 57 seconds:
[uquote="BlackKilkennyCat",url="/forum/viewtopic.php?p=3949039#p3949039"]не использовать часы это не есть приятно, мне *5* серия именно наличим RТС приглянулась. На 050 они отлично работают[/uquote]Они там есть и работают. Но просыпаться от них не получается. Ни из "Halt" ни из "low-power wait".
PS: точнее - нужно было из "low-power wait", но отсутствие флага не позволяет этого.
-
BlackKilkennyCat
- Собутыльник Кота
- Сообщения: 2905
- Зарегистрирован: Ср ноя 29, 2017 06:58:50
Re: Программирование STM8
jcxz, ага, ок, поглядю. странно, конечно.
Re: Программирование STM8
Нашел кое какую инфу.
Кто в теме, можете разъяснить, о чем идет речь в пунктах №4 и №5 в данном скрине документа:

Это соответствует временным интервалам 4 и 5 соответственно, вот на этом графике :

Как ни переводил гуглом, все равно каша получается.))
Предыдущие и дальнейшие пункты, смысл, более - менее понятен, а эти два...
Сам документ то же прилагаю.
Кто в теме, можете разъяснить, о чем идет речь в пунктах №4 и №5 в данном скрине документа:
Это соответствует временным интервалам 4 и 5 соответственно, вот на этом графике :
Как ни переводил гуглом, все равно каша получается.))
Предыдущие и дальнейшие пункты, смысл, более - менее понятен, а эти два...
Сам документ то же прилагаю.
- Вложения
-
- stm8-swim-communication-protocol-and-debug-module-stmicroelectronics.pdf
- (606.08 КБ) 156 скачиваний
Re: Программирование STM8
Перевод:
После этой задержки (/п.3 - запуск генератора HSI/), SWIM посылает синхронизационный фрейм.
Описание фрейма синхронизации: Фрейм длительностью 128 SWIM периодов, во время которого линия SWIM находится в уровне логического нуля, посылается микроконтроллером для целей измерения отладчиком частоты HSI.
Продвинутый отладчик может подстроить свою частоту под частоту HSI RC генератора микроконтроллера.
п.5 Перед началом SWIM-обмена, линия SWIM должна быть отпущена в состояние логической 1 (как минимум на 300нс)чтобы подтвердить готовность SWIM.
----------
SWIM линия - внешняя подтяжка, с обеих сторон "открытый коллектор", любая сторона может выставить линию в 0.
В п.1,2 - линию дергает отладчик, посылая "entry sequence", затем отладчик отпускает линию.
Во время п.3. проц переходит в active state - в это время запускается и стабилизируется HSI.
По факту перехода в active state уже микроконтроллер притягивает линию в 0 на 128 SWIM периодов.
Отладчик может измерить суммарный период и закалиброваться.
Затем процессор отпускает линию в п.5. Это означает окончание п.4 и готовность к дальнейшему обмену.
После этой задержки (/п.3 - запуск генератора HSI/), SWIM посылает синхронизационный фрейм.
Описание фрейма синхронизации: Фрейм длительностью 128 SWIM периодов, во время которого линия SWIM находится в уровне логического нуля, посылается микроконтроллером для целей измерения отладчиком частоты HSI.
Продвинутый отладчик может подстроить свою частоту под частоту HSI RC генератора микроконтроллера.
п.5 Перед началом SWIM-обмена, линия SWIM должна быть отпущена в состояние логической 1 (как минимум на 300нс)чтобы подтвердить готовность SWIM.
----------
SWIM линия - внешняя подтяжка, с обеих сторон "открытый коллектор", любая сторона может выставить линию в 0.
В п.1,2 - линию дергает отладчик, посылая "entry sequence", затем отладчик отпускает линию.
Во время п.3. проц переходит в active state - в это время запускается и стабилизируется HSI.
По факту перехода в active state уже микроконтроллер притягивает линию в 0 на 128 SWIM периодов.
Отладчик может измерить суммарный период и закалиброваться.
Затем процессор отпускает линию в п.5. Это означает окончание п.4 и готовность к дальнейшему обмену.
Re: Программирование STM8
Спасибо, все подробно объяснили))
Еще бы понять сколько это 1 SWIM? Ну что бы примерно ориентироваться в суммарном периоде 128 SWIM.
Нарыл, что после сброса включается внутренний осциллятор на 16 МГц, далее делится на 8, в итоге это 2 МГц.
Ну это же наверное частота машинного цикла, и сколько исходя из этого у нас будет длится временной интервал 128 SWIM?
Еще бы понять сколько это 1 SWIM? Ну что бы примерно ориентироваться в суммарном периоде 128 SWIM.
Нарыл, что после сброса включается внутренний осциллятор на 16 МГц, далее делится на 8, в итоге это 2 МГц.
Ну это же наверное частота машинного цикла, и сколько исходя из этого у нас будет длится временной интервал 128 SWIM?
-
BlackKilkennyCat
- Собутыльник Кота
- Сообщения: 2905
- Зарегистрирован: Ср ноя 29, 2017 06:58:50
Re: Программирование STM8
sergey.UA, к чему это всё? Хотите написать свой программатор-отладчик?
Re: Программирование STM8
В пункте 8 описано:
Почитайте дальше документ, возможно станет понятно зачем это надо.
8. Once the option byte loading has occurred and that the stabilization time is reached, the CPU is in phase 8:
- STM8 is stalled and HSI = 16 Mhz (see STM8 datasheets for HSI clock accuracy)
- SWIM clock is at HSI/2 = 8 Mhz
- SWIM is active in low speed bit format (see Section 3.3.2)
Почитайте дальше документ, возможно станет понятно зачем это надо.
Re: Программирование STM8
Не дорос еще.))
Просто может кто уже в курсе всего этого, а у меня как вы знаете камень не реагирует на отладчик, вот и хотелось знать наверняка, на какое время он должен притянуть SWIM к земле. Так как пункт 1, 2, и 3 выполняются, а дальше нет.
Ок, почитаю.
Завтра собираюсь приобрести новый проц, перепаяю, будет сразу видно, но все же может кто знает...
Спасибо всем кто помогает.
Просто может кто уже в курсе всего этого, а у меня как вы знаете камень не реагирует на отладчик, вот и хотелось знать наверняка, на какое время он должен притянуть SWIM к земле. Так как пункт 1, 2, и 3 выполняются, а дальше нет.
Ок, почитаю.
Завтра собираюсь приобрести новый проц, перепаяю, будет сразу видно, но все же может кто знает...
Спасибо всем кто помогает.
Re: Программирование STM8
Заменил STM8 новым купленным, на макетке,... а воз и ныне там.
По ходу, с программатором моим беда какая то.
Эх, теперь жди когда праздники закончатся, что бы поехать купить другой STLINK-V2.
Добавлено after 9 hours 38 minutes 11 seconds:
Взял у товарища STLINK-V2, подключаю к макетке через STVP, пробую запрограммировать камень ... снова не видит чип.
Коллеги взгляните на макетку пож. что в ней может быть не так ?

В формате lay6 так же прилагаю.
По ходу, с программатором моим беда какая то.
Эх, теперь жди когда праздники закончатся, что бы поехать купить другой STLINK-V2.
Добавлено after 9 hours 38 minutes 11 seconds:
Взял у товарища STLINK-V2, подключаю к макетке через STVP, пробую запрограммировать камень ... снова не видит чип.
Коллеги взгляните на макетку пож. что в ней может быть не так ?
В формате lay6 так же прилагаю.
- Вложения
-
- Maket_STM8S.rar
- (46.96 КБ) 146 скачиваний
Последний раз редактировалось sergey.UA Сб янв 02, 2021 21:53:18, всего редактировалось 1 раз.
-
BlackKilkennyCat
- Собутыльник Кота
- Сообщения: 2905
- Зарегистрирован: Ср ноя 29, 2017 06:58:50
Re: Программирование STM8
фото припаянного чипа ещё бы, вдруг, не в той фазе? бывает иногда...
Добавлено after 6 minutes 59 seconds:
и прозвоните ножку ресета -вдруг, кнопка или конденсатор немного не того. И (необязательно, но...) не мешало бы резистор подтягивающий к NRST добавить внешний.
Добавлено after 6 minutes 59 seconds:
и прозвоните ножку ресета -вдруг, кнопка или конденсатор немного не того. И (необязательно, но...) не мешало бы резистор подтягивающий к NRST добавить внешний.
Re: Программирование STM8
[i[url=https://img.radiokot.ru/files/102980/2ejz467x05.jpg]
mg]https://img.radiokot.ru/files/102980/thumbnail/2ejz3c7ukv.jpg[/img][/url]
Как и в первый раз, все спиртом мыл, осматривал на просвет, на предмет замыканий и конечно же прозванивал.
Как и в первый раз, все спиртом мыл, осматривал на просвет, на предмет замыканий и конечно же прозванивал.