реклама на сайте
подробности

 
 
> GCC, aligned и пустое место, Как задействовать "паддинг"
Flexz
сообщение Nov 18 2011, 06:34
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 252
Регистрация: 9-10-08
Из: Московская обл.
Пользователь №: 40 797



Понадобилось сделать выравнивание массива по большому числу (ремап таблицы прерываний в рам в CortexM3)
Код
static InterruptHandler __attribute__((aligned(0x400))) isrTable[isrCount];

В map наблюдаем:
Код
*fill*         0x20002b34       0xcc 00
.bss._ZL8isrTable
                0x20002c00      0x400 nvic.o

При этом поле *fill* может гулять от малых значений до цифры близкой к 0x400, в зависимости от ручной перетасовки кода. Когда цифра маленькая еще туда-сюда, но когда она подбирается к 0x400 - это ж почти килобайт оперативки в пустую!
Можно ли как-то заставить компилятор использовать область *fill* с пользой, причем только в данном месте?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 10:02
Рейтинг@Mail.ru


Страница сгенерированна за 0.01348 секунд с 7
ELECTRONIX ©2004-2016