Программирование STM8
- Zheleznjakov
- Нашел транзистор. Понюхал.
- Сообщения: 190
- Зарегистрирован: Сб июн 12, 2010 16:19:17
- Откуда: Россия, Томск
- Контактная информация:
Re: Программирование STM8
Да,
что понравилось то что они почти одинаковые (я на счет мк)
конечно не плох бы послушать гуру
потому что я новичек в данных мк
ещё не все успел попробовать из переферии
и использовал при комнатной температре
нужно будет погонять от минуса до плюса...
что понравилось то что они почти одинаковые (я на счет мк)
конечно не плох бы послушать гуру
потому что я новичек в данных мк
ещё не все успел попробовать из переферии
и использовал при комнатной температре
нужно будет погонять от минуса до плюса...
С уважением, Денис Железняков aka ZiB
Мой блог: http://ziblog.ru
Мой блог: http://ziblog.ru
-
Anton_Malygin
- Родился
- Сообщения: 4
- Зарегистрирован: Вт янв 11, 2011 00:32:50
Re: Программирование STM8
А как прицепить stvd Plotter к ST Visual Develop 4.2 ?
В описании написано как вызывать, но как прицепить нету.
В описании написано как вызывать, но как прицепить нету.
- Zheleznjakov
- Нашел транзистор. Понюхал.
- Сообщения: 190
- Зарегистрирован: Сб июн 12, 2010 16:19:17
- Откуда: Россия, Томск
- Контактная информация:
Re: Программирование STM8
Я им не пользуюсь.
Но первая же ссылка в гугле дает - Руковдство пользователя UM0036
http://www.scribd.com/doc/6548973/ST-Vi ... velop-STVD
и там на стр 208, вроде сказанно что да как...
Но первая же ссылка в гугле дает - Руковдство пользователя UM0036
http://www.scribd.com/doc/6548973/ST-Vi ... velop-STVD
и там на стр 208, вроде сказанно что да как...
С уважением, Денис Железняков aka ZiB
Мой блог: http://ziblog.ru
Мой блог: http://ziblog.ru
Re: Программирование STM8
Задам глупый вопрос: а Gcc или какой другой тулз под FreeBDS годится для компиляции программ для stm8 ?
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Re: Программирование STM8
aleksandr-zh писал(а):т.е., или STM8L-DISCOVERY или STM32VL-DISCOVERY
Не ... , все и сразу . Я купив только STM8S discovery , и получив STM32 discovery на халяву , теперь жалею что STM8L не купил.
- Телерадиокошак
- Прорезались зубы
- Сообщения: 200
- Зарегистрирован: Пт ноя 17, 2006 21:57:43
Re: Программирование STM8
uldemir писал(а):Задам глупый вопрос: а Gcc или какой другой тулз под FreeBDS годится для компиляции программ для stm8 ?
Я даже под Линукс ничего толком не нашел. Всего 3 C-компилятора, все три платные, с ограничениями в бесплатной версии, и все три под Винду.
Есть порт SDCC, но он еще в стадии очень ранней альфы, т.е. мало годится для нормального использования.
GCC нету.
Еще вроде tcc кто-то хотел портировать....
Вот, в общем то, и все.
-
Anton_Malygin
- Родился
- Сообщения: 4
- Зарегистрирован: Вт янв 11, 2011 00:32:50
Re: Программирование STM8
А можете ещё подсказать где в ST Visual Develop найти время которое идёт в контроллере.
в AVR Studio это в симуляторе был параметр (Stop Watch) измерялся либо в мкс или в мс..
Для того, что бы орентироваться сколько времени например задержка(delay) длится или ШИМ правильно ли расчитал и законфигурировал.
И незнаю где найти какой объём кода получился(н.п. Program: 1816 bytes (88.7% Full)
)!
По поводу плоттера..
В мануале написано
Дак у меня даже и нет такой строчки в Debug Instrument как Plotter Selection
в AVR Studio это в симуляторе был параметр (Stop Watch) измерялся либо в мкс или в мс..
Для того, что бы орентироваться сколько времени например задержка(delay) длится или ШИМ правильно ли расчитал и законфигурировал.
И незнаю где найти какой объём кода получился(н.п. Program: 1816 bytes (88.7% Full)
)!
По поводу плоттера..
В мануале написано
Код: Выделить всё
The Plotter selection window (Debug Instrument>Plotter Selection) provides the
interface for choosing the simulated items for plotting.Дак у меня даже и нет такой строчки в Debug Instrument как Plotter Selection
- Zheleznjakov
- Нашел транзистор. Понюхал.
- Сообщения: 190
- Зарегистрирован: Сб июн 12, 2010 16:19:17
- Откуда: Россия, Томск
- Контактная информация:
Re: Программирование STM8
Я сам не нашел как вывести размер кода, правда я сильно не искал сразу перешл на Eclipse+Makefile
У меня только получилось вывести размер всех секций, что более информативно:
http://ziblog.ru/2011/01/24/stm8l-ndash-pervyiy-start/
У меня только получилось вывести размер всех секций, что более информативно:
http://ziblog.ru/2011/01/24/stm8l-ndash-pervyiy-start/
С уважением, Денис Железняков aka ZiB
Мой блог: http://ziblog.ru
Мой блог: http://ziblog.ru
-
Anton_Malygin
- Родился
- Сообщения: 4
- Зарегистрирован: Вт янв 11, 2011 00:32:50
Re: Программирование STM8
Я тут перевожу проект с индикатором WH0802 с AVR на STM8S и меня интересует вопрос с чтением флага занятости BS (Busy).
Для его чтения обязательно переводить порт в режим ВХОДА? или можно прочитать этот флаг в режиме ВЫХОДА с регистра Px_IDR ?
В мануале названия регистров даны в виде Px_IDR, но почему то напрямую к ним обратиться нельзя (как в AVR ) нужно писать что-то вроде такого GPIOx->IDR хотел бы узнать это особенность МК или же компилятора Cosmics в котором осваиваю данные микроконтроллеры?
Для его чтения обязательно переводить порт в режим ВХОДА? или можно прочитать этот флаг в режиме ВЫХОДА с регистра Px_IDR ?
В мануале названия регистров даны в виде Px_IDR, но почему то напрямую к ним обратиться нельзя (как в AVR ) нужно писать что-то вроде такого GPIOx->IDR хотел бы узнать это особенность МК или же компилятора Cosmics в котором осваиваю данные микроконтроллеры?
- Zheleznjakov
- Нашел транзистор. Понюхал.
- Сообщения: 190
- Зарегистрирован: Сб июн 12, 2010 16:19:17
- Откуда: Россия, Томск
- Контактная информация:
Re: Программирование STM8
Да, для чения извне нужно переводить линую на ввод, как иначе? (в авр аналогично 
Обращение зависит от того как прописанны в заголовочнике регистры и биты,
где-то встречал Px_IDR, по моему мои первый макросы были так писанны (глянь у меня в разделе stm8),
сейчас использую GPIOx->IDR, особой разницы нет, но более логично.
Обращение зависит от того как прописанны в заголовочнике регистры и биты,
где-то встречал Px_IDR, по моему мои первый макросы были так писанны (глянь у меня в разделе stm8),
сейчас использую GPIOx->IDR, особой разницы нет, но более логично.
С уважением, Денис Железняков aka ZiB
Мой блог: http://ziblog.ru
Мой блог: http://ziblog.ru
-
qwerky
- Мучитель микросхем
- Сообщения: 487
- Зарегистрирован: Пт июн 12, 2009 19:17:35
- Контактная информация:
Re: Программирование STM8
под Wine вроде бы норм, и среда, и компиляторыТелерадиокошак писал(а):Я даже под Линукс ничего толком не нашел. Всего 3 C-компилятора, все три платные, с ограничениями в бесплатной версии, и все три под Винду.uldemir писал(а):Задам глупый вопрос: а Gcc или какой другой тулз под FreeBDS годится для компиляции программ для stm8 ?
у него серъезный недостаток - почти никакой оптимизации, использовал для 8051 и PIC16 - под PIC код раздувался в 4 раза по сравнению с аналогичным на ASMе.Есть порт SDCC, но он еще в стадии очень ранней альфы, т.е. мало годится для нормального использования.
Это жаль, хотя странно что ST сразу не портировали - архитектура с линейным пространством идеально подходит, в отличие от AVR.GCC нету.Еще вроде tcc кто-то хотел портировать....
- Телерадиокошак
- Прорезались зубы
- Сообщения: 200
- Зарегистрирован: Пт ноя 17, 2006 21:57:43
Re: Программирование STM8
А прошивку в микроконтроллер получится залить?qwerky писал(а):под Wine вроде бы норм, и среда, и компиляторы
-
qwerky
- Мучитель микросхем
- Сообщения: 487
- Зарегистрирован: Пт июн 12, 2009 19:17:35
- Контактная информация:
Re: Программирование STM8
пока нетТелерадиокошак писал(а):А прошивку в микроконтроллер получится залить?qwerky писал(а):под Wine вроде бы норм, и среда, и компиляторы
но люди работают над добавлением поддержки ST-Link в OpenOCD:
http://www.versaloon.com/bbs/viewtopic.php?f=2&t=17
также старшие STM8 содержат бутлоадер, протокол описан в UM0560, думаю написать консольную утилитку несложно
- Goodefine
- Держит паяльник хвостом
- Сообщения: 906
- Зарегистрирован: Ср апр 16, 2008 13:22:54
- Откуда: Приднестровье, Тирасполь
Re: Программирование STM8
Вот и я помигал светодиодами на stm8l-discovery... Оказалось все довольно просто, пока... Основное время ушло на прикручивание компилятора (cosmic) к среде разработки (STDV) и на разбирательство с настройками проекта. По изумлялся над индусской организацией проектов... Как мне показалось, мануал по настройке среды лучше вообще не читать в некоторых местах... Библиотеки наверняка придется править, под человеческий вид... Но это потом, а пока принимайте в начинающие
...
Любой, заслуживающий внимания, опыт приобретается себе в убыток...
-
qwerky
- Мучитель микросхем
- Сообщения: 487
- Зарегистрирован: Пт июн 12, 2009 19:17:35
- Контактная информация:
Re: Программирование STM8
как писать в EEPROM в COSMICe ?
объявил переменную с атрибутом @eeprom, разрешил запись в FLASH_DUKR (чтение FLASH_CR2 подтверждает разблокирование). Пробую писать прямым присваиванием и вызовом eepset. Если считать переменную сразу после записи, то значение соответствует записанному. Но чтение после отключения питания возвращает 0. Может нужна еще какая хитрая последовательность ?
объявил переменную с атрибутом @eeprom, разрешил запись в FLASH_DUKR (чтение FLASH_CR2 подтверждает разблокирование). Пробую писать прямым присваиванием и вызовом eepset. Если считать переменную сразу после записи, то значение соответствует записанному. Но чтение после отключения питания возвращает 0. Может нужна еще какая хитрая последовательность ?
- Zheleznjakov
- Нашел транзистор. Понюхал.
- Сообщения: 190
- Зарегистрирован: Сб июн 12, 2010 16:19:17
- Откуда: Россия, Томск
- Контактная информация:
Re: Программирование STM8
Сам пока не работал, но вот выше сообщеие было
--
Недавно научился записывать/считывать eeprom у stm8l152. Блин, знаете ли, долго доходило. Оказывается все просто, надо было разлочить регион области и все. Две строчки и все заработало.
причем запись объявления переменной катит даже вот так:
__no_init u8 ee_char@0x1000; // переменная будет работать уже в еепром. Записывай - считывай, все будет работать. Вот вам и линейная адресация.
Разлочить регион еепром можно присоеденив из библиотеки тулсы для работы с флэш памятью. Именно там есть и работа с еепром.
--
Недавно научился записывать/считывать eeprom у stm8l152. Блин, знаете ли, долго доходило. Оказывается все просто, надо было разлочить регион области и все. Две строчки и все заработало.
причем запись объявления переменной катит даже вот так:
__no_init u8 ee_char@0x1000; // переменная будет работать уже в еепром. Записывай - считывай, все будет работать. Вот вам и линейная адресация.
Разлочить регион еепром можно присоеденив из библиотеки тулсы для работы с флэш памятью. Именно там есть и работа с еепром.
С уважением, Денис Железняков aka ZiB
Мой блог: http://ziblog.ru
Мой блог: http://ziblog.ru
-
qwerky
- Мучитель микросхем
- Сообщения: 487
- Зарегистрирован: Пт июн 12, 2009 19:17:35
- Контактная информация:
Re: Программирование STM8
угу, и это понятно сразу после чтения документации:Оказывается все просто, надо было разлочить регион области и все.
Код: Выделить всё
FLASH_DUKR = 0xAE;
FLASH_DUKR = 0x56;
во 1х в 8S103 eeprom расположен по адресу 0х4000, и в COSMIC переменные в eeprom объявляются иначе - с атрибутом @eeprom.причем запись объявления переменной катит даже вот так:
__no_init u8 ee_char@0x1000; // переменная будет работать уже в еепром.
не работаетЗаписывай - считывай, все будет работать
для переменных в COSMICе ничего присоединять не нужно. А для блоков все функции есть в string.hРазлочить регион еепром можно присоеденив из библиотеки тулсы для работы с флэш памятью. Именно там есть и работа с еепром.
- Goodefine
- Держит паяльник хвостом
- Сообщения: 906
- Зарегистрирован: Ср апр 16, 2008 13:22:54
- Откуда: Приднестровье, Тирасполь
Re: Программирование STM8
Выход один - смотрите ассемблерный листинг, что там натворил компилятор и насколько это соответствует документации..
Любой, заслуживающий внимания, опыт приобретается себе в убыток...
-
qwerky
- Мучитель микросхем
- Сообщения: 487
- Зарегистрирован: Пт июн 12, 2009 19:17:35
- Контактная информация:
Re: Программирование STM8
Получилось записать, непонятно в чем была проблема. Плюс отладчик задолбал - при перепрограммировании полностью стирает EEPROM, приходится каждый раз редактировать настройки.
Теперь непонятки с watchdog. Настроил на 1 сек:
Но при малейшей задержке в программе (однозначно меньше секунды - например чтение DS18B20 или запись EEPROM) происходит сброс.
Теперь непонятки с watchdog. Настроил на 1 сек:
Код: Выделить всё
IWDG_KR = 0x55; // enable access
IWDG_PR = 0b110; // prescaler
IWDG_RLR = 0xFF; // reload value
IWDG_KR = 0xCC; // start
Re: Программирование STM8
Всем доброго дня, занялся освоением данного зверя опыта большого нет в программировании пока только желание
, не пойму как настроить таймер, больно много регистров и в даташите на вражеском все
=), конкретно нужно настроить 2й таймер первый канал на вход, чтоб считал импульсы приходящии на него и инкрементировал счетчик таймера, где это число хранитья? Если кто расшифрует все регистры и биты(на обычный русский а не перевод дословный) будет вообще супер
, так как в будущем все равно нужно бы знать как настраивать самому.