Например TDA7294

Форум РадиоКот • Просмотр темы - Flash vs SRAM
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Чт авг 13, 2020 08:24:44

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 83 ]    , 2, , ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Ср дек 27, 2017 01:07:43 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 11
Зарегистрирован: Вт окт 23, 2012 13:17:25
Сообщений: 676
Откуда: Киселевск
Рейтинг сообщения: 0
В CorteX M3 контроллера конфигурации нет. Откройте мануал и покажите мне.

Не во всех
http://www.st.com/content/ccc/resource/ ... 240193.pdf страница 219


Ну да ядро тут не при чем, это от реализации STM32 зависит. В более поздних видать добавили.
В STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and
STM32F107xx референсе ее нету.

По ссылке на ресурс easyelectronics там использовался STM32L152RBT6 в котором есть.

Дело в том что топикстартер тестировал F103, соответственно ремапа у него нет. Вы этого не знали. Покапавшись узнали что не во всех есть он (зависит от реализации периферии у вендора).

_________________
Инженер R@D

Моя группа в Telegram: https://t.me/radiowolf или в поиске приложения @radiowolf


Последний раз редактировалось Oxford Ср дек 27, 2017 06:27:59, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Ср дек 27, 2017 05:56:25 
Собутыльник Кота
Аватар пользователя

Карма: 25
Рейтинг сообщений: 641
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2631
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
AlphaLaiman писал(а):
Скорость выполнения в порядке возрастания:
1. Из RAM
2. Из RAM с ремаппингом (примерно также, как и Flash, плюс-минус такт)
3. Из Flash
4. Из CCMRAM (но эта опция есть только в STM32F3хх и STM32F7xx)
Однако, как я уже несколько раз говорил, мною на разных кодах были получены разные результаты. На одном форуме видел утверждение, что код из CCMRAM не выполняется на одних камнях, только как хранилище, а на других уже можно. Сам не знаю.

Сейчас народ рассосется и в рабочее время тихонько попробую еще один тестик. Посмотрим совпадут ли мои ожидания с результатом...

Oxford писал(а):
Дело в том что топикстартер тестировал F103
У меня еще есть 030, можно еще и его попробовать будет, я его даже не распаковывал. Тут cortex-m0, шины проще. Согласно пикче у ядра нет отдельной шины ICode. Все идет через системную шину. Может вечером попробую, ожидаю на нем самый быстрый код из ОЗУ.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Ср дек 27, 2017 06:13:26 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 11
Зарегистрирован: Вт окт 23, 2012 13:17:25
Сообщений: 676
Откуда: Киселевск
Рейтинг сообщения: 0
Да у Cortex M0 одна системная шина.
single 32-bit AMBA-3 AHB-Lite system interface that provides simple
integration to all system peripherals and memory

Касаемо Cortex M3 4 шины.

Информация по кортексам извлекается из документов на архитектуры от ARM.
По реализации периферии смотрите у вендора на конкретный МК.

_________________
Инженер R@D

Моя группа в Telegram: https://t.me/radiowolf или в поиске приложения @radiowolf


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Шестое юбилейное мероприятие в процессе
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Ср дек 27, 2017 09:50:24 
Электрический кот

Карма: 15
Рейтинг сообщений: 172
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 1057
Рейтинг сообщения: 0
На одном форуме видел утверждение, что код из CCMRAM не выполняется на одних камнях, только как хранилище, а на других уже можно.

Я проверял на F3, там из CCM выполняется так же быстро, как из флеша при нулевых тактах ожидания, только флеш с 0WS сильно не разгонишь... А на F4 у меня стек в CCM, это тоже дает заметное увеличение производительности.


Вернуться наверх
 
Быстро и просто. Разработка бюджетного неизолированного источника питания на контроллере VIPer122

С помощью VIPer122 можно создавать как изолированные, так и неизолированные сетевые источники питания. Разберем самый простой и бюджетный вариант – разработку неизолированного понижающего источника питания с выходным током в несколько сотен миллиампер без трудоемких расчетов трансформаторов и компонентов обвязки.

Читать статью>>
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Ср дек 27, 2017 10:40:41 
Собутыльник Кота
Аватар пользователя

Карма: 25
Рейтинг сообщений: 641
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2631
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
В рабочее время не удалось, сделал в обед.
МК f103

Контроль скорости так же по частоте на порте.
Массив на 256 32битных элементов, инициализирован некими числами.
Зацикленная функция.

Оптимизация включена.

Четыре варианта теста. Массив в ОЗУ и во Флеш. Функция в ОЗУ и во Флеш.

Первая половина теста. Массив в ОЗУ.
Частота порта
foo из флеша 12.788 кГц
foo из ОЗУ 11.710 кГц

Собственно - это повторение вчерашнего результата.

Теперь массив во Флеш.
foo из флеша 10.050 кГц
foo из ОЗУ 10.050 кГц

Хотя я ожидал не совсем такого результата. Ожидал что скорость понизится во флеш, а что понизится и в ОЗУ не ожидал. Да еще и скорость стала одинаковая.

----------
Сейчас кое-что дотестирую и допишу еще одним постом. Тоже на мой взгляд интересная вещь.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Микроконтроллеры STM32G4 полностью заменят STM32F3?

С начала выпуска микроконтроллеров STM32F3 прошло 8 лет. Изменились как технологии, так и потребности рынка. Понимая это, компания STMicroelectronics разработала новое семейство микроконтроллеров STM32G4 для систем со смешанными сигналами. Эти микроконтроллеры превосходят своих предшественников из семейства STM32F3 по уровню быстродействия, богатству периферии и при этом обеспечивают более низкий уровень потребления.

Читать статью>>
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Ср дек 27, 2017 10:47:04 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 151
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3601
Рейтинг сообщения: 0
Reflector, а к чему эти гонки ?
Вновь софтовый ногодрыг покоя не дает?


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Ср дек 27, 2017 10:49:24 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 89
Рейтинг сообщений: 1733
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 15674
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Вы еще этот массив при помощи DMA выводите куда-нибудь в порт, вот тогда и станет понятно, кто виноват и что делать.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Ср дек 27, 2017 11:04:01 
Собутыльник Кота
Аватар пользователя

Карма: 25
Рейтинг сообщений: 641
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2631
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
В функции foo была объявлена локальная переменная а, хотя и как volatile.
Убрал и объявил глобально. И все перевернулось. Теперь ОЗУ нагибает флеш. Да еще как и во всех случаях расположения массива.

Первая половина теста. Массив в ОЗУ.
Частота порта
foo из флеша 12.723 кГц
foo из ОЗУ 14.025 кГц

Теперь массив во Флеш.
foo из флеша 7.418 кГц
foo из ОЗУ 11.710 кГц

Так что, мутно тут усё :) и однозначно что-то утверждать нельзя видимо.

Добавлено after 9 minutes 2 seconds:
dosikus писал(а):
а к чему эти гонки ?
Понятно что эти не те камни, на которых можно считать количество команд, чтобы точно дернуть ногой. Однако в этих изысканиях может быть и практическое значение. Существуют же математические очень затратные операции и почему бы не поразмышлять как можно их ускорить?
ARV писал(а):
Вы еще этот массив при помощи DMA выводите куда-нибудь в порт, вот тогда и станет понятно, кто виноват и что делать.
Думаю будет только еще не понятнее. :). Каналов DMA не один, модулей DMA тоже может быть не один. У них свои приоритеты переназначаемые, и еще будут драться за шину(ы) между собой и ядром. Полнейший арбитраж одним словом.

Кстати, как я понял, память CCM избавлена от домогательств со стороны DMA. Тут может быть свой минус.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Бытовой пирометр АКИП-9312 – просто удобно!

Диапазон 35 °С ...42°С (температура тела) погрешность 0,3 °С
Диапазон 0 °С ...100°С (бытовая сфера) погрешность 1,0 °С
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Ср дек 27, 2017 11:08:39 
Электрический кот

Карма: 15
Рейтинг сообщений: 172
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 1057
Рейтинг сообщения: 0
Z_h_e, F103 на какой частоте работает?


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Ср дек 27, 2017 11:09:44 
Собутыльник Кота
Аватар пользователя

Карма: 25
Рейтинг сообщений: 641
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2631
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
72
Думаете имеет значение? Хотя если понизить может уменьшится простой из флеша и относительаня картина поменяется. :dont_know:

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Ср дек 27, 2017 11:52:47 
Электрический кот

Карма: 15
Рейтинг сообщений: 172
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 1057
Рейтинг сообщения: 0
72
Думаете имеет значение?

Нет, просто для 72MHz достаточно 1WS и тогда твой пример из флеша у меня выполняется чуть быстрее, а при 2WS уже заметно медленнее. Но это F1, у F2 уже есть ART, а L1 относительно медленные и 2WS для них бесполезны. И пример достаточно специфичный, в цикле складываются данные и все, а я проверял на реальных приложениях и там всегда флеш был быстрее...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Ср дек 27, 2017 12:23:29 
Собутыльник Кота
Аватар пользователя

Карма: 25
Рейтинг сообщений: 641
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2631
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Reflector писал(а):
1WS
Что это?
Reflector писал(а):
И пример достаточно специфичный, в цикле складываются данные и все, а я проверял на реальных приложениях и там всегда флеш был быстрее...
специфичный он или нет, не столь важно. Сам факт, что скорость выполнения там или там оказывается вещь не очень определенная. При том что, самый первый раз я сравнивал дизассеблерный код и он был идентичный для обоих расположений кода. В других разах тоже стоило так сделать конечно, но крайне лень.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Ср дек 27, 2017 12:44:54 
Электрический кот

Карма: 15
Рейтинг сообщений: 172
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 1057
Рейтинг сообщения: 3
Что это?

Флеш медленный, на больших частотах приходится вводить такты ожидания. Хотя для 72MHz рекомендуется 2 такта, но реально с двумя уже можно мк и на 144 запустить :) В общем ищи в доках FLASH->ACR, там LATENCY.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Ср дек 27, 2017 13:07:59 
Собутыльник Кота
Аватар пользователя

Карма: 25
Рейтинг сообщений: 641
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2631
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Залез в startup, да, устанавливается 2ws, согласно PM. Можно и тут поиграться конечно. Выключить буфер предвыборки и поглядеть что он дает в цифрах. Или устанвить 1ws. Да и разгон с одной стороны хорошо, но все же плохо :).
Еще какой доступ за пол такта есть ко флеш HLFCYA: Flash half cycle access enable.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Ср дек 27, 2017 17:49:17 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 11
Зарегистрирован: Вт окт 23, 2012 13:17:25
Сообщений: 676
Откуда: Киселевск
Рейтинг сообщения: 0
Попробуй обьявить так че по скорости будет?
register uint32_t a __asm("r12");
a = -1;

_________________
Инженер R@D

Моя группа в Telegram: https://t.me/radiowolf или в поиске приложения @radiowolf


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Чт дек 28, 2017 14:58:40 
Собутыльник Кота
Аватар пользователя

Карма: 25
Рейтинг сообщений: 641
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2631
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Oxford писал(а):
Попробуй обьявить


Переменная а в принципе не использовалась. Смысл исполнения кода из флеш и хранения массива во флеш был как можно больше занять шину ICode, но не занимать остальные системные шины. И затем сравнить исполнение кода из озу, при том же массиве констант во флеше.

Для этого в foo была введена переменная buf не волатайл (чтобы не занимала системную шину), наверняка она была регистром, а чтобы оптимизатор не выкинул вычисления, результат сохранялся в переменную а. Но по всей видимости он ее все равно выкинул каким-то образом. Переменная а была объявлена только в области видимости функции, переменная а нигде не использовалась (варнинг был об этом). Однозначно, а нигде не могла использоваться(что четко видно компилятору) и видимо это дало повод компилятору все оптимизировать не смотря на то, что она волатайл. Т.е. первый эксперимент с foo, был неудачный, т.е. не вышло то что я хотел.

Объявив же a глобально, код заработал именно так, как и был написан. Т.е. уже понадобились данные из флеш, что и сильно понизило скорость выполнения кода из флеш.

Я думаю, что определение а в регистр эффекта не должно дать. Наверное сейчас попробую.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Чт дек 28, 2017 16:16:18 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 11
Зарегистрирован: Вт окт 23, 2012 13:17:25
Сообщений: 676
Откуда: Киселевск
Рейтинг сообщения: 0
Дизассемблер листинг прикладывай увидим тогда что там было, иначе вангование на кофейной гуще.
Ну смотри сам я просто увидел код с твоей переменной подумал что если...измениться что нет
Можешь по шагам пройтись в отладке и посмотреть где лежит переменная в ОЗУ или регистре.

_________________
Инженер R@D

Моя группа в Telegram: https://t.me/radiowolf или в поиске приложения @radiowolf


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Чт дек 28, 2017 17:28:41 
Собутыльник Кота
Аватар пользователя

Карма: 25
Рейтинг сообщений: 641
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2631
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
foo при volatile uint32_t a ;



при volatile register uint32_t a __asm("r12");


Коды практически идентичны. Но частота все-таки поднялась. С 7,418кГц до 10,050кГц.
Сейчас попробую код с переменной в регистре из ОЗУ запустить.

Добавлено after 4 minutes 37 seconds:
Код из ОЗУ при volatile register uint32_t a __asm("r12");
Частота 10,050




Добавлено after 5 minutes 59 seconds:
А теперь код из ОЗУ, но переменная обратно volatile uint32_t a ;



Частота 11.7кГц. Я такой уже тест делал, повторил еще раз.

Т.е. быстрее, чем с переменной в регистре (из флеш логично), но и быстрее чем в том же ОЗУ.

----------
Очень-очень все мутно со скоростью выполнения.

Добавлено after 16 minutes 40 seconds:
Запустил код "флеш - флеш", т.е. когда частота 7кГц, но с 1ws, замолотил с более чем 12кГц. С 0WS зависло.

Однако вендер почему-то указал что должен быть 2WS, не просто же так, чтобы замедлить МК.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Чт дек 28, 2017 18:05:32 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 11
Зарегистрирован: Вт окт 23, 2012 13:17:25
Сообщений: 676
Откуда: Киселевск
Рейтинг сообщения: 0
Оптимизация какая включена?

_________________
Инженер R@D

Моя группа в Telegram: https://t.me/radiowolf или в поиске приложения @radiowolf


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Чт дек 28, 2017 18:07:08 
Собутыльник Кота
Аватар пользователя

Карма: 25
Рейтинг сообщений: 641
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2631
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
О2

Добавлено after 43 seconds:
Но основной смысл топика не как ускорить код, а где он быстрее работает.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 83 ]    , 2, , ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y