|
100 байт не хватает |
|
|
|
Dec 25 2008, 20:25
|
Гуру
     
Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588

|
В общем, называется "приплыли", допрограммировались - бутлодырь перестал вмещаться в размер бутсекции, т.е. в 2k. Последним делом добавлено нечто такое: Код void Bus_transmit_packet(uint8 aStatus) { uint16 vCrc;
Bus_transmit_byte(Slp_packet_end); Bus_transmit_byte(Slp_packet_end); Bus_transmit_byte(Slp_sysdev_program | Slp_response_mask); // vCrc = vxl_get_crc16(Vxl_crc_ccitt_initial_value, Slp_sysdev_program | Slp_response_mask); Bus_staff_n_transmit_byte(aStatus); vCrc = vxl_get_crc16(0x7976, aStatus); Bus_staff_n_transmit_byte(vCrc >> 8); Bus_staff_n_transmit_byte(vCrc & 0xFF); Bus_transmit_byte(Slp_packet_end); } Что занимает примерно 60 байт. Предварительное заполнение массива и передача массива хоть и напрашивалась явно, но почти ничего не изменила или даже хуже. Однако, где бы наскрести еще сотню байт ? (таблица векторов еще не затронута, как и секции инициализации/финализации) Поделитесь, pls, примером оптимизации - сам я боюсь все порушить и грохнуть что-либо нужное. M88, GCC(WinAVR-20060421), cкрипты линкера от WinAVR-20081205
Сообщение отредактировал Огурцов - Dec 25 2008, 20:26
|
|
|
|
|
 |
Ответов
|
Dec 26 2008, 15:07
|
Гуру
     
Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588

|
Цитата(zltigo @ Dec 26 2008, 10:58)  Да не тот случай  Совершенно согласен, тут проза жизни, а там какая-то сказка, и если отбросить кудрявые фантазии афтара, от сказки останется абсолютный ноль. Цитата(zltigo @ Dec 26 2008, 10:58)  Тут наверняка просто нечто писанное левой ногой и на 2K нахождение 100 байт не требует сверхестественных потуг. Ну зачем так голословно, левой ногой (на ваш взгляд) там писано от силы байт триста, остальное уже заоптимизировано реальным профи. Но это не означает, что сотню байт выжать невозможно, иначе я бы и вопроса поднимать не стал. Цитата(ReAl @ Dec 26 2008, 14:02)  Ну это явные кандидаты на -mshort-calls, чтобы сразу компилятор не ставил, а --relax линкеру полировку наведёт. --relax не помогает, -mshort-calls выжимает 110 байт, но только для m168, для m88 без изменений. Цитата(Diz @ Dec 26 2008, 13:09)  Посмотрите, есть ли у в строке для компилятора ключики -ffunction-sections и -fdata-sections, а для линкера --gc-sections. Есть. На всякий случай Код ## Compile options common for all C compilation units. CFLAGS = $(COMMON) CFLAGS += -Wall -gdwarf-2 -std=gnu99 -DA40520101 -ffunction-sections -fdata-sections -mshort-calls -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums CFLAGS += -MD -MP -MT $(*F).o -MF dep/$(@F).d
## Assembly specific flags ASMFLAGS = $(COMMON) ASMFLAGS += $(CFLAGS) ASMFLAGS += -x assembler-with-cpp -Wa,-gdwarf2
## Linker flags LDFLAGS = $(COMMON) LDFLAGS += -Wl,--verbose -Wl,--gc-sections -Wl,--relax -Wl,-Map=bootloader.map LDFLAGS += -Wl,-section-start=.text=0x1800
|
|
|
|
|
Dec 26 2008, 16:06
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Огурцов @ Dec 26 2008, 18:07)  Ну зачем так голословно... Ну не менее голословно, тем более с учетом некторых ранее изложенных на форуме взглядов на программирование, чем Ваше утверждение Цитата ...уже заоптимизировано реальным профи. Решить это просто - выложить сюда на обозрение. Полагаю, что найдется несколько желающих,ну скажим так, посоревноваться с "реальным профи" не только в абстрактных рассуждениях о постфактум указаниях компилятору в духе "ну сделай, хоть что-нибудь еще".
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Dec 26 2008, 16:59
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(zltigo @ Dec 26 2008, 19:06)  Решить это просто - выложить сюда на обозрение. Полагаю, что найдется несколько желающих,ну скажим так, посоревноваться с "реальным профи" не только в абстрактных рассуждениях о постфактум указаниях компилятору в духе "ну сделай, хоть что-нибудь еще". +1 Да, автор, выкладывайте, в конце концов, бутлодырь не очень комерческая вещь.. А мы посмотрим - пооптимизируем... только если решитесь выкладывать, то нужны точные указания по сборке, ну там версия компилятора, тип проца, командная строка итд... то есть если не будет проблем со сборкой, готов посмотреть/пооптимизировать..
|
|
|
|
|
Dec 26 2008, 17:40
|
Гуру
     
Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588

|
Вообще, меня не уполномачивали публиковать исходники, так что для текущей версии (+98 байт) это исключено. Но если гарантированно найдутся желающие с этой версией посоревноваться, что делать, я наверно напрягусь и соберу изначальный вариант (кажется байт 500-700 плюсом). В этом случае вопросов с авторскими правами не возникнет. Цитата(zltigo @ Dec 26 2008, 16:06)  Ну не менее голословно, [skipped] чем Ваше утверждение Цитата уже заоптимизировано реальным профи. Смиялсо. Значит вы готовы ? Цитата(zltigo @ Dec 26 2008, 16:06)  постфактум указаниях компилятору в духе "ну сделай, хоть что-нибудь еще". В общем, да. Но высказанные идеи, в определенном смысле, были полезны.
|
|
|
|
|
Dec 26 2008, 19:00
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(Огурцов @ Dec 26 2008, 20:40)  Вообще, меня не уполномачивали публиковать исходники, так что для текущей версии (+98 байт) это исключено. Но если гарантированно найдутся желающие с этой версией посоревноваться, что делать, я наверно напрягусь и соберу изначальный вариант (кажется байт 500-700 плюсом). В этом случае вопросов с авторскими правами не возникнет. Ну публикуйте уже.... А там посмотрим... думаю что без попыток оптимизации другими будет даже проще... развлечемся под новый год...
|
|
|
|
|
Dec 26 2008, 19:29
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Огурцов @ Dec 26 2008, 22:12)  Как принято нынче говорить "слив защитан", кстати, если "это" названо исходниками вызвыающими уважение, то, то я их частично лет пять назад портировал на ARM - обычное интернетовско-студенческое творчество. В собственно загрузчике ошибки в обработке ошибок видны невооруженным глазом, стиль жутковатый, собственно сам AES написан в лоб. Немного (не ставил целью особо зажиматься - быстренько правил бросающееся в глаза) подправил AES дешифратор. Могу его выложить. Остальные правка/чистка под AVR возможно где-то тоже сохранилась в backup.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
Сообщений в этой теме
Огурцов 100 байт не хватает Dec 25 2008, 20:25 Огурцов Помню.
Фишка еще в том, что простое увеличение пам... Dec 25 2008, 20:34  ReAl Цитата(Огурцов @ Dec 25 2008, 22:34) Фишк... Dec 25 2008, 22:12   Огурцов Цитата(ReAl @ Dec 25 2008, 22:12) А почем... Dec 26 2008, 06:39      zltigo Цитата(Огурцов @ Dec 26 2008, 20:40) Смия... Dec 26 2008, 17:54       Огурцов Цитата(zltigo @ Dec 26 2008, 17:54) И опя... Dec 26 2008, 18:11        zltigo Цитата(Огурцов @ Dec 26 2008, 21:11) Поче... Dec 26 2008, 18:22         Огурцов Цитата(zltigo @ Dec 26 2008, 18:22) Либо ... Dec 26 2008, 18:28          zltigo Цитата(Огурцов @ Dec 26 2008, 21:28) То ч... Dec 26 2008, 18:45          aesok Цитата(Огурцов @ Dec 26 2008, 21:28) Могу... Dec 26 2008, 18:45         Огурцов Дада, сделайте из этого 1.5-1.7 килобайта, чтобы о... Dec 26 2008, 19:57          zltigo Цитата(Огурцов @ Dec 26 2008, 22:57) Дада... Dec 26 2008, 21:45           Огурцов Цитата(zltigo @ Dec 26 2008, 21:45) Треп ... Dec 27 2008, 06:21            zltigo Цитата(Огурцов @ Dec 27 2008, 09:21) он в... Dec 27 2008, 10:37             Petka Цитата(zltigo @ Dec 27 2008, 13:37) Сейча... Dec 27 2008, 12:33              zltigo Цитата(Petka @ Dec 27 2008, 15:33) Оффтоп... Dec 27 2008, 13:17              Огурцов Цитата(Petka @ Dec 27 2008, 12:33) Которы... Dec 27 2008, 20:23               zltigo Цитата(Огурцов @ Dec 27 2008, 23:23) разд... Dec 27 2008, 22:49 SasaVitebsk Недавно в IAR выдушил 400 байт. Возможно мои реком... Dec 25 2008, 22:17 ReAl Тьху, у меги88 и 168 одинаковые размеры бут-секции... Dec 25 2008, 22:30 Огурцов Цитата(ReAl @ Dec 25 2008, 22:30) 2а) В G... Dec 26 2008, 07:02  aesok Цитата(Огурцов @ Dec 26 2008, 10:02) Как ... Dec 26 2008, 07:13   Огурцов Цитата(aesok @ Dec 26 2008, 07:13) Для эт... Dec 31 2008, 07:40    ReAl Цитата(Огурцов @ Dec 31 2008, 09:40) Пыта... Dec 31 2008, 08:27    _Pasha Цитата(Огурцов @ Dec 31 2008, 11:40) Если... Dec 31 2008, 11:11     Огурцов Цепляет, он там косвенно, через полдюжины #include... Dec 31 2008, 16:55 aesok Bus_transmit_byte и Bus_staff_n_transmit_byte это ... Dec 26 2008, 07:02 Огурцов Цитата(aesok @ Dec 26 2008, 07:02) avr-gc... Dec 26 2008, 07:17  Огурцов Добавил фичи, теперь не хватает 98 байт. Почти уга... Dec 26 2008, 10:06 _Pasha Цитата(rezident @ Dec 26 2008, 00:28) Ист... Dec 26 2008, 10:39 ReAl Цитата(_Pasha @ Dec 26 2008, 12:39) Опция... Dec 26 2008, 14:02 Diz Посмотрите, есть ли у в строке для компилятора клю... Dec 26 2008, 13:09 SasaVitebsk Спасибо. Поизучаем. Dec 26 2008, 23:20 zltigo Цитата(SasaVitebsk @ Dec 27 2008, 02:20) ... Dec 27 2008, 00:23 GetSmart Огурцов, из чистого любопытства спрашиваю, почему ... Dec 27 2008, 06:33 Огурцов Цитата(GetSmart @ Dec 27 2008, 06:33) Огу... Dec 27 2008, 06:46 SasaVitebsk Вот все мы не без изъяна. У каждого из нас есть св... Dec 27 2008, 21:43 zltigo Цитата(SasaVitebsk @ Dec 28 2008, 00:43) ... Dec 27 2008, 23:01  Огурцов Цитата(zltigo @ Dec 27 2008, 23:01) А, та... Dec 28 2008, 09:13   zltigo Цитата(Огурцов @ Dec 28 2008, 12:13) Я та... Dec 28 2008, 10:57    Petka Цитата(zltigo @ Dec 28 2008, 13:57) Ну си... Dec 28 2008, 11:04     zltigo Цитата(Petka @ Dec 28 2008, 14:04) в неоп... Dec 28 2008, 11:09      Petka Цитата(zltigo @ Dec 28 2008, 14:09) Тогда... Dec 28 2008, 11:16       zltigo Цитата(Petka @ Dec 28 2008, 14:16) хотя-б... Dec 28 2008, 11:20    Огурцов Цитата(zltigo @ Dec 28 2008, 10:57) Судя ... Dec 28 2008, 12:29     zltigo Цитата(Огурцов @ Dec 28 2008, 15:29) почи... Dec 28 2008, 14:15      Petka Цитата(zltigo @ Dec 28 2008, 17:15) Сколь... Dec 28 2008, 15:59       zltigo Цитата(Petka @ Dec 28 2008, 18:59) XTEA 9... Dec 28 2008, 16:05        Petka RE: 100 байт не хватает Dec 28 2008, 16:35         zltigo Цитата(Petka @ Dec 28 2008, 19:35) за что... Dec 28 2008, 16:39          Petka Цитата(zltigo @ Dec 28 2008, 19:39) 31 ве... Dec 28 2008, 17:19           zltigo Цитата(Petka @ Dec 28 2008, 20:19) IARом ... Dec 29 2008, 11:06            Petka Цитата(zltigo @ Dec 29 2008, 14:06) Что-т... Dec 29 2008, 13:39            singlskv Цитата(zltigo @ Dec 29 2008, 14:06) А вот... Dec 29 2008, 17:45      Огурцов Цитата(zltigo @ Dec 28 2008, 14:15) Уже о... Dec 28 2008, 16:01 defunct Огурцов:
A. Нет смысла переходить на инструмент, ... Dec 27 2008, 21:48 Огурцов Цитата(defunct @ Dec 27 2008, 21:48) asm ... Dec 27 2008, 22:04  defunct Цитата(Огурцов @ Dec 28 2008, 00:04) Если... Dec 27 2008, 22:14   Огурцов Цитата(defunct @ Dec 27 2008, 22:14) Что ... Dec 27 2008, 22:32    defunct Цитата(Огурцов @ Dec 28 2008, 00:32) Како... Dec 27 2008, 22:41     Огурцов Цитата(defunct @ Dec 27 2008, 22:41) DES ... Dec 27 2008, 22:56      defunct Цитата(Огурцов @ Dec 28 2008, 00:56) #def... Dec 27 2008, 22:57 Petka Ещё как идея: Попробуйте вместо буржуевского AES и... Dec 28 2008, 08:19 zltigo Цитата(Petka @ Dec 28 2008, 11:19) Наскол... Dec 28 2008, 08:53  Petka Цитата(zltigo @ Dec 28 2008, 11:53) Он от... Dec 28 2008, 09:34   zltigo Цитата(Petka @ Dec 28 2008, 12:34) Из 32б... Dec 28 2008, 10:10    Petka Цитата(zltigo @ Dec 28 2008, 13:10) ... П... Dec 28 2008, 10:19 _Pasha C vs ASM (AVR):
Вчера переписал на одном девайсе п... Dec 30 2008, 09:48 singlskv Цитата(_Pasha @ Dec 30 2008, 12:48) C vs ... Dec 30 2008, 10:25 Rst7 Цитатав С оверхед жуткий из-за приведения всего к ... Dec 30 2008, 11:13 singlskv Цитата(Rst7 @ Dec 30 2008, 14:13) Где?IAR... Dec 30 2008, 12:19  aesok Цитата(singlskv @ Dec 30 2008, 15:19) gcc... Dec 30 2008, 13:26   singlskv Цитата(aesok @ Dec 30 2008, 16:26) Дело н... Dec 30 2008, 13:49    aesok Цитата(singlskv @ Dec 30 2008, 16:49) про... Dec 30 2008, 14:35     singlskv Цитата(aesok @ Dec 30 2008, 17:35) Так ка... Dec 30 2008, 15:06 _Pasha Цитата(Rst7 @ Dec 30 2008, 15:13) Где?
Вы... Dec 30 2008, 12:24 Rst7 ЦитатаIAR в таких случаях действительно оптимизиру... Dec 30 2008, 13:17
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|