Спасибо, князь. Вы настоящий дворянин. И программист.
-
- Спасибо. Просто я барахтаюсь не выше CM4, не ожидал что нечаянно
забрел в высшую лигу :) - VLLV(30.04.2020 21:48)
- Реальность как обычно, смешнее :)) В призрачном прошлом пришлось
шатать RISCовые процы, ну и разумеется Intel/Amd. Недавно так
повернулось что dsPIC'и (которые тоже unaligned access не делают),
а вот за свежие ARM взялся совсем недавно, так что барахтаюсь я
тоже там :)) Я вот что забыл сказать. У тебя большие структуры?
Попробуй переставлять внутренние поля. Иногда можно при не-потере
скорости сделать структуру компактнее. И есть еще нюанс. При
вычитке массива из структур RxTx(240 знак., 30.04.2020 22:09)
- Конечно, поля сортировал, чтобы уменьшить дыры. Сейчас над проектом
работают в основном другие, нужно перепроверить. Компилятор не
любит вложенные упакованные структуры, дает предупреждение о
невыровненном доступе, хотя по идее компилятор обязан обеспечить и
невыровненный доступ. - VLLV(30.04.2020 22:45)
- Недавно тему обмусоливали: с полями в упакованных структурах
невозможно работать через указатель, это поле усеянное граблями. - fk0(30.04.2020 23:13)
- А зачем структуры паковать? В АРМах места мало? :) - Звepoящep(05.05.2020 12:53)
- Банальные данные в EEPROM. - VLLV(05.05.2020 16:05)
- Зазиповал, сохранил в ЕЕПРОМ. Считал из ЕЕПРОМ, раззиповал, структуры забил :) - Звepoящep(05.05.2020 17:29)
- Я предпочитаю сортировать поля, чтобы между ними было поменьше дыр. Да и дыры сами по себе редко мешают, чаще это суеверие, КМК. - SciFi(05.05.2020 16:09)
- От дурости... - fk0(05.05.2020 13:49)
- Банальные данные в EEPROM. - VLLV(05.05.2020 16:05)
- Угу, забываю. Но прямое обращение компилятор должен поддержать? - VLLV(30.04.2020 23:46)
- Без кода нещитово. - SciFi(30.04.2020 23:48)
- Кортексам специальный код не нужен, а для arm7, у которого
невыровненное обращение к памяти вызывает bus fault, ИАР вставляет
вызов функции __aeabi_uread4, которая читает побайтно, ну или
__aeabi_uwrite4 для записи. йцyкeн(2172 знак., 01.05.2020 00:47)
- Я хотел сказать "код в студию". - SciFi(01.05.2020 08:54)
- Кортексам специальный код не нужен, а для arm7, у которого
невыровненное обращение к памяти вызывает bus fault, ИАР вставляет
вызов функции __aeabi_uread4, которая читает побайтно, ну или
__aeabi_uwrite4 для записи. йцyкeн(2172 знак., 01.05.2020 00:47)
- Без кода нещитово. - SciFi(30.04.2020 23:48)
- А зачем структуры паковать? В АРМах места мало? :) - Звepoящep(05.05.2020 12:53)
- Недавно тему обмусоливали: с полями в упакованных структурах
невозможно работать через указатель, это поле усеянное граблями. - fk0(30.04.2020 23:13)
- Конечно, поля сортировал, чтобы уменьшить дыры. Сейчас над проектом
работают в основном другие, нужно перепроверить. Компилятор не
любит вложенные упакованные структуры, дает предупреждение о
невыровненном доступе, хотя по идее компилятор обязан обеспечить и
невыровненный доступ. - VLLV(30.04.2020 22:45)
- Какая такая лига? Просто пижонство. Кстати, у многих STM32 шина
флеша имеет ширину 64 или 128 разрядов, там выравнивание точек
входа в функции с такой кратностью может быть обосновано. - SciFi(30.04.2020 22:01)
- Не вижу связи ширины флэш с данными, мои данные в ЕЕПРОМ и внешней
Flash, еще будем выравнивать по длине сектора SPI flash? - VLLV(30.04.2020 22:40)
- Это я просто для поддержания разговора, просьба не беспокоиться :-) - SciFi(30.04.2020 22:41)
- :) проверка бдительности, ага... - VLLV(30.04.2020 22:46)
- Это я просто для поддержания разговора, просьба не беспокоиться :-) - SciFi(30.04.2020 22:41)
- Не вижу связи ширины флэш с данными, мои данные в ЕЕПРОМ и внешней
Flash, еще будем выравнивать по длине сектора SPI flash? - VLLV(30.04.2020 22:40)
- Реальность как обычно, смешнее :)) В призрачном прошлом пришлось
шатать RISCовые процы, ну и разумеется Intel/Amd. Недавно так
повернулось что dsPIC'и (которые тоже unaligned access не делают),
а вот за свежие ARM взялся совсем недавно, так что барахтаюсь я
тоже там :)) Я вот что забыл сказать. У тебя большие структуры?
Попробуй переставлять внутренние поля. Иногда можно при не-потере
скорости сделать структуру компактнее. И есть еще нюанс. При
вычитке массива из структур RxTx(240 знак., 30.04.2020 22:09)
- Спасибо. Просто я барахтаюсь не выше CM4, не ожидал что нечаянно
забрел в высшую лигу :) - VLLV(30.04.2020 21:48)