-
- Причём тут ассемблер? Операция p=p->next это одна ассемблерная
команда (для ARM) и любой компилятор cделает её на изи. Вопрос в
размещении данных во flash. - VladislavS.(29.04.2022 15:05)
- вообще вопрос в алгоритме, который критичен к лишней ассемблерной
команде. - Mahagam(29.04.2022 16:14)
- Странный вопрос. Есть контроллер, который справляется, пусть даже и
на пределе, с поставленной задачей. Предлагается заменить его на
более производительный чтобы был запас в эту одну ассемблерную
команду? - VladislavS.(29.04.2022 16:51)
- задача, где требуется ШИМ по чёткому расписанию решается либо контроллером c DMA, либо на плис. походу, контроллер изначально выбран неверно. - Mahagam(29.04.2022 17:12)
- там, походу, дело в неравномерности обращений. задача изначально
неясная. - Mahagam(29.04.2022 16:54)
- Да какая разница, какой там алгоритм? Вопрос был в том "как
инициализировать массив структур во флэшь". Будь там не связный
список, а обычный массив, вопрос будет тем же. - VladislavS.(29.04.2022 17:01)
- оно инициализируется циклом. то есть можно тупо вычислять значения.
но хитроделанный алгоритм вывода в шим не даёт этого сделать. тут
вообще DMA напрашивается. а все эти плюсовые заморочки сродни
лечению поноса пробкой. и выбор между списком и массивом это как
либо брать пробку большего размера, либо на старой резьбу накатать. - Mahagam(29.04.2022 17:11)
- Каким это образом алгоритм вывода не даёт инициализировать данные? Это вообще разные задачи. Можно инициализировать и вообще не использовать ни в каком алгоритме, если захочется. Плюсы тут помогают тем, что имеют механизм вычислений на этапе крмпиляции. Да и код меньше, понятнее и ошибкоустойчивей получается. - VladislavS.(29.04.2022 17:44)
- Микроконтроллер - это всего лишь кусок кремния. Если он справится с задачей то совершенно не важно, какими средствами эта задача решена. - =AlexD=(29.04.2022 17:15)
- оно инициализируется циклом. то есть можно тупо вычислять значения.
но хитроделанный алгоритм вывода в шим не даёт этого сделать. тут
вообще DMA напрашивается. а все эти плюсовые заморочки сродни
лечению поноса пробкой. и выбор между списком и массивом это как
либо брать пробку большего размера, либо на старой резьбу накатать. - Mahagam(29.04.2022 17:11)
- Да какая разница, какой там алгоритм? Вопрос был в том "как
инициализировать массив структур во флэшь". Будь там не связный
список, а обычный массив, вопрос будет тем же. - VladislavS.(29.04.2022 17:01)
- +1. Я вообще думаю, что там на самом деле всё не так, как в
действительности. ТС набросил и убежал :-) - SciFi(29.04.2022 16:24)
- Ну почему.. он придумал пиздатенькую вещь (как ему кажется) и
отказываться от не не хочет, хотя нахрен бы она нужна. - POV(29.04.2022 16:37)
- И ты прав. © ) - Moлoдoй кoллeгa(29.04.2022 16:58)
- Всё ТС правильно делает. Скорость перебора в связном списке выше,
чем по индексу в массиве. Желание константные данные разместить во
флэшь тоже нормально. Возможно, можно было что-то с DMA намутить,
но я тип контроллера в хрустальном шаре не вижу. - VladislavS.(29.04.2022 16:46)
- нормальный компилятор побегает по массиву также эффективно как и по списку. тем более, что в массиве не придётся хранить лишний элемент. - Mahagam(29.04.2022 16:52)
- Ну почему.. он придумал пиздатенькую вещь (как ему кажется) и
отказываться от не не хочет, хотя нахрен бы она нужна. - POV(29.04.2022 16:37)
- Странный вопрос. Есть контроллер, который справляется, пусть даже и
на пределе, с поставленной задачей. Предлагается заменить его на
более производительный чтобы был запас в эту одну ассемблерную
команду? - VladislavS.(29.04.2022 16:51)
- вообще вопрос в алгоритме, который критичен к лишней ассемблерной
команде. - Mahagam(29.04.2022 16:14)
- Причём тут ассемблер? Операция p=p->next это одна ассемблерная
команда (для ARM) и любой компилятор cделает её на изи. Вопрос в
размещении данных во flash. - VladislavS.(29.04.2022 15:05)