Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 09.01.2017, 04:15  
vladisslav1
Прописка
 
Регистрация: 25.03.2013
Адрес: Глубокое замкадье
Сообщений: 216
Сказал спасибо: 3
Сказали Спасибо 71 раз(а) в 55 сообщении(ях)
vladisslav1 на пути к лучшему
По умолчанию stm8s103f3 прошивка с помощью usbasp

Заказал на Али демоплатки на stm32, но китаец прислал stm8 вместо stm32. Диспут выиграл, платки остались.
Хочу по быстрому попробовать, как оно в деле.
ST-Link отсутствует.
Заказывать клон ST-Link из Китая - еще ~2 месяца ожидания с неясным результатом.
Есть компы под linux и программатор на атмеге по мотивам usbasp (но не usbasp).
Кто-нибудь прошивал stm8 с помощью usbasp или подобных программаторов? Если успешно, отпишитесь, у кого получилось, каким образом / скиньте ссылки на гитхаб/проекты/предложите способы.

А я пока беру документацию и приступаю. Если ничего не получится, попробую варианты, предложенные уважаемыми форумчанами.
Миниатюры:
Нажмите на изображение для увеличения
Название: stm8s103f3.JPG
Просмотров: 0
Размер:	670.6 Кб
ID:	108841  
Реклама:

Последний раз редактировалось vladisslav1; 09.01.2017 в 04:26.
vladisslav1 вне форума  
Непрочитано 09.01.2017, 09:27  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,581
Сказал спасибо: 115
Сказали Спасибо 806 раз(а) в 583 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: stm8s103f3 прошивка usbasp

У STM8 даже UART'овского бутлоадера нет! Какой, нафиг, USB? На конкретной платке разъем USB только для питания. Так что, покупай st-link, либо бери какую-нибудь STM32-discovery (там есть встроенный st-link, который можно по SWD подключить к другому МК).

А вот насчет софтового USB — кто-то заморачивался, надо поискать на гитхабе. Но это извращение на мой взгляд.
__________________
Смерть бандеровской мразоте!
eddy вне форума  
Непрочитано 09.01.2017, 10:49  
vladisslav1
Прописка
 
Регистрация: 25.03.2013
Адрес: Глубокое замкадье
Сообщений: 216
Сказал спасибо: 3
Сказали Спасибо 71 раз(а) в 55 сообщении(ях)
vladisslav1 на пути к лучшему
По умолчанию Re: stm8s103f3 прошивка usbasp

Я видимо неточно выразился. Я не собираюсь подключать stm8 к USB. Я хочу прошить его с помощью atmega8 ( atmega88 ), подключенного к компу по USB (софтовый, V-USB).
Пока получилось инициализировать SWIM, загрузить команду, поймать ACK, загрузить аргументы команды и поймать от них ACK, но не получается поймать ответ. Видимо придется писать обработчик прерывания на ассемблере или ловить биты поллингом...

Upd:
Победил полностью.
При реализации SWIM Master на AVR (C + reti/nop на ассемблере) возникли следующие проблемы:
1. Короткие 250nS импульсы и относительно высокий битрейт доже в медленном режиме (~2.75uS период) + работа от не слишком стабильного внутреннего RC-генератора.
Решение: ловим каждый фронт традиционным для простых AVRок способом - sleep + пустой обработчик прерывания, на выходе из прерывания захватываем уровень на шине для определения длительности импульса примерно как в 1-wire.
2. При чтении регистров SWIM задержка от подтверждения приема младшего бита адреса до стартового бита первого читаемого байта недостаточна (для простой реализации "в лоб" на C).
Решение: просто пропускаем первый байт, готовимся к приему и посылаем NAK по готовности, вызывая повторную отправку байта.
3. Программная реализация протокола USB отбирает слишком много времени и не допускает формирование точных временных интервалов с отключением прерываний.
Решение: разнести работу с USB и SWIM по времени. Принимаем данные по USB, после получения даем небольшую задержку, чтобы отправились все подтверждения и начинаем работу со SWIM. Программа на ПК соответственно делает небольшую паузу, чтобы не на нарушать работу SWIM, а затем запрашивает результат.

Достоинства такого странного решения:
Не нужно никаких ST-Link и софта под венду. Достаточно ATMEGA8 (Возможно хватит даже ATTINY85), кварца, 1117-3.3 и нескольких резисторов/конденсаторов. Однозначно дешевле, чем stm8/32 discovery. Можно делать все то же, что и с помощью ST-Link: останавливать/запускать ядро, писать читать память/регистры периферии, работать с отладчиком. Прошивать также можно как путем загрузки в оперативку загрузчика с последующим его запуском, так и напрямую, работая с контроллером Flash.

Недостатки:
Невысокая скорость, ограниченная низкоскоростным USB и полудуплексом. Софт для ПК тоже нужно написать (в какой-то мере это достоинство). Пришлось пару вечеров почитать документацию с ошибками, поэкспериментировать и разобраться, как работает SWIM.

Итог: начать работу/изучение stm8 тем способом, каким начинал когда-то с AVR (atmega8 за 300 руб в местном радиомагазине и 5 проводков в LPT), увы не получится. Потребуется некоторый опыт, хотя бы простой USB программатор для AVR типа USBASP и немного свободного времени.

Последний раз редактировалось vladisslav1; 10.01.2017 в 06:21. Причина: смайлы, чтоб их...
vladisslav1 вне форума  
Непрочитано 11.01.2017, 10:07  
j-Roger
Гражданин KAZUS.RU
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 674
Сказал спасибо: 360
Сказали Спасибо 753 раз(а) в 358 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: stm8s103f3 прошивка usbasp

Теперь вам осталось всего и делов-то:
когда добудете ст-линк, научить его программировать Отмеги и иже с ними
j-Roger вне форума  
Непрочитано 11.01.2017, 13:07  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,581
Сказал спасибо: 115
Сказали Спасибо 806 раз(а) в 583 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: stm8s103f3 прошивка usbasp

vladisslav1, st-link стоит 150-200 рублей. Ну и к чему с отмегой заморачиваться?
__________________
Смерть бандеровской мразоте!
eddy вне форума  
Непрочитано 08.04.2019, 16:15  
t_ruslan_w
Прописка
 
Регистрация: 24.02.2007
Адрес: Вольногорск, Украина
Сообщений: 59
Сказал спасибо: 0
Сказали Спасибо 33 раз(а) в 18 сообщении(ях)
t_ruslan_w на пути к лучшему
По умолчанию Re: stm8s103f3 прошивка usbasp

В принципе идея не плохая, но вот Atmega не лучший вариант. Вот было хорошо сделать stlink swim программер на железе pickit2 с функцией автономного программатора, очень надо. Хотя появилось приложение ZFlasher STM32 для андройд, жду поддержки и для STM8.
t_ruslan_w вне форума  
Непрочитано 08.04.2019, 17:43  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: stm8s103f3 прошивка usbasp

vladisslav1, как изучение протокола годится, но у STLink ещё и отладка имеется, а так Вы к самому камню непонятно когда доберётесь. Некоторые вещи надо делать не столь плавно - переходить и все. Цена - один бизнес-ланч эконом класса.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 08.04.2019, 23:55  
vladisslav1
Прописка
 
Регистрация: 25.03.2013
Адрес: Глубокое замкадье
Сообщений: 216
Сказал спасибо: 3
Сказали Спасибо 71 раз(а) в 55 сообщении(ях)
vladisslav1 на пути к лучшему
По умолчанию Re: stm8s103f3 прошивка usbasp

Сообщение от t_ruslan_w Посмотреть сообщение
Вот было хорошо сделать stlink swim программер на железе pickit2 с функцией автономного программатора
Мне оказалось достаточно прочитать datasheet на проц, RM0013 и PM0054. Там есть абсолютно все, что требуется для создания отладчика и, соответственно, программатора. Пробуйте. Если что-то пойдет не так, выкладывайте сюда свой код, попробую помочь.

Сообщение от mike-y-k Посмотреть сообщение
STLink ещё и отладка имеется, а так Вы к самому камню непонятно когда доберётесь.
STM8 это вообще-то не AVR. Он как раз через отладку и зашивается. Сначала через отладочный интерфейс нужно остановить ядро, потом нужно разлочить память, и только потом читать/стирать/писать... Все это делается абсолютно так же, как если бы это делало ядро, но через интерфейс отладки...

Последний раз редактировалось vladisslav1; 09.04.2019 в 00:18.
vladisslav1 вне форума  
Непрочитано 07.03.2020, 10:19  
rabbitator
Прохожий
 
Регистрация: 05.01.2011
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
rabbitator на пути к лучшему
По умолчанию Re: stm8s103f3 прошивка usbasp

Сообщение от vladisslav1 Посмотреть сообщение
Я видимо неточно выразился. Я не собираюсь подключать stm8 к USB. Я хочу прошить его с помощью atmega8 ( atmega88 ), подключенного к компу по USB (софтовый, V-USB).
Пока получилось инициализировать SWIM, загрузить команду, поймать ACK, загрузить аргументы команды и поймать от них ACK, но не получается поймать ответ. Видимо придется писать обработчик прерывания на ассемблере или ловить биты поллингом...

Upd:
Победил полностью.
При реализации SWIM Master на AVR (C + reti/nop на ассемблере) возникли следующие проблемы:
1. Короткие 250nS импульсы и относительно высокий битрейт доже в медленном режиме (~2.75uS период) + работа от не слишком стабильного внутреннего RC-генератора.
Решение: ловим каждый фронт традиционным для простых AVRок способом - sleep + пустой обработчик прерывания, на выходе из прерывания захватываем уровень на шине для определения длительности импульса примерно как в 1-wire.
2. При чтении регистров SWIM задержка от подтверждения приема младшего бита адреса до стартового бита первого читаемого байта недостаточна (для простой реализации "в лоб" на C).
Решение: просто пропускаем первый байт, готовимся к приему и посылаем NAK по готовности, вызывая повторную отправку байта.
3. Программная реализация протокола USB отбирает слишком много времени и не допускает формирование точных временных интервалов с отключением прерываний.
Решение: разнести работу с USB и SWIM по времени. Принимаем данные по USB, после получения даем небольшую задержку, чтобы отправились все подтверждения и начинаем работу со SWIM. Программа на ПК соответственно делает небольшую паузу, чтобы не на нарушать работу SWIM, а затем запрашивает результат.

Достоинства такого странного решения:
Не нужно никаких ST-Link и софта под венду. Достаточно ATMEGA8 (Возможно хватит даже ATTINY85), кварца, 1117-3.3 и нескольких резисторов/конденсаторов. Однозначно дешевле, чем stm8/32 discovery. Можно делать все то же, что и с помощью ST-Link: останавливать/запускать ядро, писать читать память/регистры периферии, работать с отладчиком. Прошивать также можно как путем загрузки в оперативку загрузчика с последующим его запуском, так и напрямую, работая с контроллером Flash.

Недостатки:
Невысокая скорость, ограниченная низкоскоростным USB и полудуплексом. Софт для ПК тоже нужно написать (в какой-то мере это достоинство). Пришлось пару вечеров почитать документацию с ошибками, поэкспериментировать и разобраться, как работает SWIM.

Итог: начать работу/изучение stm8 тем способом, каким начинал когда-то с AVR (atmega8 за 300 руб в местном радиомагазине и 5 проводков в LPT), увы не получится. Потребуется некоторый опыт, хотя бы простой USB программатор для AVR типа USBASP и немного свободного времени.
Сообщение от vladisslav1 Посмотреть сообщение
Победил полностью.
Не могли бы вы выложить исходный код? Тоже возникла необходимость срочно прошить STM32, а программатор только USBASP.
К сожалению опыта и времени совсем нет чтобы разобраться во всём самому...
rabbitator вне форума  
Непрочитано 08.03.2020, 18:40  
vladisslav1
Прописка
 
Регистрация: 25.03.2013
Адрес: Глубокое замкадье
Сообщений: 216
Сказал спасибо: 3
Сказали Спасибо 71 раз(а) в 55 сообщении(ях)
vladisslav1 на пути к лучшему
По умолчанию Re: stm8s103f3 прошивка usbasp

Сообщение от rabbitator Посмотреть сообщение
Не могли бы вы выложить исходный код?
Могу конечно. Там нет ничего секретного. Только его нужно еще найти и причесать. Писал по принципу "результат как можно быстрее", так что там все не очень красиво.
Сообщение от rabbitator Посмотреть сообщение
прошить STM32
Не получится. Читайте заголовок темы.
STM32 можно прошить загрузчиком через UART/USB/CAN. Через USB, если загрузчик в ROM поддерживает, проще всего: нужно dfu-tool или dfu-util и больше ничего.
Через UART потребуется USB-UART (pl2303/cp2102/ft232/etc) или MAX232, если есть аппаратный RS-232...
Но если хочется разобраться с SWD/JTAG, то можно и заморочиться, но там ничего интересного по сравнению со SWIM: все делается через сдвиговые регистры с тактированием от хоста. Для SWD нужно по минимуму реализовать 1 двунаправленный запрос (IN/OUT): чтение/запись N bit. Для JTAG дополнительно нужно реализовать установку TMS/TRST/SRST например через поле wIndex control transfer, а при чтении просто отдавать буфер, заполненный при записи.
vladisslav1 вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Wireless Repeater WS-WN518W2 нужна прошивка Vizitka Автоматика и аппаратура связи 41 28.11.2015 17:16
Прошивка для мультиметра Sanwa PC500 VOLNA Измерительное оборудование 3 28.02.2015 22:59
Слетает прошивка atmega8 miwutka AVR 14 20.02.2015 17:14
Прошивка на с/м "Вязьма" Л10 LeoS Производственное оборудование 2 15.06.2013 16:45
nm8036 нужна прошивка russo_turisto Микроконтроллеры, АЦП, память и т.д 1 13.07.2010 13:52


Часовой пояс GMT +4, время: 18:56.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot