|
|
  |
100 байт не хватает |
|
|
|
Dec 26 2008, 14:02
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(_Pasha @ Dec 26 2008, 12:39)  Опция --relax в командной строке линкера ? Можно так (и в любом случае не вредно, так как оно сделает ещё и замену rcall/ret на rjmp), но можно и ключик -mshort-calls компилятору. Цитата(_Pasha @ Dec 26 2008, 12:39)  1. В листинге можно найти много смешного, байт эдак на 100. В основном это jmp вместо rjmp, ... Ну это явные кандидаты на -mshort-calls, чтобы сразу компилятор не ставил, а --relax линкеру полировку наведёт.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
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, 17:54
|

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

|
Цитата(Огурцов @ Dec 26 2008, 20:40)  Смиялсо. И опять без всякой на то причины  . Цитата(Огурцов @ Dec 26 2008, 20:40)  Значит вы готовы ? Сегодня скоротать часок-другой и освежить AVR? На том, что Вы нагородили - да. На каком нибудь взятом из интернету нескольсотбайтовом загрузчике и заброшенном сюда - нет.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Dec 26 2008, 18:11
|
Гуру
     
Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588

|
Цитата(zltigo @ Dec 26 2008, 17:54)  И опять без всякой на то причины  . Почему без ? Над тем, что вы в слепую, совершенно не зная расклада, называете одного уважаемого человека "левой ногой". Цитата(zltigo @ Dec 26 2008, 17:54)  Сегодня? На том, что Вы нагородили - да. На каком нибудь взятом из интернету нескольсотбайтовом загрузчике и заброшенном сюда - нет. Сегодня, завтра, в выходные. Можно до нового года. Можно и в праздники, если вам там нечем будет занятся. Последний вариант хоть и прикольный, но мне уже не очень интересен. Исходники таки взяты из интернета, ужмете их до размера "левой ноги", после чего я добавлю "свою нагородили", а потом вы ужмете их еще раз. Размер не должен превышать 2k. Или хотя бы 2k+98 байт. GCC/WinAVR.
|
|
|
|
|
Dec 26 2008, 18:22
|

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

|
Цитата(Огурцов @ Dec 26 2008, 21:11)  Почему без ? Над тем, что вы в слепую, совершенно не зная расклада, называете одного уважаемого человека "левой ногой". Ну так вываливайте СВОИ выпирающие за 2K исходники, посмотрю на какую степень моего уважения они могут претендовать. Цитата Сегодня, завтра, в выходные. Можно до нового года. Не можно. Завтра еду в Питер по делам. Цитата Можно и в праздники, если вам там нечем будет занятся. Мне будет и чем и с кем. Цитата Исходники таки взяты из интернета, ужмете их до размера "левой ноги", после чего я добавлю "свою нагородили", а потом вы ужмете их еще раз. Не наводите тень на плетень сначала, потом, а потом, а после, если, только WinAVR... Либо смотрим то, о чем СЕЙЧАС идет речь, либо нет.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Dec 26 2008, 18:45
|
Знающий
   
Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484

|
Цитата(Огурцов @ Dec 26 2008, 21:28)  Могу просто свои куски "вывалить". Но. вообще, я сомневаюсь, что вы ужмете их раза в два. Я не понимаю Ваш гонор. Как видно из названия темы, это Вы не можете оптимизировать свою программу. Если нужна помощь то показавайте свой проект. Если Вы сомневаетесь что мы можем Вам помочь, то зачем чтото от нас требуете? Анатолий.
Сообщение отредактировал aesok - Dec 26 2008, 18:48
|
|
|
|
|
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
|
|
|
|
|
Dec 26 2008, 19:57
|
Гуру
     
Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588

|
Дада, сделайте из этого 1.5-1.7 килобайта, чтобы осталось байт триста для моих фич, и защитаем. Пока я вижу от вас только пустой треп, про разные ARM, в т.ч. Вообще, я вас за язык не тянул, да и код мне ваш не нужен, но хотите меряться - меряйтесь, цифры для сравнения у меня есть. Но в этой ветке, если вы не поняли, меня интересуют способы уменьшения размера кода (за что спасибо почти всем участникам обсуждения), а не работа по его уменьшению и не какие-то там мерялки.
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|