реклама на сайте
подробности

 
 
11 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> STM8, кто нибудь использует?
KRS
сообщение Apr 13 2010, 11:27
Сообщение #1


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Наткнулся тут на новое семейство.
Заинтересовали LQFP44 c CAN, как дешовая замена AT90CAN64 или мелких STM32.

На семинар
http://catalog.compel.ru/blog/2010/04/08/2...ntrollery-stm8/
никто не собирается?
Go to the top of the page
 
+Quote Post
zksystem
сообщение Apr 13 2010, 13:06
Сообщение #2


embedder
***

Группа: Свой
Сообщений: 264
Регистрация: 11-05-05
Из: Казань
Пользователь №: 4 911



Я пользую STM8, только CAN в них не юзал. Обидно что халявных компиляторов без ограничения по коду у них нет sad.gif а так в принципе интересные камушки.


--------------------
Мечты стареют куда быстрее мечтателей… Стивен Кинг. "Ловец снов"
Go to the top of the page
 
+Quote Post
Pat
сообщение Apr 13 2010, 18:52
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 27-05-05
Из: Энергодар
Пользователь №: 5 480



Цитата(zksystem @ Apr 13 2010, 15:21) *
Я пользую STM8, только CAN в них не юзал. Обидно что халявных компиляторов без ограничения по коду у них нет sad.gif а так в принципе интересные камушки.


Можно ли подробнее чем пользуютесь и как отлаживаетесь.

Для быстрого старта есть не дорого
http://www.kosmodrom.com.ua/el.php?name=STM8-D

Не понятно ST-Link который у него на борту какие имеет ограничения?

Немного bb-offtopic.gif сейчас разбираюсь с STM32 ну очень приятные ощущения от ST в целом.
Go to the top of the page
 
+Quote Post
KRS
сообщение Apr 13 2010, 20:02
Сообщение #4


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Pat @ Apr 13 2010, 23:07) *
Можно ли подробнее чем пользуютесь и как отлаживаетесь.

+1


Цитата(Pat @ Apr 13 2010, 23:07) *
Немного bb-offtopic.gif сейчас разбираюсь с STM32 ну очень приятные ощущения от ST в целом.

Ну после появления LPC17xx LPC13xx STM32 IMHO не актуальны.
Go to the top of the page
 
+Quote Post
delamoure
сообщение Apr 14 2010, 10:59
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 176
Регистрация: 2-04-08
Из: Днепропетровск
Пользователь №: 36 406



Актуальность определяется целесообразностью применения.
Вот понять не могу: как LPC13xx и, по-моему, LPC1100 можно было не реализовать ИОН для АЦП?
Или хоть возможность его внешнего подключения.
Сделать АЦП 12 бит.
Где RTC?
В младших STM32 все это можно найти.
А с NXP один выход - приходиться пробовать LCP17xx. А там размер корпуса 12X12 sad.gif


--------------------
Ребята, как же это вы без гравицапы пепелац выкатываете из гаража? Это непорядок. ©
Go to the top of the page
 
+Quote Post
ukpyr
сообщение Apr 14 2010, 11:37
Сообщение #6


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



Цитата
как дешовая замена AT90CAN64 или мелких STM32
или STM8S103 как замена Atmega8
жаль gcc не портировали...
Go to the top of the page
 
+Quote Post
KRS
сообщение Apr 14 2010, 13:02
Сообщение #7


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(ukpyr @ Apr 14 2010, 15:52) *
жаль gcc не портировали...

Почитал я описание ядра.
2 индексных регистра и аккумулятор (если счетчик команд, стек и флаги не считать)
Пространства для оптимизации нет smile.gif
Методы адресации различаются количеством байт адреса (ну и указатель на указатель возможен)

Зато компилер, должно быть просто портировать.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Apr 14 2010, 13:23
Сообщение #8


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(KRS @ Apr 14 2010, 00:17) *
Ну после появления LPC17xx LPC13xx STM32 IMHO не актуальны.

Это смотря где.
У STM32 более обширная периферия.
Например, есть SDIO контроллер и CPU интерфейс.

Плюс с непривычки у LPC17xx покоробило при сбросе подключение к пинам GPIO pullup резисторов, вместо более логичных pulldown у STM.
Go to the top of the page
 
+Quote Post
zksystem
сообщение Apr 15 2010, 10:45
Сообщение #9


embedder
***

Группа: Свой
Сообщений: 264
Регистрация: 11-05-05
Из: Казань
Пользователь №: 4 911



Цитата(Pat @ Apr 13 2010, 23:07) *
Можно ли подробнее чем пользуютесь и как отлаживаетесь.

Не понятно ST-Link который у него на борту какие имеет ограничения?

Немного bb-offtopic.gif сейчас разбираюсь с STM32 ну очень приятные ощущения от ST в целом.


использую в качестве программера/дебаггера Raisonance R-Link.
IDE - ST Visual Developer
C компилятор - Raisonance C compiler (с ограничением по размеру кода) sad.gif
Есть еще компилятор Cosmic - но он мне чего-то не понравился.

Камушки классные, а вот с компилятором такая засада...


--------------------
Мечты стареют куда быстрее мечтателей… Стивен Кинг. "Ловец снов"
Go to the top of the page
 
+Quote Post
Xenia
сообщение Apr 16 2010, 12:53
Сообщение #10


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(zksystem @ Apr 13 2010, 17:21) *
Я пользую STM8, только CAN в них не юзал. Обидно что халявных компиляторов без ограничения по коду у них нет sad.gif а так в принципе интересные камушки.

Не расстраивайтесь! smile.gif Только что сегодня, внемля вашим рыданиям, IAR создал для него компилятор! Полную версию пока еще раздобыть не удалось, но эвалюйшен и старткик уже раздаются.
Удивляет, что в таблице поддерживаемых МК серия STM8 не значится. И на сайте про нее ничего не сказано, зато торчит неприкаянная страничка (нормального пути к ней из сайта нет), позволяющая скачать эвалюэйшен-версию:
http://www.iar.com/website1/1.0.1.0/2167/1/
Go to the top of the page
 
+Quote Post
KRS
сообщение Apr 17 2010, 19:33
Сообщение #11


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Xenia @ Apr 16 2010, 17:08) *
Не расстраивайтесь! smile.gif Только что сегодня, внемля вашим рыданиям, IAR создал для него компилятор!

Это хорошая новость!!!
А кто нибудь его уже ставил?
Какое железо для отладки он умеет использовать?
Go to the top of the page
 
+Quote Post
Xenia
сообщение Apr 17 2010, 19:39
Сообщение #12


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(KRS @ Apr 17 2010, 23:48) *
А кто нибудь его уже ставил?
Какое железо для отладки он умеет использовать?

А вот вы себе поставьте, а нам расскажите sm.gif. Список поддерживаемого железа, как всегда, в опциях компилятора.
Go to the top of the page
 
+Quote Post
KRS
сообщение Apr 17 2010, 19:58
Сообщение #13


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Xenia @ Apr 17 2010, 23:54) *
А вот вы себе поставьте, а нам расскажите smile.gif

Да у меня пока нет ни одной платы с такими чипами.
Для чипа такого уровня и отладчик то не сильно нужен. Но вот шить из под IAR было бы удобно.
Да и чип поисследовать тоже.
Насколько я понял самый оптимальный по цене - ST-LINK.
Просто покупать ST-ICE за 2 штуки баксов это как то....
Go to the top of the page
 
+Quote Post
Xenia
сообщение Apr 17 2010, 20:04
Сообщение #14


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(KRS @ Apr 18 2010, 00:13) *
Насколько я понял самый оптимальный по цене - ST-LINK.
Просто покупать ST-ICE за 2 штуки баксов это как то....

А вы купите "STM8s Discovery"( http://www.terraelectronica.ru/pdf/ST/STM8S-DISCOVERY.pdf )
В Терраэлектронике стоит всего 350 рублей ( http://www.terraelectronica.ru/catalog.php...e=2&PageS=1 )
Там на плате за эти деньги уже и МК стоит (STM8S105C6T6, 32 KB Flash, 2 KB RAM, 1 KB EEPROM), и питание с кварцем, и даже USB-интерфейс (!) для подключения к компьютеру. Вроде бы ST-LINK даже встроен туда. Подключаешь USB-кабелем к компу и больше ничего не надо.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 17 2010, 20:13
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(KRS @ Apr 17 2010, 22:48) *
Какое железо для отладки он умеет использовать?

Ровно два
ST-Link и STice
До кучи у него IDE приляпали некой шестой версии.
Вообще-то чип странноватый обычная для ST (по сравнению с AVR8 разнообразнее разве только за счет CAN) периферия, не сомневаюсь, что, как обычно недоработанная и с библиотекаими вместо документации. Обычная для 8bit частота ядра. Обычно минималистичные размеры памяти. Простенькое ядро...
Все обычно. Но зачем-то и многоногие. Ценой брать собираются? Непохоже совсем - на digikey интересные чипы с CAN на борту имеют неразумные цены выше 5 баксов.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
KRS
сообщение Apr 17 2010, 20:30
Сообщение #16


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Xenia @ Apr 18 2010, 00:19) *
А вы купите "STM8s Discovery"

Не мне такой не нужен. Мне этот чип без CAN вообще не нужен smile.gif
Лично мне эта архитектура совсем не понравилась!
(IMHO эта архитектура - производителям компиляторов должна понравится smile.gif)
Но вот мелкого и дешового чипа с CAN больше нет! ( а тут еще и EEPROM есть).
Хотя вот еще ATmega16M1 появилась!

Цитата(zltigo @ Apr 18 2010, 00:28) *
До кучи у него IDE приляпали некой шестой версии.

Ну вот, а ходили слухи что на Eclipse собираются переходить.

Сообщение отредактировал KRS - Apr 17 2010, 20:29
Go to the top of the page
 
+Quote Post
Xenia
сообщение Apr 17 2010, 20:32
Сообщение #17


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(KRS @ Apr 18 2010, 00:42) *
Лично мне эта архитектура совсем не понравилась!

А вот это уже интересно! Не поделитесь ли вашими впечатлениями об архитектуре STM8? Что именно не понравилось? Как она выглядит по сравнению с AVR? Если вы уже успели составить свое впечатление об этой архитектуре, то было бы крайне интересно вас послушать.
Мнение zltigo по этому же вопросу меня тоже очень интересует.
Go to the top of the page
 
+Quote Post
KRS
сообщение Apr 17 2010, 20:48
Сообщение #18


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Xenia @ Apr 18 2010, 00:47) *
Не поделитесь ли вашими впечатлениями об архитектуре STM8?

Она проста до безобразия -
счетчик команд, указатель стека, флаги
аккумулятор и 2 индексных регистра.

Основой текст в описании (которе кстати читать тяжеловато) идет вокруг количетсва бит формиующего адрес. Из-за того что этих бит может быть 8, 16,.... режимов адресации очень много...
Единственный интересный момент (раньше о таком не слышал) - это двойная адресация памяти, т.е. например после команды лежит ардрес указателя на данные (причем эти адреса могут быть разной длины, что порождает множество типов).

А дальше все тривиально - операции с одним операндом только в аккумуляторе ( сдвиги например), с двумя - аккумулятор + память, результат в аккумулятор (сложение например).
Ну есть пара инструкций для 16 битных индексных регистров. И работа с битами в памяти.
В общем на асме писать просто скучно, обязательно нужен компилер!!!

Еще раз повторюсь - описание на архитектуру, как то очень тяжело читается! (по сравнению с ARM, AVR, x51). Не в смысле самой архитектуры а стиле описания.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 17 2010, 21:05
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(KRS @ Apr 18 2010, 00:03) *
Она проста до безобразия -

по Вашему описанию, это похоже на усеченную интеловскую 86/88


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
KRS
сообщение Apr 17 2010, 21:18
Сообщение #20


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(zltigo @ Apr 18 2010, 01:20) *
по Вашему описанию, это похоже на усеченную интеловскую 86/88

Это надо сильно обрезать smile.gif - оставить SI, DI и AL
Чем то на 51 похоже, чем то на PIC (хотя с ними я не работал)

если не считать флаги, sp, PC
получается один 8 битный регистр через который идет вся математика. И 2 индесных регистра, которые нужны для доступа к массивам.
Одно удобство - страниц нет! память линейно адресуется!
Go to the top of the page
 
+Quote Post
Xenia
сообщение Apr 17 2010, 21:24
Сообщение #21


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Поглядела я на Instruction set этого STM8 - дерьмо! smile.gif Помимо аккумулятора A, там всего лишь два регистра X и Y. И это всё! Правда регистры программного счетчика PC и стека SP там есть, то это погоды не делает. Ужас! И это после 32-х регистров AVR кто-то еще станет переходить на этот дохлый STM8? Ни в жисть не поверю!
http://www.st.com/stonline/products/literature/pm/13590.pdf
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 17 2010, 22:40
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Xenia @ Apr 18 2010, 00:39) *
Поглядела я на Instruction set этого STM8 - дерьмо! smile.gif Помимо аккумулятора A, там всего лишь два регистра X и Y. И это всё!
Ужас! И это после 32-х регистров AVR кто-то еще станет переходить на этот дохлый STM8? Ни в жисть не поверю!

Фу как мелко sad.gif. И как же, например, STM8 в Вашем зацикленном на AVR представлении вообще без регистров работает? Невероятно? А теперь представьте, что вся память у контроллера на правах регистров. У AVR, говорите, их только 32? Ужас! smile.gif smile.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Xenia
сообщение Apr 18 2010, 01:18
Сообщение #23


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(zltigo @ Apr 18 2010, 02:55) *
А теперь представьте, что вся память у контроллера на правах регистров. У AVR, говорите, их только 32? Ужас!

Вся память не работает у STM8 на правах регистров. Или регистры тогда должны быть совсем бесправные smile.gif. Например, у AVR-регистров такие права, что их можно складывать (а также вычитать и проводить логические операции) одной единственной инструкцией за один такт! А над ячейками памяти такое вообще невозможно. К тому же STM8 может выполнять арифметические и логические операции только одном регистре - аккумуляторе. Вот и получится программа, где 70% кода будет гонять число из памяти в аккумялятор и обратно.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Apr 18 2010, 03:57
Сообщение #24


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Xenia @ Apr 18 2010, 04:33) *
Вот и получится программа, где 70% кода будет гонять число из памяти в аккумялятор и обратно.

Нет. MOV mem1, mem2 там есть. Проблема в другом - маловато индексных регистров. Да и умножение за 4 цикла напрягает.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 18 2010, 07:28
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Xenia @ Apr 18 2010, 04:33) *
К тому же STM8 может выполнять арифметические и логические операции только одном регистре - аккумуляторе.

Разумеется это не так. Работа с одним операндом и двумя, если второй константный, осуществляется без участия аккумулятора. Пересылка память - память тоже есть. Это просто не AVR-овская Load Store архитектура вынужденная иметь много регистров, дабы минимизировать те самые "гонять число". Вы пытаетесь приписать ST8 еще и родимые пятна AVR8 sad.gif.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
KRS
сообщение Apr 18 2010, 08:30
Сообщение #26


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(zltigo @ Apr 18 2010, 11:43) *
Разумеется это не так. Работа с одним операндом и двумя, если второй константный, осуществляется без участия аккумулятора.

У арифметичесикх инструкций сложение, вычитание и логических AND,OR,
dst A (У 16 битных индексный регистр)

Есть правда инкремент, декремент, инверсия, сдвиг памяти и NEG на память работает.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 18 2010, 08:32
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(KRS @ Apr 18 2010, 11:45) *
Есть правда инкремент, декремент, инверсия, сдвиг памяти и NEG на память работает.

.. и манипуляции с битами, как установка с переносами, так и анализ, swap. В общем достаточно неплохо. Архитектура достаточно сложная получилась ( без закосов под RISC ) и не думаю, что просто так вышло или не разработчики не смогли понять за прошедшие годы, как, например, тот-же изначально просто задуманный, а ныне покрытый наслоениями улучшений, AVR8 работает smile.gif.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
scifi
сообщение Apr 18 2010, 08:34
Сообщение #28


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Странный спор... Я-то по наивности думал, что в жизни имеет значение не число регистров и остальные тонкости, а реальная производительность.
Вот бы кто-нибудь померил DMIPS/MHz или что-нибудь такое, было бы уже интереснее.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 18 2010, 09:11
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(scifi @ Apr 18 2010, 11:49) *
Странный спор...

Да нет никакого спора, это просто Xenia, как обычно, в силе "нет бога кроме Аллаха Atmel и Мухаммад AVR пророк его" выступает. А так все нормально.
Цитата
Я-то по наивности думал, что в жизни имеет значение не число регистров и остальные тонкости, а реальная производительность.
Вот бы кто-нибудь померил DMIPS/MHz или что-нибудь такое, было бы уже интереснее.

Даже думаю, что это не особо важно - контроллер явно не бить рекорды производительности сделан. В два раза попугаистее других не будет да и в два раза тормознее тоже.
P.S.
Только сейчас глянул, ST что обещают что-то типа 0.83 MIPS/MHz. Atmel на голубом глазу сообщает для AVR8, что up то 1MIPS/MHz smile.gif. Вот и все. Не припомю, но вроде ни разу тот-же AVR на полной тактовой не использовал - за ненадобностью. Для попугаев сейчас мелкие Corteх под и за сотню мегагерц.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Xenia
сообщение Apr 18 2010, 13:24
Сообщение #30


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(zltigo @ Apr 18 2010, 13:26) *
Да нет никакого спора, это просто Xenia, как обычно, в силе "нет бога кроме Аллаха Atmel и Мухаммад AVR пророк его" выступает.

Дело обстоит прямо противоположным образом - именно вам Atmel предсталяется чем-то вроде Сатаны. Пример тому - архитектура AVR32, которая столь разительно отличается от AVR8, что здесь больше различий, чем сходства. Однако ваша риторика столь же агрессивна и в отношении AVR32. Причем вся ваша критика направлена, как всегда, не на конкретные огрехи архитектуры, а на обливание помоями Atmel и злорадство по поводу ее малейших производственных трудностей.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 18 2010, 14:23
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Xenia @ Apr 18 2010, 16:39) *
Дело обстоит прямо противоположным образом - именно вам Atmel предсталяется чем-то вроде Сатаны.

smile.gif. Опять sad.gif понесло. Xenia, ну поймите наконец, что я лично совершенно спокойно использую и буду в обозримом будущем использовать тот-же "сатанинский" AVR8. Вот до конца месяца сделаю очередную небольшую коробочку на ATMEGA8. Без всякой предвзятости, как и почти дюжину других ядер. Я их все люблю, со всеми их "конкретными огрехами архитектуры". А вот у Вас саму себя зажавшую в рамки AVR явные проблемы с мировосприятием. Ну переступите, наконец через свою болезненно-фанатичную преданность буквам. Полегчает! Глядишь, и перестанет Сатана в моем лице являться smile.gif.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Xenia
сообщение Apr 18 2010, 16:04
Сообщение #32


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(zltigo @ Apr 18 2010, 18:38) *
А вот у Вас саму себя зажавшую в рамки AVR явные проблемы с мировосприятием. Ну переступите, наконец через свою болезненно-фанатичную преданность буквам. Полегчает!

Специально для вас заявляю, что затеяла сравнение STM8 с AVR именно по той причине, что STM8 претендует как раз на ту нишу, которую в настоящее занимают AVR. Так что если STM8 и имеет перспективы внедрения, то во многом путем вытеснения из этой ниши AVR. В этом смысле сравнение архитектуры STM8 с теми архитектурами, с которыми ему придется конкурировать, вполне оправдано. И это, отнюдь, не мои фантазии, т.к. еще до меня в посте #6 уже поднимался вопрос о возможности замены ATmega8 на STM8S103.
Вы же пытаетесь переводить разговор на личности, бичуя в участниках форума якобы выявленные вами недостатки. И это уже не в первый раз, и не только в мой адрес.
Go to the top of the page
 
+Quote Post
Pat
сообщение Apr 18 2010, 17:28
Сообщение #33


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 27-05-05
Из: Энергодар
Пользователь №: 5 480



Цитата(Xenia @ Apr 18 2010, 18:19) *
уже поднимался вопрос о возможности замены ATmega8 на STM8S103.
Вы же пытаетесь переводить разговор на личности, бичуя в участниках форума якобы выявленные вами недостатки. И это уже не в первый раз, и не только в мой адрес.


Xenia не руйтесь rolleyes.gif и спасибо за инфу по компилятору.

Наверное заменять мегу8 на STM8 не стоит ибо у них цена почти одинаковая, а вот ATmega128 очень даже неплохо заменить на STM8S208
так как цена даже у розничного продавца отличается почти в 2 раза.

Думаю что сравнивать попугаи AVR c STM8 не стоит, все будет примерно одинаково.

Установил EWSTM8 и в симуляторе запустил пример STM8S208MB-Board
Было интересно посмотреть вход в прерывание и не очень проникся там сплошные call.
Причем сохранение регистров в стеке реализовано тоже через их вызыв.
Это при любой степени оптимизации.
Либо я чего то не понимаю либо ИАР пока не доработал компилятор.
Go to the top of the page
 
+Quote Post
WHALE
сообщение Apr 18 2010, 17:49
Сообщение #34


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



Цитата(Pat @ Apr 18 2010, 21:43) *
Xenia не руйтесь rolleyes.gif и спасибо за инфу по компилятору.
Наверное заменять мегу8 на STM8 не стоит ибо у них цена почти одинаковая,

а вы поинтересуйтесь доставабельностью той-же меги8.Я думаю-сильно удивитесь.
Атмел в очередной раз кинул потребителей-старые чипы с производства сняты и на
складах их уже нет,новые(А серия) только ожидаются...


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
Xenia
сообщение Apr 18 2010, 18:30
Сообщение #35


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(WHALE @ Apr 18 2010, 22:04) *
а вы поинтересуйтесь доставабельностью той-же меги8.Я думаю-сильно удивитесь.
Атмел в очередной раз кинул потребителей-старые чипы с производства сняты и на складах их уже нет, новые (А серия) только ожидаются...

Я полагаю, что это обычный "пересменок", когда один тип МК снимается с производства, а ему на замену приходит приемник или аналог. Сказывается типичная человеческая инерция: конечные потребители "стесняются" оставлять заявки на новый тип (продолжая заказывать старый), опасаясь, что его выпуск задержится. Вслед за этим и крупные диллеры, подбивая такие заявки, не спешат заказывать продукцию нового типа, в свою очередь опасаясь недостаточного на нее спроса. А производителю в этой ситуации не остается ничего иного, как ждать, пока старая продукция не иссякнет на складах. Похоже на то, что именно сейчас наступил период "голодухи", когда складские запасы ATmega8 иссякают. На моей памяти такое уже было с AT90S2313, когда ее заменяли на ATtiny2313 - тоже была "голодуха", когда в розничной продаже не было ни того, ни другого.
Go to the top of the page
 
+Quote Post
WHALE
сообщение Apr 18 2010, 18:44
Сообщение #36


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



Цитата(Xenia @ Apr 18 2010, 22:45) *
Я полагаю, что это обычный "пересменок", когда один тип МК снимается с производства, а ему на замену приходит приемник или аналог.

Дней десять назад разговаривал как раз на эту тему с товарищем,работающем разработчиком.
Он утверждает,что такие фортели характерны именно для атмеля.Другие производители обеспечивают
плавную миграцию со старых кристаллов.


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 18 2010, 19:35
Сообщение #37


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Xenia @ Apr 18 2010, 21:45) *
Я полагаю, что это обычный "пересменок"....

Да, спасибо sad.gif, наверное Ваш ответ "успокоит" моего друга выполняющего заказ на Tiny2313, который вроде ничем прямо не заменяется, но который шерстит всех оптовиков по собирая все, что можно в любых количествах и любых упаковках. По поводу упаковки еще выслушивая контрактного производителя вынужденного ставить эти чипы почти руками. Кстати, по ST в наших краях явных проблем не наблюдается. А мне Атмеловские I2C EEPROM работающие на мегагерце в четверг за 6-7 месяцев поставить пообещали. Опять, типа поклеп на Atmel sad.gif.
Цитата(WHALE @ Apr 18 2010, 21:04) *
а вы поинтересуйтесь доставабельностью той-же меги8.

С просто MEGA8 совсем тупика нет, но 8L - уже фиг вам, ну 8A - типа еще фиг вам. А зарабатывать надо сегодня.

Цитата(Xenia @ Apr 18 2010, 19:19) *
Специально для вас заявляю, что затеяла сравнение STM8 с AVR именно по той причине, что STM8 претендует как раз на ту нишу, которую в настоящее занимают AVR.

И если не благодаря цене или параметрам, то благодаря, цитирую, "ее малейшим производственным трудностям" и "обычным пересменкам", ST нишу займет. Думаю, это действительно для того-же ST основной фактор выброса STM8. Не улыбаться, ни печалиться я по этому поводу я не буду - просто констатация факта.

Цитата(Xenia @ Apr 18 2010, 19:19) *
... и не только в мой адрес.

По отношению к Вам исключительно из самых добрых побуждений.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Xenia
сообщение Apr 18 2010, 20:05
Сообщение #38


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(zltigo @ Apr 18 2010, 23:50) *
Да, спасибо sad.gif, наверное Ваш ответ "успокоит" моего друга выполняющего заказ на Tiny2313, который вроде ничем прямо не заменяется, но который шерстит всех оптовиков по собирая все, что можно в любых количествах и любых упаковках.

Кажется, что с Tiny2313 действительно та же самая история - на Tiny2313A ее заменяют. Пересменок, однако smile.gif.
Go to the top of the page
 
+Quote Post
Stanislav_S
сообщение Apr 19 2010, 07:41
Сообщение #39


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



Хм.. пересменка говорите? Так вот китайское представительство атмела, на Мегу8, 48, 88 послало на 5 месяцев, а мне их надо минимум 3000 штук в месяц. И что теперь делать? Покупать мегу48 по 1,8$, как нам поставщики предлагают? это маразм. Так что Атмел очень сильно упал в моих глазах, теперь для следующих девайсов буду думать о переходе на другие МК, поскольку такой цирк уже достал.


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post
zksystem
сообщение Apr 22 2010, 12:20
Сообщение #40


embedder
***

Группа: Свой
Сообщений: 264
Регистрация: 11-05-05
Из: Казань
Пользователь №: 4 911



Ну свет клином не сошелся на атмелах и микрочипах, после пиков, например, мне как-то комфортнее на STM8 в простых задачах, не считая казуса с компиляторами.


--------------------
Мечты стареют куда быстрее мечтателей… Стивен Кинг. "Ловец снов"
Go to the top of the page
 
+Quote Post
_Bill
сообщение Apr 27 2010, 19:48
Сообщение #41


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(Xenia @ Apr 18 2010, 05:18) *
Вся память не работает у STM8 на правах регистров. Или регистры тогда должны быть совсем бесправные smile.gif. Например, у AVR-регистров такие права, что их можно складывать (а также вычитать и проводить логические операции) одной единственной инструкцией за один такт! А над ячейками памяти такое вообще невозможно. К тому же STM8 может выполнять арифметические и логические операции только одном регистре - аккумуляторе. Вот и получится программа, где 70% кода будет гонять число из памяти в аккумялятор и обратно.

Как ни странно, большинство операций с памятью выполняются именно за один такт. Исключения составляют операции с косвенной адресацией (через указатель). Операции со словами (16 разрядов) выполняются за 2 такта. Я думаю, что это все же неплохая альтернатива ATmega.
Go to the top of the page
 
+Quote Post
KRS
сообщение Apr 30 2010, 08:02
Сообщение #42


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Сходил я на семинар в Питере!
Из полезного - дали STM8S-Discovery!
Кстати космик совсем не жадный нужен кому?
Райзонанс еще еще не пилил.
Go to the top of the page
 
+Quote Post
Stanislav_S
сообщение Apr 30 2010, 09:24
Сообщение #43


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



Цитата(KRS @ Apr 30 2010, 13:02) *
Сходил я на семинар в Питере!
Из полезного - дали STM8S-Discovery!
Кстати космик совсем не жадный нужен кому?
Райзонанс еще еще не пилил.

А насколько космик не жадный? Если совсем не жадный, то можно на ФТП залить, в исследованиях пригодится, благо чипы уже заказал smile.gif


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post
KRS
сообщение Apr 30 2010, 09:51
Сообщение #44


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Stanislav_S @ Apr 30 2010, 13:24) *
А насколько космик не жадный? Если совсем не жадный, то можно на ФТП залить, в исследованиях пригодится, благо чипы уже заказал smile.gif

Создал тему
http://electronix.ru/forum/index.php?showtopic=75822
Go to the top of the page
 
+Quote Post
KRS
сообщение May 1 2010, 17:16
Сообщение #45


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Поставил я все 3 компилера.
Для начала решил посуммировать вектора.
Т.к. у ядра всего 2 индексных регистра, интересно посомтреть что будут делать компиляторы, когда их нужно больше.
Код
void add8_2(unsigned char *a, unsigned char *b, unsigned char *c, unsigned char len)
{
    do {
        *c++ = *a++ + *b++;
    } while(--len);
}

Космик использовал только один индексный регистр, по очереди для 3 указателей. Лучше всего скомпилировал while(--len);
Код
  43  0016 89                pushw    x
  44       00000000      OFST:    set    0
  46  0017               L11:
  47                    ; 16         *c++ = *a++ + *b++;
  48  0017 1e05              ldw    x,(OFST+5,sp)
  49  0019 f6                ld    a,(x)
  50  001a 5c                incw    x
  51  001b 1f05              ldw    (OFST+5,sp),x
  52  001d 1e01              ldw    x,(OFST+1,sp)
  53  001f fb                add    a,(x)
  54  0020 5c                incw    x
  55  0021 1f01              ldw    (OFST+1,sp),x
  56  0023 1e07              ldw    x,(OFST+7,sp)
  57  0025 f7                ld    (x),a
  58  0026 5c                incw    x
  59  0027 1f07              ldw    (OFST+7,sp),x
  60                    ; 17     } while(--len);
  61  0029 0a09              dec    (OFST+9,sp)
  62  002b 26ea              jrne    L11
  63                    ; 18 }
  64  002d 85                popw    x
  65  002e 81                ret

Райзонанс мог бы выйграть - использовал X для *a и Y для *b и *с, но с *a++ у него вышел прокол, поэтому в итоге код получился не лучше. И лишняя проверка после dec
Код
             ; FUNCTION ?add8_2 (BEGIN)
             ; Register XW is assigned to parameter a
0000         ?DO_0003:
             ; SOURCE LINE # 16
0000 1603       F                      LDW    Y,(003H,SP)  ; [ b ]
0002 90F6                              LD     A,(Y)
0004 905C                              INCW   Y
0006 1703       F                      LDW    (003H,SP),Y  ; [ b ]
0008 BF03       F                      LDW    ?CH.w,X
000A 5C                                INCW   X
000B 92CB00     F                      ADD    A,[?CH.w]
000E 1605       F                      LDW    Y,(005H,SP)  ; [ c ]
0010 90BF02     F                      LDW    ?BH.w,Y
0013 905C                              INCW   Y
0015 1705       F                      LDW    (005H,SP),Y  ; [ c ]
0017 92C700     F                      LD     [?BH.w],A
001A 0A07       F                      DEC    (007H,SP)  ; [ len ]
001C 0D07       F                      TNZ    (007H,SP)  ; [ len ]
001E 26E0                              JRNE   ?DO_0003
0020 81                                RET

У IAR код тоже не фонтан! Но главное посмотрите на while(--len)!!!!
К тому же IAR не использует стек, а использует виртуальные регистры. Что IMHO для этого ядра криво! Что IAR делает хорошо - так это общий код выделят в подпрограммы, если нужно по размеру сжать! И у IAR лучший способ передачи параметров!! задействуются все рагистры.
Код
\                     add8_2:
   \   000000 BF00                  LDW       S:?w1, X
   \   000002 93                    LDW       X, Y
   \   000003 B700                  LD        S:?b4, A
     12              do {
     13                  *c++ = *a++ + *b++;
   \                     ??add8_2_0:
   \   000005 F6                    LD        A, (X)
   \   000006 92CB00                ADD       A, [S:?w1.w]
   \   000009 92C700                LD        [S:?w0.w], A
   \   00000C 5C                    INCW      X
   \   00000D 90BE00                LDW       Y, S:?w1
   \   000010 905C                  INCW      Y
   \   000012 90BF00                LDW       S:?w1, Y
   \   000015 90BE00                LDW       Y, S:?w0
   \   000018 905C                  INCW      Y
   \   00001A 90BF00                LDW       S:?w0, Y
     14              } while(--len);
   \   00001D B600                  LD        A, S:?b4
   \   00001F ABFF                  ADD       A, #0xff
   \   000021 B700                  LD        S:?b4, A
   \   000023 4F                    CLR       A
   \   000024 B100                  CP        A, S:?b4
   \   000026 2600                  JRNE      L:??add8_2_0
     15          }
   \   000028 81                    RET

Если код функции поменять на
Код
void add8_21(unsigned char *a, unsigned char *b, unsigned char *c, unsigned char len)
{
    do {
        *c = *a + *b;
        ++a; ++b; ++c;
    } while(--len);
}

То райзонанс генерирует практически идеальный код
Код
             ; FUNCTION ?add8_21 (BEGIN)
             ; Register XW is assigned to parameter a
0000         ?DO_0005:
             ; SOURCE LINE # 23
0000 1603       F                      LDW    Y,(003H,SP)  ; [ b ]
0002 90F6                              LD     A,(Y)
0004 FB                                ADD    A,(X)
0005 1605       F                      LDW    Y,(005H,SP)  ; [ c ]
0007 90F7                              LD     (Y),A
             ; SOURCE LINE # 24
0009 5C                                INCW   X
000A 1603       F                      LDW    Y,(003H,SP)  ; [ b ]
000C 905C                              INCW   Y
000E 1703       F                      LDW    (003H,SP),Y  ; [ b ]
0010 1605       F                      LDW    Y,(005H,SP)  ; [ c ]
0012 905C                              INCW   Y
0014 1705       F                      LDW    (005H,SP),Y  ; [ c ]
0016 0A07       F                      DEC    (007H,SP)  ; [ len ]
0018 0D07       F                      TNZ    (007H,SP)  ; [ len ]
001A 26E4                              JRNE   ?DO_0005
001C 81                                RET


С более простой задачей
Код
void add8_1(unsigned char *a, unsigned char *b, unsigned char len)
{
    do {
        *a++ += *b++;
    } while(--len);
}

Все справились примерно одинаково неудовлетворительно!
Ее надо записать в таком виде:
Код
void add8_3(unsigned char *a, unsigned char *b, unsigned char len)
{
    do {
        *a += *b;
                ++a;
                ++b;
    } while(--len);
}


Тогда IAR и Райзонанс справились гораздо лучше! Только райзонанс зачем что Y каждый раз сохраняет и загружает, а IAR с фирменным } while(--len);
Космик и X и Y перегружает и код не отличается практически от add8_1

райзонанс
Код
             ; FUNCTION ?add8_3 (BEGIN)
             ; Register XW is assigned to parameter a
0000         ?DO_0007:
             ; SOURCE LINE # 31
0000 1603       F                      LDW    Y,(003H,SP)  ; [ b ]
0002 F6                                LD     A,(X)
0003 90FB                              ADD    A,(Y)
0005 F7                                LD     (X),A
             ; SOURCE LINE # 32
0006 5C                                INCW   X
             ; SOURCE LINE # 33
0007 905C                              INCW   Y
0009 1703       F                      LDW    (003H,SP),Y  ; [ b ]
000B 0A05       F                      DEC    (005H,SP)  ; [ len ]
000D 0D05       F                      TNZ    (005H,SP)  ; [ len ]
000F 26EF                              JRNE   ?DO_0007
0011 81                                RET

IAR
Код
     24          void add8_3(unsigned char *a, unsigned char *b, unsigned char len)
     25          {
   \                     add8_3:
   \   000000 B700                  LD        S:?b0, A
     26              do {
     27                  *a += *b;
   \                     ??add8_3_0:
   \   000002 90F6                  LD        A, (Y)
   \   000004 FB                    ADD       A, (X)
   \   000005 F7                    LD        (X), A
     28                          ++a;
   \   000006 5C                    INCW      X
     29                          ++b;
   \   000007 905C                  INCW      Y
     30              } while(--len);
   \   000009 B600                  LD        A, S:?b0
   \   00000B ABFF                  ADD       A, #0xff
   \   00000D B700                  LD        S:?b0, A
   \   00000F 4F                    CLR       A
   \   000010 B100                  CP        A, S:?b0
   \   000012 2600                  JRNE      L:??add8_3_0
     31          }
   \   000014 81                    RET


Cosmic
Код
100  004e               _add8_3:
101  004e 89                pushw    x
102       00000000      OFST:    set    0
104  004f               L52:
105                    ; 32         *a += *b;
106  004f 1e01              ldw    x,(OFST+1,sp)
107  0051 1605              ldw    y,(OFST+5,sp)
108  0053 f6                ld    a,(x)
109  0054 90fb              add    a,(y)
110  0056 f7                ld    (x),a
111                    ; 33         ++a;
112  0057 5c                incw    x
113  0058 1f01              ldw    (OFST+1,sp),x
114                    ; 34         ++b;
115  005a 1e05              ldw    x,(OFST+5,sp)
116  005c 5c                incw    x
117  005d 1f05              ldw    (OFST+5,sp),x
118                    ; 35     } while(--len);
119  005f 0a07              dec    (OFST+7,sp)
120  0061 26ec              jrne    L52
121                    ; 36 }
122  0063 85                popw    x
123  0064 81                ret

В общем надо что то посложнее попробовать!


Цитата(Pat @ Apr 18 2010, 21:28) *
Было интересно посмотреть вход в прерывание и не очень проникся там сплошные call.

Это сокрее всего из-за настройки оптимизации - надо вместо Balanced поставить Speed или Cross Call убрать!
Go to the top of the page
 
+Quote Post
ukpyr
сообщение May 1 2010, 17:24
Сообщение #46


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



интересно сравнить с avr-gcc и avr-iar по объему и тактам
avr-gcc -O2
Код
42 0000 CF93              push r28
  43 0002 DF93              push r29
  44                   /* prologue: function */
  45                   /* frame size = 0 */
  46 0004 EC01              movw r28,r24
  47 0006 DB01              movw r26,r22
  48 0008 FA01              movw r30,r20
  49                   .L2:
   3:test.c        ****     do {
   4:test.c        ****         *c++ = *a++ + *b++;
  51                   .LM1:
  52 000a 8D91              ld r24,X+
  53 000c 9991              ld r25,Y+
  54 000e 890F              add r24,r25
  55 0010 8193              st Z+,r24
   5:test.c        ****     } while(--len);
  57                   .LM2:
  58 0012 2150              subi r18,lo8(-(-1))
  59 0014 01F4              brne .L2
  60                   /* epilogue start */
   6:test.c        **** }
  62                   .LM3:
  63 0016 DF91              pop r29
  64 0018 CF91              pop r28
  65 001a 0895              ret
Go to the top of the page
 
+Quote Post
KRS
сообщение May 1 2010, 18:09
Сообщение #47


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(ukpyr @ May 1 2010, 21:24) *
интересно сравнить с avr-gcc и avr-iar по объему и тактам

В данном случае gcc лучше код будет, потому что IAR использует Y под стек.
Но в общем для AVR - IAR вне конкуренции!!

Но это все bb-offtopic.gif
Go to the top of the page
 
+Quote Post
KRS
сообщение May 1 2010, 23:00
Сообщение #48


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Посмотрел я как компилируется моя функция разбора данных.
Лучше всего повел себя космик! Для иллюстрации выдрал кусочек в отдельную функцию
Код
void Set12(u8_t id, u16_t v);
void test_1(u8_t *ptr)
{
  u8_t id, ext;
  ext = ptr[0];
  id = ptr[1];
  Set12((id >> 4) + ext*8, ptr[2] | ((id & 0x0F)<<8) );
}


IAR что то перемудрил со сдвигами, даже разбираться в лом!
Код
   \                     test_1:
   \   000000 9093                  LDW       Y, X
    119            u8_t id, ext;
    120            ext = ptr[0];
    121            id = ptr[1];
   \   000002 5C                    INCW      X
   \   000003 F6                    LD        A, (X)
   \   000004 B700                  LD        S:?b0, A
    122            Set12((id >> 4) + ext*8, ptr[2] | ((id & 0x0F)<<8) );
   \   000006 5F                    CLRW      X
   \   000007 41                    EXG       A, XL
   \   000008 B600                  LD        A, S:?b0
   \   00000A 01                    RRWA      X, A
   \   00000B A40F                  AND       A, #0xf
   \   00000D 02                    RLWA      X, A
   \   00000E 58                    SLLW      X
   \   00000F 58                    SLLW      X
   \   000010 58                    SLLW      X
   \   000011 58                    SLLW      X
   \   000012 58                    SLLW      X
   \   000013 58                    SLLW      X
   \   000014 58                    SLLW      X
   \   000015 58                    SLLW      X
   \   000016 BF00                  LDW       S:?w1, X
   \   000018 93                    LDW       X, Y
   \   000019 1C0002                ADDW      X, #0x2
   \   00001C F6                    LD        A, (X)
   \   00001D 5F                    CLRW      X
   \   00001E 97                    LD        XL, A
   \   00001F 01                    RRWA      X, A
   \   000020 BA00                  OR        A, S:?b3
   \   000022 01                    RRWA      X, A
   \   000023 BA00                  OR        A, S:?b2
   \   000025 01                    RRWA      X, A
   \   000026 90F6                  LD        A, (Y)
   \   000028 48                    SLL       A
   \   000029 48                    SLL       A
   \   00002A 48                    SLL       A
   \   00002B B700                  LD        S:?b1, A
   \   00002D B600                  LD        A, S:?b0
   \   00002F 4E                    SWAP      A
   \   000030 A40F                  AND       A, #0xf
   \   000032 BB00                  ADD       A, S:?b1
   \   000034 CC0000                JP        L:Set12
    123          }


Райзонанс, много лишних пересылок.
Код
             ; FUNCTION ?test_1 (BEGIN)
             ; Register-parameter ptr (XW) is relocated (auto)
             ; SOURCE LINE # 122
0000 89                                PUSHW  X
0001 89                                PUSHW  X
             ; SOURCE LINE # 125
0002 F6                                LD     A,(X)
0003 6B02       F                      LD     (002H,SP),A  ; [ ext ]
             ; SOURCE LINE # 126
0005 1E03       F                      LDW    X,(003H,SP)  ; [ ptr ]
0007 E601                              LD     A,(001H,X)
0009 6B01       F                      LD     (001H,SP),A  ; [ id ]
             ; SOURCE LINE # 127
000B A60F                              LD     A,#00FH
000D 1401       F                      AND    A,(001H,SP)  ; [ id ]
000F 5F                                CLRW   X
0010 95                                LD     XH,A
0011 BF03       F                      LDW    ?CH.w,X
0013 1E03       F                      LDW    X,(003H,SP)  ; [ ptr ]
0015 B605       F                      LD     A,?CH
0017 B703       F                      LD     ?BH,A
0019 E602                              LD     A,(002H,X)
001B B704       F                      LD     ?BL,A
001D BE02       F                      LDW    X,?BH.w
001F 7B02       F                      LD     A,(002H,SP)  ; [ ext ]
0021 48                                SLL    A
0022 48                                SLL    A
0023 48                                SLL    A
0024 B703       F                      LD     ?BH,A
0026 7B01       F                      LD     A,(001H,SP)  ; [ id ]
0028 4E                                SWAP   A
0029 A40F                              AND    A,#00FH
002B BB03       F                      ADD    A,?BH
002D CD0000     F                      CALL   ?Set12
0030 5B04                              ADD    SP,#004H
0032 81                                RET


Космик - лучший код.
Код
477  021b               _test_1:
478  021b 89                pushw    x
479  021c 5203              subw    sp,#3
480       00000003      OFST:    set    3
482                    ; 124   ext = ptr[0];
483  021e f6                ld    a,(x)
484  021f 6b02              ld    (OFST-1,sp),a
485                    ; 125   id = ptr[1];
486  0221 e601              ld    a,(1,x)
487  0223 6b03              ld    (OFST+0,sp),a
488                    ; 126   Set12((id >> 4) + ext*8, ptr[2] | ((id & 0x0F)<<8) );
489  0225 a40f              and    a,#15
490  0227 1604              ldw    y,(OFST+1,sp)
491  0229 97                ld    xl,a
492  022a 90e602            ld    a,(2,y)
493  022d 02                rlwa    x,a
494  022e 89                pushw    x
495  022f 7b04              ld    a,(OFST+1,sp)
496  0231 48                sll    a
497  0232 48                sll    a
498  0233 48                sll    a
499  0234 6b03              ld    (OFST+0,sp),a
500  0236 7b05              ld    a,(OFST+2,sp)
501  0238 4e                swap    a
502  0239 a40f              and    a,#15
503  023b 1b03              add    a,(OFST+0,sp)
504  023d cd0000            call    _Set12
506  0240 85                popw    x
507                    ; 127 }
508  0241 5b05              addw    sp,#5
509  0243 81                ret


Это только маленький кусочек. В общем на сейчас Космик выигрывает при функциях посложнее.
Например в кусочке Set8((Id & 0x1F)+Ext*32,*ptr++); стал вызывать билиотечную функцию сдвига, космик и IAR обошлись без нее!

У IAR возникают каие то артефакты!!! Про dec он вообще похоже не подозревает smile.gif
Еще и такой код if (!--Len) return; скомпилировал как
Код
   \   0000A1 B600                  LD        A, S:?b8
   \   0000A3 ABFF                  ADD       A, #0xff
   \   0000A5 B700                  LD        S:?b8, A
   \   0000A7 4F                    CLR       A
   \   0000A8 B100                  CP        A, S:?b8
   \   0000AA 2600                  JRNE      ??lb_3
   \   0000AC CC0000                JP        L:??parser_3


Цитата
К тому же IAR не использует стек, а использует виртуальные регистры. Что IMHO для этого ядра криво!

Здесь я был не прав! Это здорово улучшаед код - особенно при использовании специфической адресации
Indirect и Indexed Inderec - получаются аппаратные указатели.Так что когда IAR полечат от артефактов код у него будет хороший!

Райзонанс тоже использует виртуальные регистры, А космик стек.
Go to the top of the page
 
+Quote Post
_Bill
сообщение May 3 2010, 07:48
Сообщение #49


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Да уж... wink.gif Сильно улучшает...
if (!--Len) вообще можно реализовать одной инструкцией
Код
        dec    S:b8
        jrne   ??b3
.....
Или нет?
PS: Видно первая версия еще очень сырая.
Причина редактирования: Совершенно бездумное цитирование!
Go to the top of the page
 
+Quote Post
Xenia
сообщение May 3 2010, 11:48
Сообщение #50


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(_Bill @ May 3 2010, 11:48) *
PS: Видно первая версия еще очень сырая.

Это очевидно. Большинство ошибок эффективно выявляются и устраняются только в процессе интенсивной эксплуатации большим количеством пользователей, как бы тщательно не тестировали продукт сами производители. А раз эта версия первая из вышедших на рынок, то погрешностей в ней можно ожидать много. Один номер версии о многом говорит - EWSTM8-1100 - нолик в миноре обычно не бывает, т.к. букве A соответствует единичка.
Вскорости ждем следующую версию EWSTM8 за номером 1.20. Она уже объявлена к выпуску в ближайшие 2-3 месяца на японском сайте IAR -
http://www.iar.com/website1/1.0.1.0/495/3/
На английском такого упоминания нет. А здесь еще кое-что разобрать можно, даже не владея японским языком, или перевести с помощью электронного переводчика.
Go to the top of the page
 
+Quote Post
_Bill
сообщение May 3 2010, 14:58
Сообщение #51


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(Xenia @ May 3 2010, 15:48) *
Это очевидно. Большинство ошибок эффективно выявляются и устраняются только в процессе интенсивной эксплуатации большим количеством пользователей, как бы тщательно не тестировали продукт сами производители. А раз эта версия первая из вышедших на рынок, то погрешностей в ней можно ожидать много. Один номер версии о многом говорит - EWSTM8-1100 - нолик в миноре обычно не бывает, т.к. букве A соответствует единичка.
Вскорости ждем следующую версию EWSTM8 за номером 1.20. Она уже объявлена к выпуску в ближайшие 2-3 месяца на японском сайте IAR -
http://www.iar.com/website1/1.0.1.0/495/3/
На английском такого упоминания нет. Там кое-что разобрать можно, даже не владея японским языком или перевести с помощью электронного переводчика.

Спасибо!!! Будем ждать. Хотя я на сегодняшний день остановился на комплексе SVDT-Cosmic. Поскольку я пишу программы на ассемблере, то ассемблер у Cosmic мне понравился больше остальных.
Go to the top of the page
 
+Quote Post
KRS
сообщение May 3 2010, 15:27
Сообщение #52


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(_Bill @ May 3 2010, 18:58) *
Хотя я на сегодняшний день остановился на комплексе SVDT-Cosmic. Поскольку я пишу программы на ассемблере, то ассемблер у Cosmic мне понравился больше остальных.

А родной ST хуже?

Кстати у IAR есть все шансы стать лучшим компилером! Оптимизатор там хорошо работает, например, такой цикл
Код
void test_3(u8_t *ptr, u8_t len)
{
  u8_t i;
  for(i=0; i < len; i++) {
    ptr[i]--;
  }
}

он соптимизоровал в
Код
  if (!len)
    return;
  do {
    ptr[0]--;
    ++ptr;
  } while(--len);


Но с декрементом у IAR явные проблемы!

Код
   \                     test_3:
   \   000000 B700                  LD        S:?b0, A
    139            u8_t i;
    140            for(i=0; i < len; i++) {
   \   000002 4F                    CLR       A
   \   000003 B100                  CP        A, S:?b0
   \   000005 2700                  JREQ      L:??test_3_0
    141              ptr[i]--;
   \                     ??test_3_1:
   \   000007 A6FF                  LD        A, #0xff
   \   000009 FB                    ADD       A, (X)
   \   00000A F7                    LD        (X), A
    142            }
   \   00000B 5C                    INCW      X
   \   00000C B600                  LD        A, S:?b0
   \   00000E ABFF                  ADD       A, #0xff
   \   000010 B700                  LD        S:?b0, A
   \   000012 4F                    CLR       A
   \   000013 B100                  CP        A, S:?b0
   \   000015 2600                  JRNE      L:??test_3_1
    143          }
   \                     ??test_3_0:
   \   000017 81                    RET

вместо 1 операции dec (x) - 3 операции!
Ну а условие окончания цикла - как всегда!


Да, кстати с инкрементом такие же проблемы!
Go to the top of the page
 
+Quote Post
Xenia
сообщение May 3 2010, 16:01
Сообщение #53


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(_Bill @ May 3 2010, 18:58) *
Хотя я на сегодняшний день остановился на комплексе SVDT-Cosmic. Поскольку я пишу программы на ассемблере, то ассемблер у Cosmic мне понравился больше остальных.

А разве есть разница на каком ассемблере писать? smile.gif Я понимаю, если это компилятор языка более высокого уровня - тут действительно эффективность кода во многом зависит от компилятора. Но ассемблер! Растолкуйте мне, пожалуйста, разницу. Может быть там просто редактор более удобный или встроенные макросы?
Go to the top of the page
 
+Quote Post
KRS
сообщение May 3 2010, 16:29
Сообщение #54


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Xenia @ May 3 2010, 20:01) *
А разве есть разница на каком ассемблере писать? smile.gif

Разница большая! Вот возьмите хотя бы IARовский ассемблер - там возможно использовать С препроцессор
#ifdef
#include
и т.д.
Возможности насписания макросов отличаются.
Да и линкер все равно нужен.
Если писать на асме - я бы выбрал IAR - хороший линкер, С препроцессор, мароксы обынчые для разных архитектур...
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 3 2010, 16:57
Сообщение #55


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(KRS @ May 3 2010, 19:29) *
Разница большая! Вот возьмите хотя бы IARовский ассемблер - там возможно использовать С препроцессор

'С' препроцесср, на то он и препроцессор, что вещь совершенно независимая и способен обрабатывать любые тексты, включая не только любой ASM, но вообще литературные тексты. Другое дело, что у макроассемблеров бывает наворотов и много поболее, только едва-ли более одного из сотни асмописателей знают о них sad.gif sad.gif sad.gif.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
_Bill
сообщение May 3 2010, 18:28
Сообщение #56


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(Xenia @ May 3 2010, 20:01) *
А разве есть разница на каком ассемблере писать? smile.gif Я понимаю, если это компилятор языка более высокого уровня - тут действительно эффективность кода во многом зависит от компилятора. Но ассемблер! Растолкуйте мне, пожалуйста, разницу. Может быть там просто редактор более удобный или встроенные макросы?

Все трансляторы с ассемблера различаются прежде всего своим синтаксисом. Поэтому программа, написанная для одного ассемблера, скорее всего не сможет быть оттранслирована другим. А в общем, дело не только в одном ассемблере, но и во всей системе в целом. На данный момент для меня более удобной оказалась среда Cosmic в оболочке STDV.


Цитата(KRS @ May 3 2010, 19:27) *
А родной ST хуже?
вместо 1 операции dec (x) - 3 операции!
Ну а условие окончания цикла - как всегда!
Да, кстати с инкрементом такие же проблемы!

Хм .... Если бы только 3 операции, то это еще куда ни шло. При декременте и сравнении их получается 5, и это вместо одной. smile.gif

Сообщение отредактировал zltigo - May 3 2010, 18:33
Причина редактирования: Бездумное цитирование. Повтроно. Впредь такие цитаты будут удаляться вместе с постом.
Go to the top of the page
 
+Quote Post
KRS
сообщение May 3 2010, 21:02
Сообщение #57


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



ассемблеры по возможностям примерно одинаковые!
Но вообще у cosmic есть плюс - дистрибутив занимает всего 10 метров. В развернутом виде 30 метров.
А райзонанс - 116 метров, плюс еще без RIDE не ставится это еще 18 метров. В развернутом виде у меня 261 метр.

Но IMHO т.к. IAR уже появился лучше его использовать, там покрайней мере уже все .h файлы для чипов есть!
(кстати развернутый IAR пока занимает 126 метров, что там навернуто в RIDE7?)
Go to the top of the page
 
+Quote Post
Xenia
сообщение May 8 2010, 09:24
Сообщение #58


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Только что (файл датируется 5 мая) IAR выложила сервис-пак №1 к своей версии компилятора для STM8.
http://supp.iar.com/Updates/?product=EWSTM8
Модифицирует версию 1.10.0 до 1.10.1. Выложила на FTP в ту же папку, где лежал инсталлятор.
Странное название патча - никогда прежде сервис-паками IAR свои апдейты не называла. И ставится он тоже не типично - не добавляется в директорий, а запускается как экзешник (хотя патчи такого типа раньше бывали). И размерчик тоже великоват - 33 Мб при размере всего инсталлятора 89 Мб. Что-то слишком тяжело для драйверов и файлов конфигурации. Может быть там гораздо больше исправлений, чем описано?
Go to the top of the page
 
+Quote Post
KRS
сообщение May 8 2010, 20:45
Сообщение #59


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Xenia @ May 8 2010, 13:24) *
Только что (файл датируется 5 мая) IAR выложила сервис-пак №1 к своей версии компилятора для STM8.

в bin заменились dll для отладчика - симулятор, драйвера stlink и т.д.
компилер старый остался.

Тут обратил внимание что у STM8 свой линкер - ilinkstm8, и на выходе компилера elf, а конфигурация линкера icf.
Что меня удивило - я думал жто только к АРМу они сделали из-за EABI.
Поддержка elf (покарйней мере в ARM) у них какая то убогая! Даже размер секции нельзя записать, надо счиать.

Теперь что IAR будет отказываться от UBROF и xlink для всех семейств?
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 8 2010, 22:27
Сообщение #60


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(KRS @ May 8 2010, 23:45) *
Поддержка elf (покарйней мере в ARM) у них какая то убогая! Даже размер секции нельзя записать, надо счиать.

Если что-то не устраивает, то объектники созданные PRO версией, по крайней мере ARM, не имеют защиты и жуются родными binutils.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
guxa
сообщение May 14 2010, 10:04
Сообщение #61


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 17-12-06
Пользователь №: 23 612



Цитата(KRS @ Apr 13 2010, 15:27) *
Наткнулся тут на новое семейство.
Заинтересовали LQFP44 c CAN, как дешовая замена AT90CAN64 или мелких STM32.

На семинар
http://catalog.compel.ru/blog/2010/04/08/2...ntrollery-stm8/
никто не собирается?



Скажите, а CAN является важным условием использования? Индустриальное применение (насколько высока требуемая надежность)?

Сообщение отредактировал guxa - May 14 2010, 10:04
Go to the top of the page
 
+Quote Post
KRS
сообщение May 14 2010, 11:50
Сообщение #62


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(guxa @ May 14 2010, 14:04) *
Скажите, а CAN является важным условием использования? Индустриальное применение (насколько высока требуемая надежность)?

Это к чему вопрос?
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение May 14 2010, 12:58
Сообщение #63


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Вот CAN вам неймется, подскажите лучше, кто тела прерываний нашел!? smile.gif
То ли, как для STM32, в библиотеках искать, то ли как обычно вектора прописывать?
Речь о IARе.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
_Bill
сообщение May 14 2010, 18:01
Сообщение #64


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(Dog Pawlowa @ May 14 2010, 16:58) *
Вот CAN вам неймется, подскажите лучше, кто тела прерываний нашел!? smile.gif
То ли, как для STM32, в библиотеках искать, то ли как обычно вектора прописывать?
Речь о IARе.

Делается так же, как и для AVR.
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение May 14 2010, 19:23
Сообщение #65


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(_Bill @ May 14 2010, 21:01) *
Делается так же, как и для AVR.

А можно подробнее?
В документации есть упоминание на файл iodevice.h, который я не нашел нигде.
В примерах прагмы в стиле финских студентов - #pragma vector 25, и никак не приведу свою нумерацию к STэшной.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
KRS
сообщение May 14 2010, 20:32
Сообщение #66


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Таблица прерываний находится в библиотеке, исходники в файле
stm8\src\lib\interrupt.s
таблица помещатеся в секцию .intvec и заполняется метками _interrupt_n, которые по умолчанию указывают на unhandled_exception (бесконечный цикл), но т.к. они PUBWEAK, PUBLIC их перебивает.
Т.е. если на С писать то стандартно, #pragma vector __interrupt. А если на асме PUBLIC _interrupt_n.
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение May 14 2010, 20:49
Сообщение #67


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(KRS @ May 14 2010, 23:32) *
Т.е. если на С писать то стандартно, #pragma vector __interrupt. А если на асме PUBLIC _interrupt_n.

Все так, только вектора нигде не задифайнены по именам.
В документации ST вектор TIM2_UPDATE = 13, в IARe 15, потому что я поставил индивидуальные ловушки и вычислил.

Но все равно пока не заработало - что ли нужно ручками запрос прерывания сбрасывать?

.... Угу, прочитал уже.
....Диод моргает, проект завершен smile.gif


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
KRS
сообщение May 14 2010, 21:19
Сообщение #68


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Dog Pawlowa @ May 15 2010, 00:49) *
В документации ST вектор TIM2_UPDATE = 13, в IARe 15

IAR все подряд с 0 считает, 0 - reset, 1 - trap
а ST наверное reset и trap не учитывает.


Кстати у IAR номера векторов в файлах iostm8xxxx.h есть!
Код
/*-------------------------------------------------------------------------
*      Interrupt vector numbers
*-----------------------------------------------------------------------*/
#define AWU_vector                           0x03
#define CLK_CSS_vector                       0x04
...
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение May 14 2010, 21:32
Сообщение #69


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(KRS @ May 15 2010, 00:19) *
ST наверное reset и trap не учитывает.

Кстати у IAR номера векторов в файлах iostm8xxxx.h есть!

Да, так и есть. Хотя странно, обычно ИАР следует в фарватере производителя.

Точно, вот мой вектор, 15:
#define TIM2_OVR_UIF_vector 0x0F
Спасибо!


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
dimka76
сообщение Jun 15 2010, 12:02
Сообщение #70


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



А с программаторами для них как дела обстоят?
Есть что-то бесплатное?


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
ZVE
сообщение Jun 15 2010, 18:08
Сообщение #71


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 19-11-07
Из: Vinnitsa, UA
Пользователь №: 32 472



Бесплатного вроде как нет. Да и особо не нужно, так как есть STM8S-Discovery за цену около 10$ (реально у нас его продают за все 15-20) , что сводит целесообразность изготовления самодельного программатора к нулю laughing.gif . В этот дискавери встроена обрезанная версия ST-Link, через него можно прошивать и отлаживать.

Сообщение отредактировал ZVE - Jun 15 2010, 18:11
Go to the top of the page
 
+Quote Post
fmdost
сообщение Jun 15 2010, 21:50
Сообщение #72


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



Цитата(Dog Pawlowa @ May 15 2010, 00:49) *
....Диод моргает, проект завершен smile.gif

Мог бы и прикрепить wink.gif
Go to the top of the page
 
+Quote Post
Linker
сообщение Jun 30 2010, 16:53
Сообщение #73


Местный
***

Группа: Свой
Сообщений: 210
Регистрация: 15-01-08
Из: Новосибирск
Пользователь №: 34 105



Лично меня заинтересовала заявленная устойчивость к помехам и низкое потребление. Кроме того очевидно большие объемы памяти (Flash, EEPROM, RAM) при одинаковой цене конкурентов. Да и перефирия разнообразнее. Щас юзаю Discovery. Все мигает, как писано. Хотелось бы услышать про траблы. Их не может не быть. Настораживает малое количество отзывов.


--------------------
Я здесь и сейчас...
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jun 30 2010, 20:38
Сообщение #74


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Linker @ Jun 30 2010, 19:53) *
Лично меня заинтересовала заявленная устойчивость к помехам

В каких попугаях ея можно измерить ? biggrin.gif
Go to the top of the page
 
+Quote Post
_Bill
сообщение Jun 30 2010, 23:25
Сообщение #75


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(Linker @ Jun 30 2010, 19:53) *
Хотелось бы услышать про траблы. Их не может не быть. Настораживает малое количество отзывов.

Про одну проблему я уже здесь сказал. А то, что отзывов мало, не удивительно. Семейство ведь новое.
Go to the top of the page
 
+Quote Post
IGK
сообщение Jul 1 2010, 05:50
Сообщение #76


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 7-01-07
Из: Севастополь
Пользователь №: 24 170



Цитата(_Bill @ Jul 1 2010, 02:25) *
...Семейство ведь новое.

Совсем неплохо выглядит совместимость (снизу вверх) STM8L -> STM32L. Поэтому я завтра закажу несколько STM8L152C6 и начну проект на них. Ко времени осознания неприятного факта, что не хватило ресурсов, выйдет 32-я серия - перейду на нее :-) Надеюсь, она будет еще дешевле 8-й :-)

У нас (в Украине) цена неплохая - 21 грн за STM8L152C6 против 31 грн за ATmega32A.
Go to the top of the page
 
+Quote Post
Linker
сообщение Jul 1 2010, 14:19
Сообщение #77


Местный
***

Группа: Свой
Сообщений: 210
Регистрация: 15-01-08
Из: Новосибирск
Пользователь №: 34 105



Цитата(_Pasha @ Jul 1 2010, 03:38) *
В каких попугаях ея можно измерить ? biggrin.gif

Правильнее сказать устойчивость к перенапряжениям на пинах. В даташите приводится значение 4000 В.


--------------------
Я здесь и сейчас...
Go to the top of the page
 
+Quote Post
Aner
сообщение Jul 1 2010, 14:22
Сообщение #78


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



к каким еще перенапяжениям? к статике!
Go to the top of the page
 
+Quote Post
topkin
сообщение Jul 2 2010, 04:22
Сообщение #79


Частый гость
**

Группа: Свой
Сообщений: 152
Регистрация: 21-12-05
Из: Москва
Пользователь №: 12 476



Цитата(Aner @ Jul 1 2010, 18:22) *
к каким еще перенапяжениям? к статике!

Я, собственно говоря не большой знаток во стандартах по помехам, ибо я не применяю свои разработки в жестких условиях помех, но на семинаре по STM8 серия STM8S позиционировалась как надежная линейка для промышленных применений. Я не большой знаток стандартов по ЭМИ и прочее, но в даташитах на STM8S прсутсвуют различные стнадарты и классы помехозащищенности, не буду приводить не понятные для меня сочетания цифр и букав, интересующиеся могут посмотреть сами. Интересный момент, который я так же услышал на семинаре, это аппаратный контроль памяти(нескольких регистров), что то вроде складываются значения регистров и в итоге сумма должна ровняться нулю. Мол при сильной помехе при частичном или вылете памяти будет сформирован сброс и соответствующее условие, как то так) Я специально не искал, но на глаза сия информация так и не попалась, знающие люди - ткните носом. Вообще семейство интересное, играемся пока, но пока руководство полной воли не дает, вот как запасы атмела иссякнут, тогда ......

Сообщение отредактировал topkin - Jul 2 2010, 04:24
Go to the top of the page
 
+Quote Post
Linker
сообщение Jul 2 2010, 17:18
Сообщение #80


Местный
***

Группа: Свой
Сообщений: 210
Регистрация: 15-01-08
Из: Новосибирск
Пользователь №: 34 105



Цитата(Aner @ Jul 1 2010, 21:22) *
к каким еще перенапяжениям? к статике!

Перенапряжения - это такие напряжения, которые превышают рабочие. Например, в цепи питания процессора 5 вольт проскакивает 200 В. Правда оно длится несколько микросек. И если имеется защита, то процессор не выходит из строя.
Статическое напряжение ("Статика") - это один из многих возможных источников перенапряжений. Далеко не единственный, хотя и очень распространенный. Не слишком сложно?


--------------------
Я здесь и сейчас...
Go to the top of the page
 
+Quote Post
IGK
сообщение Jul 9 2010, 18:34
Сообщение #81


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 7-01-07
Из: Севастополь
Пользователь №: 24 170



Нашел время осмотреть STM8S-Discovery :-)
Я до этого по диагонали прочел разную инфу, из которой почерпнул оптимистическое утверждение, что вся серия нога-в-ногу совместима для одинаковых корпусов. Поэтому была мысль сдуть феном с борды STM8S105 и прилепить туда STM8L152, ибо я на него собираюсь переводить проекты. Оказалось, ног одинаковое количество, но не совпадают...
Посему сажусь ваять отладочную плату для своего устройства, потом отпаяю мостики у Дискавери и попробую его на совместимость с STM8L.
Это не скоро. Отпишусь, когда проверю.
Go to the top of the page
 
+Quote Post
pr2
сообщение Jul 14 2010, 01:40
Сообщение #82





Группа: Новичок
Сообщений: 3
Регистрация: 14-07-10
Пользователь №: 58 440



Подскажите, где-то есть сейчас в наличии STM8S-Discovery, где его можно купить?
Go to the top of the page
 
+Quote Post
Xenia
сообщение Jul 14 2010, 12:19
Сообщение #83


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Вчера вышел новый сервис-пак к EWSTM8 №3 (№2 пропущен - не существует) - SP-EWSTM8-1103.exe
http://supp.iar.com/Updates/?product=EWSTM8
Модифицирует версию до 1.10.3. Выложила на FTP в ту же папку, где лежит инсталлятор.
Что там конкретно исправили, написано крайне невразумительно: "corrects a number of problems in the 1.10.0 release", а когда читаешь релиз-нотес http://supp.iar.com/FilesPublic/UPDINFO/00..._notes.ENU.html , то и там непонятно, заменили компилятор или нет.
Не плохо бы это проверить тем, кто тут на компиляцию жаловался.
Go to the top of the page
 
+Quote Post
topkin
сообщение Jul 14 2010, 12:27
Сообщение #84


Частый гость
**

Группа: Свой
Сообщений: 152
Регистрация: 21-12-05
Из: Москва
Пользователь №: 12 476



Цитата(IGK @ Jul 10 2010, 06:34) *
Нашел время осмотреть STM8S-Discovery :-)
Я до этого по диагонали прочел разную инфу, из которой почерпнул оптимистическое утверждение, что вся серия нога-в-ногу совместима для одинаковых корпусов. Поэтому была мысль сдуть феном с борды STM8S105 и прилепить туда STM8L152, ибо я на него собираюсь переводить проекты. Оказалось, ног одинаковое количество, но не совпадают...
Посему сажусь ваять отладочную плату для своего устройства, потом отпаяю мостики у Дискавери и попробую его на совместимость с STM8L.
Это не скоро. Отпишусь, когда проверю.


У меня возникали похожие мысли, но STM8S и STM8L это разные линейки, а совместимость только внутри этих линеек. А смысл pin to pin совместимости в том, что взяв однотипные корпуса с одинаковым количеством ножек, вы можете без проблем взаимозаменять микроконтроллеры, различия будут только в объеме памяти.
Вот бы оптимизировать урезанный ST-link с дискавери до полноценной версии было бы интересно).

Сообщение отредактировал topkin - Jul 14 2010, 12:28
Go to the top of the page
 
+Quote Post
IGK
сообщение Jul 14 2010, 18:18
Сообщение #85


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 7-01-07
Из: Севастополь
Пользователь №: 24 170



Цитата(topkin @ Jul 14 2010, 15:27) *
У меня возникали похожие мысли, но STM8S и STM8L это разные линейки, а совместимость только внутри этих линеек. А смысл pin to pin совместимости в том, что взяв однотипные корпуса с одинаковым количеством ножек, вы можете без проблем взаимозаменять микроконтроллеры, различия будут только в объеме памяти.
Вот бы оптимизировать урезанный ST-link с дискавери до полноценной версии было бы интересно).



Цитата(topkin @ Jul 14 2010, 15:27) *
У меня возникали похожие мысли, но STM8S и STM8L это разные линейки, а совместимость только внутри этих линеек. А смысл pin to pin совместимости в том, что взяв однотипные корпуса с одинаковым количеством ножек, вы можете без проблем взаимозаменять микроконтроллеры, различия будут только в объеме памяти.
Вот бы оптимизировать урезанный ST-link с дискавери до полноценной версии было бы интересно).

Не охота искать по инету, но видел картинку, где нарисованы все (АРМы, 8-битники) и подпись. Типа того, что паять можно наобум :-) и ничего, пин в пин совместимы. Именно между разными линейками, а не внутри.
Да фиг с ним. Уже начал трассировать плату, там все задействовано - ЦАП, АЦП, клавиши сенсорные. В начале недели сделаю платку и начну шаманить с линком Дискавери. Лишь бы время было.
Go to the top of the page
 
+Quote Post
KRS
сообщение Aug 2 2010, 10:37
Сообщение #86


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Xenia @ Jul 14 2010, 16:19) *
Не плохо бы это проверить тем, кто тут на компиляцию жаловался.

Не компилер не поменялся пока sad.gif
Ждем новую цифру в версии, IMHO если чипы набирают популярность это будет скоро.
Go to the top of the page
 
+Quote Post
ведущий_специали...
сообщение Aug 2 2010, 17:58
Сообщение #87


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 24-11-07
Пользователь №: 32 645



Цитата(IGK @ Jul 9 2010, 22:34) *
Нашел время осмотреть STM8S-Discovery :-)
Я до этого по диагонали прочел разную инфу, из которой почерпнул оптимистическое утверждение, что вся серия нога-в-ногу совместима для одинаковых корпусов. Поэтому была мысль сдуть феном с борды STM8S105 и прилепить туда STM8L152, ибо я на него собираюсь переводить проекты. Оказалось, ног одинаковое количество, но не совпадают...
Посему сажусь ваять отладочную плату для своего устройства, потом отпаяю мостики у Дискавери и попробую его на совместимость с STM8L.
Это не скоро. Отпишусь, когда проверю.


Не будет дискавери шить ничего кроме той микры что у него на борту. Там в описании написано, что поддерживает только s105. Я пробывал ради проверки прошить такой же проц только 16 кило. Дискавери его не увидел а уже купленный ст линк спокойно прошил. так что дискавери - только для s105c6 laughing.gif увы
Go to the top of the page
 
+Quote Post
e-serg
сообщение Aug 4 2010, 16:29
Сообщение #88


Частый гость
**

Группа: Участник
Сообщений: 97
Регистрация: 24-07-08
Из: Иркутск
Пользователь №: 39 180



Цитата(ведущий_специалист @ Aug 3 2010, 02:58) *
Не будет дискавери шить ничего кроме той микры что у него на борту. Там в описании написано, что поддерживает только s105. Я пробывал ради проверки прошить такой же проц только 16 кило. Дискавери его не увидел а уже купленный ст линк спокойно прошил. так что дискавери - только для s105c6 laughing.gif увы

с сайта производителя, кто-то спросил и получил ответ в конференции.
www.st.com > my.st.com > STe2eCommunities > Microcontrollers
Microcontrollers > STM8S-Discovery > Discovery vs ST-LINK
"Hello ,
With this embeded version of STLink you are ablle to program all STM8 devices (S,L & A). The only limitation is with voltage level for STM8L devices .
No voltage adapter has been added in this version so 1.8V is not supported.
STM32 devices are not supported.
Best Regards
Grom"
сам пока не проверял, "L" в наличие нет, stm8s903 руки не дошли проверить. laughing.gif
Go to the top of the page
 
+Quote Post
ukpyr
сообщение Aug 4 2010, 17:04
Сообщение #89


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



а какой смысл в stm8s после появления stm32s100 (цены уже сопоставимые) ?
тем более если учесть наличие ГНУтых кросс-платформенных средств разработки .
Go to the top of the page
 
+Quote Post
topkin
сообщение Aug 5 2010, 04:16
Сообщение #90


Частый гость
**

Группа: Свой
Сообщений: 152
Регистрация: 21-12-05
Из: Москва
Пользователь №: 12 476



Цитата(ukpyr @ Aug 4 2010, 21:04) *
а какой смысл в stm8s после появления stm32s100 (цены уже сопоставимые) ?
тем более если учесть наличие ГНУтых кросс-платформенных средств разработки .

Как то для не больших приложений - дергателей ногами никак рука не поднимается ставить 32 - разрядный кортекс. Плюс минимальный корпус 48 пин, хотя цены и правда низкие. Мне STM8L симпатично, может кто работал, поделитесь впечатлениями? Вот что мне попалось в сети по STM8L, http://www.futureelectronics.com/en/Techno...CTRONICS1000715, жаль что более подробной информации нет, а то глядишь будет заточенный ST - Link под STM8L.
Go to the top of the page
 
+Quote Post
_Bill
сообщение Aug 5 2010, 06:14
Сообщение #91


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(ведущий_специалист @ Aug 2 2010, 21:58) *
Не будет дискавери шить ничего кроме той микры что у него на борту. Там в описании написано, что поддерживает только s105. Я пробывал ради проверки прошить такой же проц только 16 кило. Дискавери его не увидел а уже купленный ст линк спокойно прошил. так что дискавери - только для s105c6 laughing.gif увы

У меня программатором от Discovery прекрасно шьется STM8S103K6. Отличий от ST-Link пока не заметил. rolleyes.gif
Go to the top of the page
 
+Quote Post
Stanislav_S
сообщение Aug 5 2010, 08:02
Сообщение #92


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



Цитата(_Bill @ Aug 5 2010, 10:14) *
У меня программатором от Discovery прекрасно шьется STM8S103K6. Отличий от ST-Link пока не заметил. rolleyes.gif

А чем зашивали, через програмулину или через IDE компилятора? А то у меня из IAR не удалось прошить.


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post
_Bill
сообщение Aug 5 2010, 12:55
Сообщение #93


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(Stanislav_S @ Aug 5 2010, 12:02) *
А чем зашивали, через програмулину или через IDE компилятора? А то у меня из IAR не удалось прошить.

STVD + Cosmic. Нажимаешь кнопочку Debug. После прошивки отладку останавливаешь и все!
Go to the top of the page
 
+Quote Post
oll
сообщение Aug 5 2010, 16:11
Сообщение #94


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 10-10-05
Пользователь №: 9 463



Т.е. обьясните спецы - с Дискавери идет все таки полноценный отладчик - программатор для всех STM8? И так все делать все можно из IAR? Если нет, то замена Atmel AVR Megам пока только STM32 или LPC11xxx? Пока (может глупо) развел и заказал платы на замену AVR, в связи с трудностями по закупке оных на PIC16. Пики можно купить легко, цены не очень радуют, но программатор и отладчик уже есть.
Go to the top of the page
 
+Quote Post
Stanislav_S
сообщение Aug 6 2010, 09:03
Сообщение #95


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



Насчет дискавери сказать трудно, но могу сказать что допустим STM8S103 из IAR не определяется ни дискавери ни ST-LINK, поэтому я его прошиваю фирменной утилитой ST Visual Programmer, а вот 105 на дискавери из IAR виден и через дискавери и через ST-LINK.


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post
pan_oleg
сообщение Sep 15 2010, 12:24
Сообщение #96


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 16-11-07
Пользователь №: 32 387



День добрый.
Имею вопрос?
Кто-то уже внешние интерапты (exti) заюзал?
Я тут с проблемой-глюком стыкнулся. Делаю так:

GPIO_Init(GPIOD, (GPIO_PIN_2 | GPIO_PIN_4), GPIO_MODE_IN_FL_IT);

В интерапты заходит сюда:
#ifdef _COSMIC_
@far @interrupt void EXTI_PORTD_IRQHandler(void)
#else /* _RAISONANCE_ */
void EXTI_PORTD_IRQHandler(void) interrupt 6
#endif /* _COSMIC_ */
{
ButtonState ^= 0xFF;
}
но проблема в следующем: а как узнать, какой имено зз пинов PORTD вызвал интерапт (в моем примере 2 или 3)?
Сколько искал хоть какие-то флаги, пусто. Их что по ходу забыли?

Go to the top of the page
 
+Quote Post
dimka76
сообщение Sep 15 2010, 12:36
Сообщение #97


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Цитата(pan_oleg @ Sep 15 2010, 16:24) *
но проблема в следующем: а как узнать, какой имено зз пинов PORTD вызвал интерапт (в моем примере 2 или 3)?
Сколько искал хоть какие-то флаги, пусто. Их что по ходу забыли?


Так ножки в обработчике прерывания опросите и узнаете источник прерывания.


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
pan_oleg
сообщение Sep 15 2010, 13:20
Сообщение #98


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 16-11-07
Пользователь №: 32 387



Цитата(dimka76 @ Sep 15 2010, 15:36) *
Так ножки в обработчике прерывания опросите и узнаете источник прерывания.

Само собой. Но я думал, что тут как-то по нормальному - флаги есть на каждый пин. Как в STM32 например.
Видимо зря так думал.

Сообщение отредактировал pan_oleg - Sep 15 2010, 13:22
Go to the top of the page
 
+Quote Post
ArtemDement
сообщение Oct 22 2010, 17:34
Сообщение #99


Местный
***

Группа: Свой
Сообщений: 446
Регистрация: 19-09-09
Из: Санкт-Петербург
Пользователь №: 52 460





Коллеги, не подскажите, можно ли использовать STM8S-Discovery в качестве переходника USB - GPIO, USB - UART, USB - SPI ?

Как передавать информацию между ПК и ST8 через программатор ?

Go to the top of the page
 
+Quote Post
ArtemDement
сообщение Oct 26 2010, 16:49
Сообщение #100


Местный
***

Группа: Свой
Сообщений: 446
Регистрация: 19-09-09
Из: Санкт-Петербург
Пользователь №: 52 460



Неужели нет никаких идей ?
Go to the top of the page
 
+Quote Post

11 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th August 2025 - 13:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.02935 секунд с 7
ELECTRONIX ©2004-2016