ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
6 мая
1224142 Топик полностью
Гyдвин, волшебник (16.07.2022 10:18, просмотров: 200) ответил Codavr на Была такая хрень. Надо было упихать код в 8 мегу. Бился за каждый байт. Упихалось при определенной конфигурации по скорости, а по размеру кода нивкакую.
Кучеряво живете. Оптимизации... Вот где треш и угар ;) Не хватало всего одного байта, чтобы нужное впихнулось в жалкие 128 байт MSP430G2230. 

Размер стека 20 байт (меньше нельзя - и так все ужал до минимума). Остальное глобальные структуры данных. Пришлось похерить последствия CALL из cstartup.s43...


int main( void )
{
//SP+2 (освободим 2 байта памяти) 
__op_code(0x5321);

   WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer

   BCSCTL1 = CALBC1_1MHZ;                    // Set DCO 1 MHz
   DCOCTL = CALDCO_1MHZ;

....

1 594 bytes of CODE memory (+ 2 absolute, 8 range fill )

127 bytes of DATA memory (+ 35 absolute )

32 bytes of CONST memory (+ 412 range fill )