Программирование STM8

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Программирование STM8

Сообщение a5021 »

Все есть. Любые регистры.
axillent
Электрический кот
Сообщения: 1040
Зарегистрирован: Вс сен 25, 2011 19:09:33

Re: Программирование STM8

Сообщение axillent »

в IAR есть?
где искать?
Аватара пользователя
GARMIN
Держит паяльник хвостом
Сообщения: 952
Зарегистрирован: Вс дек 02, 2012 16:58:33
Откуда: от туда
Контактная информация:

Re: Программирование STM8

Сообщение GARMIN »

В IAR:
view->register
Изображение
Голимый
Встал на лапы
Сообщения: 117
Зарегистрирован: Пн дек 08, 2014 19:45:24
Откуда: Воронеж

Re: Программирование STM8

Сообщение Голимый »

Добрый день.
Прикупил платку на Али с МК STM8S003F3P6, и китайский ST-LINK, решил побаловаться. Поставил стулсет, написал программку помигать светодиодом. Светодиод - между общим и ногой PC7.
Кварц решил не впаивать, т.к на борту МК целых два встроенных тактовых генераторов.
Программка успешно собралась, запрограммировалась, после отключения программатора диод замигал. Решил, что все получилось.
Потом решил поправить значение, загружаемое в регистр X, чтоб мигал как-то иначе. Но ничего не изменилось, даже, запись $0000 ничего не изменила. Программа не работает.
Собственно, что здесь не так?
Изображение Изображение
Возникли и другие вопросы:
1. Как понять, от чего именно тактируется МК.
2. Как определить длительность машинного цикла (без этого нельзя ничего толком написать).
3. Почему STVP не может стереть контроллер (все серое), но при этом запись не вызывает никаких ошибок.
Трудное детство, стальные игрушки.
axillent
Электрический кот
Сообщения: 1040
Зарегистрирован: Вс сен 25, 2011 19:09:33

Re: Программирование STM8

Сообщение axillent »

Голимый писал(а):2. Как определить длительность машинного цикла (без этого нельзя ничего толком написать).

что вам даст длительность машинного цикла?
чтобы понять сколько исполняется та или иная строка Си кода придется поднимать листинг и по даташиту собирать длину команд

длительность команд важна только на критическом пути, где важно успеть выполнить критически операции время исполнения которых соизмеримо с физическими возможностями контроллера
то есть близко к real time
в большинстве случаев достаточно запустить таймер с понятной длительностью периода и использовать его для мерила времени
Голимый
Встал на лапы
Сообщения: 117
Зарегистрирован: Пн дек 08, 2014 19:45:24
Откуда: Воронеж

Re: Программирование STM8

Сообщение Голимый »

axillent писал(а):чтобы понять сколько исполняется та или иная строка Си кода придется поднимать листинг и по даташиту собирать длину команд

Язык не "С", язык - Ассемблер. Длительность каждой команды критически важная :)
Например, у МК AT89C51, длительность машинного цикла = 1 / (F кварца / 12) При кварце 12 мгц, длительность машинного цикла будет 1 мксек. А у STM8 как?
Трудное детство, стальные игрушки.
arkhnchul
Друг Кота
Сообщения: 3092
Зарегистрирован: Пн апр 06, 2015 11:01:53
Откуда: москва, уфа

Re: Программирование STM8

Сообщение arkhnchul »

у stm8 сколько будет выполняться последовательность команд так просто не определяемо, такие дела. Если время выполнения критично, и по таймеру выходит слишком медленно - возьмите несколько другой контроллер.

http://we.easyelectronics.ru/STM8/pogov ... -stm8.html
http://we.easyelectronics.ru/Deer/poche ... -stm8.html
Аватара пользователя
scorpi_0n
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Re: Программирование STM8

Сообщение scorpi_0n »

1. Как понять, от чего именно тактируется МК.
2. Как определить длительность машинного цикла (без этого нельзя ничего толком написать).
3. Почему STVP не может стереть контроллер (все серое), но при этом запись не вызывает никаких ошибок.

1. Заглянуть в CLK->SWR
2. Как обычно.
3. Так его сделали.
придется поднимать листинг и по даташиту собирать длину команд

Не поможет. Неточности в документации и конвейер сделают своё грязное дело.
Например, у МК AT89C51, длительность машинного цикла = 1 / (F кварца / 12) При кварце 12 мгц, длительность машинного цикла будет 1 мксек. А у STM8 как?

Да так же. 1 / Fclk.

Если время выполнения критично, и по таймеру выходит слишком медленно - возьмите несколько другой контроллер.

Чушь. Для большинства задач это и даром не нужно. Для остальных юзать железо МК. Я например таких задач не могу представить чтобы пришлось юзать другой камень из-за критичности по времени.
arkhnchul
Друг Кота
Сообщения: 3092
Зарегистрирован: Пн апр 06, 2015 11:01:53
Откуда: москва, уфа

Re: Программирование STM8

Сообщение arkhnchul »

scorpi_0n писал(а):Я например таких задач не могу представить чтобы пришлось юзать другой камень из-за критичности по времени.

программный USB например.
Аватара пользователя
scorpi_0n
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Re: Программирование STM8

Сообщение scorpi_0n »

Как по мне это чистой воды извращение и просто не имеет никакого смысла.
arkhnchul
Друг Кота
Сообщения: 3092
Зарегистрирован: Пн апр 06, 2015 11:01:53
Откуда: москва, уфа

Re: Программирование STM8

Сообщение arkhnchul »

считайте как хотите :dont_know: тот же v-usb - решение распространенное и востребованное. Как, например, вы предложили бы делать простенький usb-hid? Искать чип с аппаратным USB вместо тиньки? Та и мало ли чего там у Голимого, вряд ли ему надо только светодиодиком помыргать с такими запросами, хотя кто знает.
Голимый
Встал на лапы
Сообщения: 117
Зарегистрирован: Пн дек 08, 2014 19:45:24
Откуда: Воронеж

Re: Программирование STM8

Сообщение Голимый »

arkhnchul писал(а):Та и мало ли чего там у Голимого, вряд ли ему надо только светодиодиком помыргать с такими запросами, хотя кто знает.

Хочется освоить новый МК. Микроконтроллер новый, пока что "страшный", довольно запутанный. Не вечно же под 51 быдлокодить.
Непредсказуемость времени исполнения уже напрягает, т.к пишу с оглядкой на время исполнения, и неважно - светодиодом помигать, или USB эмулировать. Заводить машинный таймер ради 5 мксек задержки кажется непродуктивной идеей.
Трудное детство, стальные игрушки.
arkhnchul
Друг Кота
Сообщения: 3092
Зарегистрирован: Пн апр 06, 2015 11:01:53
Откуда: москва, уфа

Re: Программирование STM8

Сообщение arkhnchul »

жалко таймера?) периферии вагон, чего бы не завести.
Аватара пользователя
scorpi_0n
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Re: Программирование STM8

Сообщение scorpi_0n »

тот же v-usb - решение распространенное и востребованное. Как, например, вы предложили бы делать простенький usb-hid? Искать чип с аппаратным USB вместо тиньки?

Никто этим не заморачивается ни Микрочип ни СТМ ни другие. Это чисто атмэловский изврат. Хотя Микрочип и пошустрее ногами дрыгает.
Непредсказуемость времени исполнения уже напрягает, т.к пишу с оглядкой на время исполнения

Это порочная практика и прямое наследие асмописательства.
Заводить машинный таймер ради 5 мксек задержки кажется непродуктивной идеей.

Это самая продуктивная идея. Это просто нужно принять и осознать. Вся мощь СТМ именно в периферии а не в привычном ногодрыге.
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Программирование STM8

Сообщение oleg110592 »

arkhnchul писал(а): Как, например, вы предложили бы делать простенький usb-hid? Искать чип с аппаратным USB вместо тиньки?

А чего искать, есть например простенький 20-ногий STM32F042, работает с USB без кварца. Можно не только usb-hid, а даже простенький 480kSps usb осциллограф сделать: http://tomeko.net/miniscope_v2e/
Аватара пользователя
scorpi_0n
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Re: Программирование STM8

Сообщение scorpi_0n »

Может кому интересно. Вышел новый ИАР 2201 под STM8 от 27.11.2015.
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Программирование STM8

Сообщение oleg110592 »

добавлю:
для версий IAR >= 2.10 микроконтроллеров STM8 есть в свободном скачивании плагин для Eclipse. Интересно почему за столько лет для AVR плагина IAR не сделал, а тут молодые микроконтроллеры и уже сделали - наверное видит IAR перспективу.
Eclipse Mars поддерживается, проверил - работает. Удобства: проект несложно создать, настройки проекта - практически все как в IAR можно настроить, хороший редактор кода, вполне удобная ИДЕ - на слабых пк может и долговато стартует, во время работы тормозов не заметил. Отладка пока не поддерживается.
Скачать тут: http://eclipse-update.iar.com/updatesites.html
Инструкция по онлайн инсталляции тут: http://eclipse-update.iar.com/plugin-ma ... stall.html
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Программирование STM8

Сообщение Alexeyslav »

Без отладки чем она лучше Notepad++ ?
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Программирование STM8

Сообщение oleg110592 »

Особо ничем, выше написал удобства - Eclipse это IDE, Notepad++ это редактор. Под Eclipse существуют плагины под разные микроконтроллеры и разные компиляторы. Eclipse как основу под свои IDE выбрали такие компании, как Atollic, NPX, Freescale, Silicon Labs, Infineon... Это ж неспроста. На основе Notepad++ IDE не встречал.
ARM для MDK-ARM плагин Eclipse тоже сделал. http://www.keil.com/support/man/docs/ec ... plugin.htm
Подождем может IAR отладку Eclipse для STM8 сделает, для STM32 ST-LINK поддержку в Eclipse уже сделали.
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Программирование STM8

Сообщение Alexeyslav »

Но без отладки она превращается в простой блокнот.
Ответить

Вернуться в «Разные вопросы по МК»