|
|
  |
Cortex-M7, Не угнаться. |
|
|
|
Jul 2 2015, 11:04
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
При всём уважении к zltigo, обсуждать NVIC не имеет смысла. Это свершившийся факт. И, совершенно очевидно, что возврата к старому контроллеру уже не будет. Аналогично и с системой команд. Плакать сейчас по этим вещам - сродни плачу по AVR. При этом по CM7 есть что обсуждать. Я, к примеру, не работал с камнями с кэшем. Для меня не совсем сие понятно. До сих пор я был уверен, что всё это работает без участия программиста. То есть прозрачно для него. Кто прояснит? По поводу акселератора ST (CromART) тоже пока каша в голове полная. Для меня пока очевидно одно, что под свой проект гуи придётся писать почти с нуля. Видно, что если применить палитру и серьёзно проработать графику, то на дисплее 480х272 можно обойтись встроенным озу. Кто там работает с Atmel. Как там развивается поддержка графики. Расскажите на пальцах. Камни уже появились.
|
|
|
|
|
Jul 2 2015, 11:15
|
Гуру
     
Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588

|
Цитата(Golikov A. @ Jul 2 2015, 10:02)  Пихните функцию в РАМ сразу полегчает. саечка ибо не полегчает, а встанет на ручник - шины-то разной ширины ну может в stm32f7 пофиксят Цитата(Golikov A. @ Jul 2 2015, 10:02)  не понял как, без прерывания? просто в супер лупе? А как вы синхронность и периодичность обеспечили? Если приходят данные и возникают внешние прерывания всяко прцо отвлекается, и супер луп выполняется с другой периодичностью... а вот так, нет никаких прерываний - опрос битов говности задача была размесить тела бывших "обработчиков прерываний" между собой и основного цикла
Сообщение отредактировал Огурцов - Jul 2 2015, 11:34
|
|
|
|
|
Jul 2 2015, 11:51
|

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

|
QUOTE (SasaVitebsk @ Jul 2 2015, 14:04)  При всём уважении к zltigo, обсуждать NVIC не имеет смысла. Имеет. Не единым кортексом-м живет ARM. Так-что знания не помешают, тем более, когда "есть мнение", что тот был старый и плохой  Те-же сортексы-а живут себе без NVIC в ядре с FIQ/IRQ и неплохо живут. QUOTE Плакать сейчас по этим вещам - сродни плачу по AVR. Никакого плача. Просто выступление против охаивания и бездумного повторения мантр маркетологов из рекламных буклетов. Я как-бы за десяток с гаком лет работы только с армами семерками и кортексами, не говоря о том, что контроллерами с 1984, а с программированием с 1976, многое что прочувствовал и сравнил ЛИЧНО. И уж чего лично мне АБСОЛЮТНО не свойственно, так это плач по чему-то старому - все наоборот - скорее на новинки падок. Что не мешает мне помнить и все хорошее, что было раньше и понимать, что не все новое есть безусловное счастье. QUOTE (Golikov A. @ Jul 2 2015, 13:02)  я это давно понял, и даже где-то выше писал или хотел: что пока процесс один - ОК, а если их будет 2 со сдвигом фазы, то.... То, простите, все Ваши рассуждения о реальновременности идут лесом, ибо вся Ваша логика работает исключительно на том, что есть одно непрерываемое прерывание. И двух таких быто не может, могут быть максимум одного приоритета, но тогда забывайте сразу рассказывать про то, что остается от точности соблюдения интервалов при их состязаниях. Если речь идет об обеспечении ТОЧНЫХ фазовых сдвигов сигналов, то сие делается перепрограммированием таймера для каждого последующего цикла, а не добавленеим еще одного таймера и еще одного прерывания.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 2 2015, 13:36
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Цитата саечка ибо не полегчает, а встанет на ручник - шины-то разной ширины ну может в stm32f7 пофиксят какие шины разной ширины? что к памяти идет шина не 32 бита? Или вы про то что к флеш она 128? ну так к флеш то частота обращения под 20 МГц, и потому команды выбираются реже, если в функции есть ветвление и переходы, которые заставляют команды выполняться не подряд, тогда появляются такты ожидания подкачки инструкций... В ускорителях кстати есть кеши инструкций, но они не такие большие чтобы справиться с этим 100% Цитата а вот так, нет никаких прерываний - опрос битов говности задача была размесить тела бывших "обработчиков прерываний" между собой и основного цикла не очень я понимаю как полингом при наличии других процессов и событий с недетереминированным временем наступления можно допиться хоть какой-то повторяемости.... Если вы вошли в процесс обработки данных, то пока не выйдите бит то не проверить, и если событие наступит то обработается только после этого процесса.... или я чего-то не понимаю? Цитата Просто выступление против охаивания и бездумного повторения мантр маркетологов из рекламных буклетов я искренне заблуждался Цитата То, простите, все Ваши рассуждения о реальновременности идут лесом, ибо вся Ваша логика работает исключительно на том, что есть одно непрерываемое прерывание. И двух таких быто не может, могут быть максимум одного приоритета, но тогда забывайте сразу рассказывать про то, что остается от точности соблюдения интервалов при их состязаниях. Если речь идет об обеспечении ТОЧНЫХ фазовых сдвигов сигналов, то сие делается перепрограммированием таймера для каждого последующего цикла, а не добавленеим еще одного таймера и еще одного прерывания. Я сдаюсь  иначе я просто пойду по пути придумывания такой задачи, которая укладывается в условия и потом решается лучше. Не было бы у меня NVIC конечно же я бы решил эту задачу, просто как на получилась на NVIC мне понравилось и есть куда масштабировать. Но как бы ни было я все равно убежден что контроллер с вытеснением дает много свобод и удобств. Цитата При этом по CM7 есть что обсуждать. Я, к примеру, не работал с камнями с кэшем. Для меня не совсем сие понятно. До сих пор я был уверен, что всё это работает без участия программиста. То есть прозрачно для него. Кто прояснит? В большинстве всего так и есть. Программисту надо следить за 2 вещами. В случае кеша команд и модифицируемых функций надо не забывать обновлять кеш. В случае кеши данных, надо четко следить за тем что делает ДМА, и если есть возможность раскладывать данные в не кешируемые регионы или не забывать обновлять состояние кеша. В остальном в тех контроллерах что я использовал кеш все делал сам, при обращении в память проц проверял данные в кеше, если они там были брал оттуда, если не было, то брал из памяти и вместе с соседними заносил в кеш, выкидывая либо старые либо редко используемые (зависит от реализации контроллера). Собственно вы и сейчас используете кеш, он встроен в ускоритель флеши и кеширует команды.
|
|
|
|
|
Jul 2 2015, 13:51
|
Гуру
     
Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588

|
Цитата(Golikov A. @ Jul 2 2015, 13:36)  какие шины разной ширины? лучше st спросить, почему так, или, реальнее - самому проверить Цитата(Golikov A. @ Jul 2 2015, 13:36)  не очень я понимаю как полингом при наличии других процессов проверил бит - выполнил обработку или не выполнил и перешёл к следующему блоку и нопы никто не отменял, хотя их как раз было очень и очень мало а вообще, это как дышать, это сложно объяснить, если другое мировоззрение
|
|
|
|
|
  |
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0
|
|
|