Программирование STM8
Re: Программирование STM8
Все есть. Любые регистры.
Re: Программирование STM8
в IAR есть?
где искать?
где искать?
Re: Программирование STM8
Добрый день.
Прикупил платку на Али с МК STM8S003F3P6, и китайский ST-LINK, решил побаловаться. Поставил стулсет, написал программку помигать светодиодом. Светодиод - между общим и ногой PC7.
Кварц решил не впаивать, т.к на борту МК целых два встроенных тактовых генераторов.
Программка успешно собралась, запрограммировалась, после отключения программатора диод замигал. Решил, что все получилось.
Потом решил поправить значение, загружаемое в регистр X, чтоб мигал как-то иначе. Но ничего не изменилось, даже, запись $0000 ничего не изменила. Программа не работает.
Собственно, что здесь не так?

Возникли и другие вопросы:
1. Как понять, от чего именно тактируется МК.
2. Как определить длительность машинного цикла (без этого нельзя ничего толком написать).
3. Почему STVP не может стереть контроллер (все серое), но при этом запись не вызывает никаких ошибок.
Прикупил платку на Али с МК STM8S003F3P6, и китайский ST-LINK, решил побаловаться. Поставил стулсет, написал программку помигать светодиодом. Светодиод - между общим и ногой PC7.
Кварц решил не впаивать, т.к на борту МК целых два встроенных тактовых генераторов.
Программка успешно собралась, запрограммировалась, после отключения программатора диод замигал. Решил, что все получилось.
Потом решил поправить значение, загружаемое в регистр X, чтоб мигал как-то иначе. Но ничего не изменилось, даже, запись $0000 ничего не изменила. Программа не работает.
Собственно, что здесь не так?
Возникли и другие вопросы:
1. Как понять, от чего именно тактируется МК.
2. Как определить длительность машинного цикла (без этого нельзя ничего толком написать).
3. Почему STVP не может стереть контроллер (все серое), но при этом запись не вызывает никаких ошибок.
Трудное детство, стальные игрушки.
Re: Программирование STM8
Голимый писал(а):2. Как определить длительность машинного цикла (без этого нельзя ничего толком написать).
что вам даст длительность машинного цикла?
чтобы понять сколько исполняется та или иная строка Си кода придется поднимать листинг и по даташиту собирать длину команд
длительность команд важна только на критическом пути, где важно успеть выполнить критически операции время исполнения которых соизмеримо с физическими возможностями контроллера
то есть близко к real time
в большинстве случаев достаточно запустить таймер с понятной длительностью периода и использовать его для мерила времени
Re: Программирование STM8
axillent писал(а):чтобы понять сколько исполняется та или иная строка Си кода придется поднимать листинг и по даташиту собирать длину команд
Язык не "С", язык - Ассемблер. Длительность каждой команды критически важная
Например, у МК AT89C51, длительность машинного цикла = 1 / (F кварца / 12) При кварце 12 мгц, длительность машинного цикла будет 1 мксек. А у STM8 как?
Трудное детство, стальные игрушки.
Re: Программирование STM8
у stm8 сколько будет выполняться последовательность команд так просто не определяемо, такие дела. Если время выполнения критично, и по таймеру выходит слишком медленно - возьмите несколько другой контроллер.
http://we.easyelectronics.ru/STM8/pogov ... -stm8.html
http://we.easyelectronics.ru/Deer/poche ... -stm8.html
http://we.easyelectronics.ru/STM8/pogov ... -stm8.html
http://we.easyelectronics.ru/Deer/poche ... -stm8.html
Re: Программирование STM8
1. Как понять, от чего именно тактируется МК.
2. Как определить длительность машинного цикла (без этого нельзя ничего толком написать).
3. Почему STVP не может стереть контроллер (все серое), но при этом запись не вызывает никаких ошибок.
1. Заглянуть в CLK->SWR
2. Как обычно.
3. Так его сделали.
придется поднимать листинг и по даташиту собирать длину команд
Не поможет. Неточности в документации и конвейер сделают своё грязное дело.
Например, у МК AT89C51, длительность машинного цикла = 1 / (F кварца / 12) При кварце 12 мгц, длительность машинного цикла будет 1 мксек. А у STM8 как?
Да так же. 1 / Fclk.
Если время выполнения критично, и по таймеру выходит слишком медленно - возьмите несколько другой контроллер.
Чушь. Для большинства задач это и даром не нужно. Для остальных юзать железо МК. Я например таких задач не могу представить чтобы пришлось юзать другой камень из-за критичности по времени.
Re: Программирование STM8
scorpi_0n писал(а):Я например таких задач не могу представить чтобы пришлось юзать другой камень из-за критичности по времени.
программный USB например.
Re: Программирование STM8
Как по мне это чистой воды извращение и просто не имеет никакого смысла.
Re: Программирование STM8
считайте как хотите
тот же v-usb - решение распространенное и востребованное. Как, например, вы предложили бы делать простенький usb-hid? Искать чип с аппаратным USB вместо тиньки? Та и мало ли чего там у Голимого, вряд ли ему надо только светодиодиком помыргать с такими запросами, хотя кто знает.
тот же v-usb - решение распространенное и востребованное. Как, например, вы предложили бы делать простенький usb-hid? Искать чип с аппаратным USB вместо тиньки? Та и мало ли чего там у Голимого, вряд ли ему надо только светодиодиком помыргать с такими запросами, хотя кто знает.Re: Программирование STM8
arkhnchul писал(а):Та и мало ли чего там у Голимого, вряд ли ему надо только светодиодиком помыргать с такими запросами, хотя кто знает.
Хочется освоить новый МК. Микроконтроллер новый, пока что "страшный", довольно запутанный. Не вечно же под 51 быдлокодить.
Непредсказуемость времени исполнения уже напрягает, т.к пишу с оглядкой на время исполнения, и неважно - светодиодом помигать, или USB эмулировать. Заводить машинный таймер ради 5 мксек задержки кажется непродуктивной идеей.
Трудное детство, стальные игрушки.
Re: Программирование STM8
жалко таймера?) периферии вагон, чего бы не завести.
Re: Программирование STM8
тот же v-usb - решение распространенное и востребованное. Как, например, вы предложили бы делать простенький usb-hid? Искать чип с аппаратным USB вместо тиньки?
Никто этим не заморачивается ни Микрочип ни СТМ ни другие. Это чисто атмэловский изврат. Хотя Микрочип и пошустрее ногами дрыгает.
Непредсказуемость времени исполнения уже напрягает, т.к пишу с оглядкой на время исполнения
Это порочная практика и прямое наследие асмописательства.
Заводить машинный таймер ради 5 мксек задержки кажется непродуктивной идеей.
Это самая продуктивная идея. Это просто нужно принять и осознать. Вся мощь СТМ именно в периферии а не в привычном ногодрыге.
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Программирование STM8
arkhnchul писал(а): Как, например, вы предложили бы делать простенький usb-hid? Искать чип с аппаратным USB вместо тиньки?
А чего искать, есть например простенький 20-ногий STM32F042, работает с USB без кварца. Можно не только usb-hid, а даже простенький 480kSps usb осциллограф сделать: http://tomeko.net/miniscope_v2e/
Re: Программирование STM8
Может кому интересно. Вышел новый ИАР 2201 под STM8 от 27.11.2015.
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Программирование STM8
добавлю:
для версий 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
для версий 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
Без отладки чем она лучше Notepad++ ?
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Программирование STM8
Особо ничем, выше написал удобства - 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 уже сделали.
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
Но без отладки она превращается в простой блокнот.
