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

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

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

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

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

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


 
Опции темы

STM8(S/L), первые впечатления

Непрочитано 02.11.2010, 17:16  
niXto
Почётный гражданин KAZUS.RUN
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от kison Посмотреть сообщение
За одинаковые деньги получите M48 или STM8L151. Сравните их начинку и вопросов таких больше не будет
Не всегда нужен большой объем. МНЕ часто важна скорость выполнения критических участков кода (такая у меня защита). и если код получается в 5 раз больше - мне что, ставить в брелок АРМ на 16х5=75 МГц? У меня там тини2313 в 5х5 мм QFN-корпусе впритык стоит...
Ладно, буду сам разбираться. Спасибо кто пытался помочь.
Реклама:

Последний раз редактировалось Falconist; 13.04.2011 в 23:32.
niXto вне форума  
Непрочитано 02.11.2010, 17:17  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от Stanislav_S Посмотреть сообщение
кстати да алгоритм кривоватый
Алгоритм не оптимальный. Количество проходов по массиву не зависит от содержимого этого массива. А если там всего два значения не отсортированы? Должно хватить одного прохода, но не тут то было.. Ну оптимальность она сама по себе, а правила программирования на Си сами по себе. Сортировать локальный НЕИНИЦИАЛИЗИРОВАННЫЙ массив нет никакого смысла. А если вся программа только из этого и состоит - ее нужно всю сократить в ноль. Что с успехом проделывает WinAVR - мне даже листинг не показать, нету его

Сообщение от Stanislav_S Посмотреть сообщение
То что ИАР пока сыроват, это да, но глюков пока не встречал
Выходит он и под AVR сыроват Во всяком случае IAR-овский оптимизатор с задачей не справился. Не перестаю убежаться - свободный софт рулит. GCC ведет себя более предсказуемо и оптимизатор у него таких косяков не допускает.

Последний раз редактировалось Falconist; 13.04.2011 в 23:32.
kison вне форума  
Непрочитано 02.11.2010, 17:26  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от ish0 Посмотреть сообщение
Почитал ДШ на STM8L15X и нашел, что для реализации low power режимов, нужно исполнять код из RAM. Т.е. нужно копировать функции из флэша в рам (хрен знает как определить размер кода) и потом вызывать через указатель на функцию, или есть другой способ?
Другого способа нет. Это сделано для того, чтоб питание с флеши можно было снять. Можно не копировать, а поручить это линкеру, например расположив код в секции data, ну или как она там называется в выбранном компиляторе. Тогда стартап скопирует функцию вместе с глобальными инициализированными переменными. И можно вызывать просто по имени. Ну либо в рантайме, но тут действительно надо как то узнать размер функции и соответственно вся дальнейшая работа с функцией через указатель. В общем вопрос требует тщательного рассмотрения.

Сообщение от niXto Посмотреть сообщение
Ладно, буду сам разбираться.
С чем разбираться то?

Последний раз редактировалось Falconist; 13.04.2011 в 23:32.
kison вне форума  
Непрочитано 02.11.2010, 17:35  
Gnider
Почётный гражданин KAZUS.RUN
 
Регистрация: 30.06.2005
Сообщений: 3,392
Сказал спасибо: 5
Сказали Спасибо 429 раз(а) в 305 сообщении(ях)
Gnider на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от niXto Посмотреть сообщение
Не всегда нужен большой объем. МНЕ часто важна скорость выполнения критических участков кода (такая у меня защита). и если код получается в 5 раз больше - мне что, ставить в брелок АРМ на 16х5=75 МГц? У меня там тини2313 в 5х5 мм QFN-корпусе впритык стоит...
Ладно, буду сам разбираться. Спасибо кто пытался помочь.
16x5=80.

Ставь АРМ в QFN и забудь про проблемы с быстродействием.

Последний раз редактировалось Falconist; 13.04.2011 в 23:32.
Gnider вне форума  
Непрочитано 02.11.2010, 17:40  
Gnider
Почётный гражданин KAZUS.RUN
 
Регистрация: 30.06.2005
Сообщений: 3,392
Сказал спасибо: 5
Сказали Спасибо 429 раз(а) в 305 сообщении(ях)
Gnider на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от kison Посмотреть сообщение
Другого способа нет. Это сделано для того, чтоб питание с флеши можно было снять. Можно не копировать, а поручить это линкеру, например расположив код в секции data, ну или как она там называется в выбранном компиляторе. Тогда стартап скопирует функцию вместе с глобальными инициализированными переменными. И можно вызывать просто по имени. Ну либо в рантайме, но тут действительно надо как то узнать размер функции и соответственно вся дальнейшая работа с функцией через указатель. В общем вопрос требует тщательного рассмотрения. ?
Ну low-power и подразумевает что "отрубай все лишее" поэтому выполнение в памяти отрубает всякие там кэши и тд...

Последний раз редактировалось Falconist; 13.04.2011 в 23:32.
Gnider вне форума  
Непрочитано 02.11.2010, 17:55  
Stanislav_S
Прохожий
 
Регистрация: 07.10.2009
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 1 сообщении
Stanislav_S на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от kison Посмотреть сообщение
Алгоритм не оптимальный. Количество проходов по массиву не зависит от содержимого этого массива. А если там всего два значения не отсортированы? Должно хватить одного прохода, но не тут то было.. Ну оптимальность она сама по себе, а правила программирования на Си сами по себе. Сортировать локальный НЕИНИЦИАЛИЗИРОВАННЫЙ массив нет никакого смысла. А если вся программа только из этого и состоит - ее нужно всю сократить в ноль. Что с успехом проделывает WinAVR - мне даже листинг не показать, нету его
Таки да. Однако все таки задача немного высосана из пальца. Такие проги вряд ли кто пишет
Цитата:
Выходит он и под AVR сыроват Во всяком случае IAR-овский оптимизатор с задачей не справился. Не перестаю убежаться - свободный софт рулит. GCC ведет себя более предсказуемо и оптимизатор у него таких косяков не допускает.
Может быть, свободным софтом не пользуюсь, поэтому ничего не могу сказвать, я к ИАР привык

Последний раз редактировалось Falconist; 13.04.2011 в 23:31.
Stanislav_S вне форума  
Непрочитано 02.11.2010, 18:00  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от Stanislav_S Посмотреть сообщение
Однако все таки задача немного высосана из пальца. Такие проги вряд ли кто пишет
Это стандартный "пузырек" - http://ru.wikipedia.org/wiki/Сортировка_пузырьком. Достаточно часто используется на практике, когда более тяжелые алгоритмы сортировки не нужны. Просто вышеприведенная реализация неверна.
Сообщение от Stanislav_S Посмотреть сообщение
я к ИАР привык
А у меня на него денег нет. Я нищеброд

Последний раз редактировалось Falconist; 13.04.2011 в 23:31.
kison вне форума  
Непрочитано 02.11.2010, 18:32  
EugVor
Временная регистрация
 
Регистрация: 15.03.2006
Сообщений: 79
Сказал спасибо: 3
Сказали Спасибо 83 раз(а) в 11 сообщении(ях)
EugVor на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

IAR под AVR для первого тестового примера при максимальной оптимизации по скорости при выполнении C=A+B решил не париться и ничего не складывать, сам посчитал результат 3 и сразу шлёпнул его в C.
Ай да молодец. Услужил
EugVor вне форума  
Непрочитано 02.11.2010, 18:45  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от EugVor Посмотреть сообщение
IAR под AVR для первого тестового примера при максимальной оптимизации по скорости при выполнении C=A+B решил не париться и ничего не складывать
Код:
volatile uint8_t a;
volatile uint8_t b;
volatile uint8_t c;

void TestFunc(void)
{
	c = a + b;
}
Впрочем при вынесении в отдельную функцию и без volatile должно быть правильно. Но оптимизатор может заменить вызов этой функции заранее подсчитанным значением. volatile это исключает.

Последний раз редактировалось Falconist; 13.04.2011 в 23:31.
kison вне форума  
Непрочитано 02.11.2010, 19:09  
EugVor
Временная регистрация
 
Регистрация: 15.03.2006
Сообщений: 79
Сказал спасибо: 3
Сказали Спасибо 83 раз(а) в 11 сообщении(ях)
EugVor на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Да... volatile уже не трогает и начал юзать косвенную адресацию SRAM.
И всего 22 такта. Рано я поторопился с выводами.
EugVor вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
KiCAD-объявления и впечатления al_dan KiCAD 32 03.10.2016 17:02
Народ, посмотрите quasm, Как ваши впечатления? suri Proteus, KiCAD и другие ECAD 5 14.10.2009 11:57


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.