Sign in to follow this  
Guest Руслан

STM32F7 максимальное быстродействие

2 posts in this topic

Guest Руслан   
Guest Руслан

Недавно я начал разбираться с камнем STM32F7, так как на STM32F4 уже не хватало быстродействия. По результатом понял, что если просто запустить одну и ту же программу (вычисление цифровых фильтров) на F4 и F7 на максимальной частоте ядра, то производительность не сильно возрастает. Но если на F7 включить кэш первого уровня, вычисления проходят гораздо быстрее. Вопрос, как этот кэш используется? Его всего 4Кб на ОЗУ и 4Кб на флеш. Как компилятор решает что загрузить туда? Так же ещё на F7 прочитал что для увеличения быстродействия можно использовать TCM память, но не могу разобраться как с ней работать не в кейле, не в stmIDE. Может кто объяснить как работать с TCM памятью?

Share this post


Link to post
Share on other sites
ruhi    39
Posted (edited)
13 часа назад, Гость Руслан сказал:

Как компилятор решает что загрузить туда?

По кешу компилятор ничего не решает, это аппаратные функции процессора, и производители процессоров обычно не особо распространяются о деталях реализации - соответственно о способах эфективного использования. То есть если вы видите улучшение производительности при включении кэша - это все что вам надо знать о нем.

Если вы надумаете использовать ДМА придется немного углубляться в вопросы использования кэша. Вы же ДМА не используете? Зачем оно вам? просто включите кеш и все.

13 часа назад, Гость Руслан сказал:

Может кто объяснить как работать с TCM памятью?

Так же как и с любой другой памятью - надо понять какие регионы адресов принадлежат этой памяти, и использовать именно эти адреса, наблюдая при этом увеличение производительности по сравнению с использованием адресов другого типа памяти.

Если производительность не меняется или даже падает - значит вы что то делаете не так, надо искать ошибку вот и вся методика :) .

Кстати наблюдение и численное выражение значения производительности это отдельная непростая задача, для решения которой не всегда имеются инструменты на ембедед платформах!

Edited by ruhi

Share this post


Link to post
Share on other sites

Your content will need to be approved by a moderator

Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoticons maximum are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Similar Content

    • Guest blackhand
      By Guest blackhand
      Здравствуйте. Недавно возникла потребность в Ethernet бутлоадере для stm32f7.  Гугл на этот счёт обладает крайне скудной информацией, в частности есть наполовину полезная pdf от ST STM32Cube Ethernet IAP example, в которой описана архитектура того, как работает этот бутлоадер в целом и по каким протоколам. Во всём мире существует только один готовый пример такого бутлоадера , который сконфигурирован для stm32f4 и под какую-то из EVAL-отладочную плату. В распоряжении имею отладочную Nucleo-144 на STM32F767ZI, у которой на борту уже есть PHY Ethernet чип.
      А теперь, в чём, собственно, проблема: Простое переназначение ножек в файле ethernetif.c под мою плату (ну я уж не говорю про замену всех библиотек под мой тип МК) не поможет. Пример сделан под PHY Ethernet чип, который общается с контроллером по интерфейсу MII. На Nucleo чип имеет интерфейс RMII , то есть, пинов у него меньше. При изучении кода примера выяснил, что там отлавливается некое внешнее прерывание с отдельной ножки MII чипа, которая соединена с PB14  (Enable PB14 to IT mode: Ethernet Link interrupt). Такой ножки у моего RMII в помине нет, поэтому это прерывание Ethernet Link interrupt просто повисает в воздухе.
      Может кто-нибудь встречался с такой проблемой или имеет готовый рабочий бутлоадер? Был бы благодарен за помощь
    • Guest Денис
      By Guest Денис
      Доброго времени суток!
      Столкнулся с проблемой при использовании STM32F745.
      Элементарная программа:
      В main в бесконечном цикле происходит постоянный вызов процедуры, в которой следующее:
      1. выставили лог. 1 на GPIO
      2. пустой цикл задержки
      3. сбросили пин GPIO (лог. 0)
      4. пустой цикл задержки
      ...
      и далее повторение пунктов 1-4 4 раза.
      Все пустые циклы сделал ассемблерными вставками (чтобы наверняка, компилятор проглатывает как есть).
      На осциллографе 3 первых получившихся импульса и пауз между ними одинаковые, а четвертый импульс растянут раз в 5 больше. Эффект независим от длительности импульсов.
      При добавлении кол-ва импульсов этот эффект может проявиться где угодно в разных импульсах и паузах 1 и более раз.
      Тактирование PLL - 200 МГц от внешнего генератора 25 МГц. Пробовал и c HAL-ом и без него. Кроме GPIO и RCC (тактирование) ничего не включено. Все прерывания отключены. Питание норм.
      Что это может быть? Уже всю голову сломал и уже не я один.
      Приветствуются любые предложения.
      Спасибо!
  • Сообщения

    • Я поясню, почему нет смысла спорить по статье в ссылке: - Для того, чтобы написать статью в негативном свете, нужно  доходчиво обьяснить  причину быстрого износа тех или иных узлов или деталей и аргументированно обьяснить, почему это произошло при эксплуатации на газу и почему этого не происходит на бензине.  И с этими обьяснениями сложно спорить  потому, что факты предьявляются простые и всем понятные -  раньше присутствовала смазка за счет несгоревших смол, а теперь ее нет итд.  Но все эти износы и прогары на практике не происходят и ходят детали в полтора-два раза дольше.  Поэтому спор будет не о том, что клапан не смазывается, а о том, чтобы такой пострадавший от газа клапан был вообще в природе. И зазоры не уходят. На вазах нет компенсаторов и поэтому ответственные люди приезжают на регламентные работы строго по пробегу, а им говорят, чтобы еще столько же поездили, тогда и можно будет подрегулировать и масло поменять(полтора-двойной пробег). Свечи еще гораздо реже менялись. Про экономию бензина нет смысла говорить. Если кто спросит, а какие все-таки недостатки у газа, ведь без них ничего не бывает, то скажу, что это запах (для некоторых, мне пофиг), немногочисленность заправок  и невозможно с собой в канистре взять. Но у меня одним разьемом подключался второй баллон. Зимой его не снимал для загрузки задней оси.  В день проезжал 65-70 км на работу, заправки хватало на месяц.
    • Кому такая дурь известна? Если только в палате номер 6? АМ имеет плохую помехозащищённость, если в радиовещании  -  соглашусь. Но в остальном полнейшая ересь.    Осциллограммы где?? Что что то там "звучит" это никому не интересно. Где осциллограммы? И тупить не надо. Цитатами и вырезками решил стрелки перевести. ОСЦИЛЛОГРАММЫ ДАВАЙ!
    • Нормальные. Сюда пойдут. Почти похожи на мотороллы MJ15003 - понизкочастотнее, но крепкие. Всем кажется, что так лучше. Но это не факт. При однополярке не нужна защита АС от постоянки на выходе например. В этой схеме уже есть стабилизатор. А выходной каскад не так чуствивтелен к пульсациям.
    • Аллилуйя!
      Идите...... и не грешите больше!

      А мы, сирые , уж как нибудь.
    • Ничего такого в моем ЧМ-демодуляторе нет. АМ не пригодна для качественного звука-это всем известно. кроме некоторых отвязавшихся.. У меня уже все изготовлено и отлично работает. Седни слушал и сравнивал с SONY ST-SA5ES который с ФАПЧ, ну... на уровне оба. Записал семплов и еще запишу. Sony дает отличное разделение каналов и там хитро...ная микруха CXA1064 с пьезорезонатором. Запишу видео и звук подклею. А то на эту сони нормальных видосов нет. Не позорился бы со своими АМ-детекторами, когда космические корабли бороздят...эфир.    
    • Нахожусь в процессе изучения темы... Тяжело с самого начала "въехать". Видимо первая страница на самом деле не самая первая, уже на ней ссылаются на какую-то версию 4.42... Ну и видимо первые страниц 10 хорошо пропололи.. непонятные ссылки, какие-то скачки.. но неудивительно, сколько лет прошло.. Что понял из пока прочитанного: защита от обрыва - излишество. Событие шибко редкое, таких событий (приводящих к подъему напряжения) может быть много, от всех не перестрахуешься. Тем более обрыв вот прямо в процессе... А в остальных случаях по вольтметру сразу видно. Так что себе ее точно делать не буду. Далее. Светодиоды в управлении... Думаю это неправильно. Всего пара транзисторов добавляется и исчезают проблемы. Кроме риска выхода из строя самих светодиодов (и как следствие подъем напряжения) имеем разную их яркость (особенно если они разного цвета и даже марки). Так что для себя выбрал вариант без светодиодов в управлении. Далее. Термозащита.. Считаю ее не должно быть в составе платы управления. Есть много вариантов реализации, к тому же система управления кулером все равно обязательно будет, вот она-же будет заодно выполнять функцию  термозащиты. Это сервисная функция и нечего ей делать в составе управления. Но возможность ее подключения должна быть. В связи с наличием тумблера оперативного отключения (считаю это нужно) появилась мысль... Не силен я в этих вещах, поэтому попробую по деревенски изложить, авось поймете. Ввести в схему некий элемент (реле, тиристор, оптрон или та-же ТЛка) назовем его Х, который при внешнем сигнале будет отключать силовую часть (так как сейчас действовать будет добавленная кнопка отключения.) А вот включение этого элемента через развязывающие диоды может происходить от разных сигналов. Сейчас одна Тлка управляется термозащитой, другая - тумблером отключения, третья защитой и все они ведут к одному действию - отключению силовой части. так вот пускай это будет один элемент (Х) управляемый разными сигналами. Тогда систему термозащиты можно делать какую угодно (отдельно) и ее сигнал будет приходить на Х, отключая блок. К этому-же элементу Х через свой диод подключен тумблер отключения. На него-же может приходить сигнал от любого другого устройства (хоть от часов, хоть от датчика фазы луны) и все они через этот элемент будут приводить к одному действию - отключению. Да хоть фотодатчик подключить и блок будет включаться утром и отключаться вечером. Примерно так когда-то  мы проектировали системы аварийных блокировок для спецтехники, когда разные события приводят к одному результату. Или это глупости и не стоит усложнять схему? Это просто мысль вслух, лирическое отступление, не более. Возникающие вопросы пока записываю, если не найду ответов, буду спрашивать. Пока неясен момент с радиаторами для 7815 и транзистора опорного. Какие там токи? Нужен реальный радиатор или достаточно куска пластины. Почти на всех схемах написано "U3 - защита входа", но пока нигде не нашел пояснения защита чего, от чего и как работает. Видимо описание поэлементно когда-то было, но осталось где-то в предисловии, которое не попало сюда. И еще: если светодиоды не в управлении, а они питаются от генератора тока - то выходит нет возможности регулировать по отдельности яркость каждого? Даже если резистор последовательно поставить, то ток все равно будет тот-же. А если светодиоды разные?  Ну например один сверхяркий 3мм красный, а другой например простой 10 мм зеленый - естественно яркость будет разная). Или их нужно одинаковые ставить? А если один из них будет моргающий? Может в их питании нужен не генератор тока, а стаб напряжения? Тогда можно последовательно с каждым ставить свой резистор, тем самым изменяя яркость? В любом случае большое спасибо Владимиру, автору этой весьма удачной конструкции, который поддерживает тему уже много  много лет...
    • Я знаю, что такое правильный УНЧ, а вот вы и близко не знаете. Если УНЧ начинает вносить искажения в звук - это гамно, а не УНЧ, и место ему на помойке. Единственный случай, когда такой УНЧ имеет право на жизнь - это когда кривизна звука УНЧ компенсирует кривизну звука АС.   Ну да. Есть нормальные люди, которые слушают музыку, а есть не совсем нормальные, которые слушают искажения УНЧ. Лично у меня собран JLH, который имеет линейную АЧХ во всем диапазоне (смотрел лично практически от нуля и 20КГц). И он дает шикарный, собраный низ, высокую детализацию, хорошую сцену. И при этом всем имеет высокую верность воспроизведения, чего не скажешь ни о лампах, ни о германии. Еще раз повторюсь, УНЧ должен УСИЛИВАТЬ, а не звучать. "Звучание" УНЧ замашки аудиофилов, не более.