А попробуйте
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Сергей Борщ 12 января 2004 г. 14:27
В ответ на: Вот такая PROBLEM in IAR EWW (for MSP430) Чем грозит снижение буфера " -D_STACK_SIZE=50 " в [lnk430F1232.xcl]-файле ?(+) отправлено SERG-ANT 12 января 2004 г. 11:26

Оптимизацию не по скорости, а по размеру. Размер кода часто получается меньше. Однако стек - это не код, а данные, так что скорее всего это вам не поможет. У Вас очень много глобальных переменных. Посмотрите в листинге, как они размещены. Не забывайте, что переменные размером int, long, float компилятор выравнивает по четным адресам. Поэтому если переменные объявлены как
unsigned i;
unsigned char j;
float k;
unsigned char l;
то это займет 2+1+1(выравнивание)+4+1 = 9 байт, и еще может после этого будет дырка, а если
unsigned i;
unsigned char j;
unsigned char l;
float k;
то 2+1+1+4 = 8 байт, и следующая переменная будет размещена сразу вслед. Это же касается и структур, если компилятор ниже 2.10 и структуры не упакованы.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru