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

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

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

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

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

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


 
Опции темы
Непрочитано 02.11.2010, 17:16  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
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.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
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.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
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.RU
 
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
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.RU
 
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
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.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
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
Сообщений: 80
Сказал спасибо: 3
Сказали Спасибо 83 раз(а) в 11 сообщении(ях)
EugVor на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

IAR под AVR для первого тестового примера при максимальной оптимизации по скорости при выполнении C=A+B решил не париться и ничего не складывать, сам посчитал результат 3 и сразу шлёпнул его в C.
Ай да молодец. Услужил
EugVor вне форума  
Непрочитано 02.11.2010, 18:45  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
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
Сообщений: 80
Сказал спасибо: 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, время: 07:10.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot