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

 
 
6 страниц V  < 1 2 3 4 5 > »   
Reply to this topicStart new topic
> 100 байт не хватает
zltigo
сообщение Dec 26 2008, 21:45
Сообщение #31


Гуру
******

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



Цитата(Огурцов @ Dec 26 2008, 22:57) *
Дада, сделайте из этого 1.5-1.7 килобайта, чтобы осталось байт триста для моих фич, и защитаем. Пока я вижу от вас только пустой треп, про разные ARM, в т.ч.

Треп это, простите, по вашей части. И не только в этой теме sad.gif
Цитата
Вообще, я вас за язык не тянул...

Разумеется нет, но мимо безответственного трепа я обычно стараюсь не проходить.
Теперь к делу, извините, пришлось отвлечься - встречал жену из Праги.
Весь этот бред писанный китайским студентом вычитывать не стал, а только AES.c поправил. Именно поправил явное, радикальной переделкой заниматься не стал, ибо только на этом сэкономил
172 байта, что поболе желаемых 100 будет. Бинарник 1732, что тоже уже меньше озвученных Вами 1,7 K
Все это при том, что я чувствую AVR хуже, чем ARM и вообще почти год для AVR вообще ничего не писал, посему ориентировался на просто 'C'.
Было:
Код
1 046 bytes in segment CODE
     6 bytes in segment INITTAB
    36 bytes in segment NEAR_F
   522 bytes in segment NEAR_Z

1 082 bytes of CODE memory (+ 6 bytes shared)
   522 bytes of DATA memory

Стало:
Код
874 bytes in segment CODE
   6 bytes in segment INITTAB
  36 bytes in segment NEAR_F
522 bytes in segment NEAR_Z

910 bytes of CODE memory (+ 6 bytes shared)
522 bytes of DATA memory


Листинги обеих AES.c и моего AES.zlt.c вариантов и бинарник в приложении. Вот так.

P.S.
Извиниться не хотите? Смешливый Вы наш....
Прикрепленные файлы
Прикрепленный файл  aes.rar ( 7 килобайт ) Кол-во скачиваний: 67
 


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Dec 26 2008, 23:20
Сообщение #32


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Спасибо. Поизучаем.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 27 2008, 00:23
Сообщение #33


Гуру
******

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



Цитата(SasaVitebsk @ Dec 27 2008, 02:20) *
Спасибо. Поизучаем.

Да в том и дело, что там нет ничего особенного, и 172байта сняты буквально мимоходом, если мне память не изменяет по оптимизации этого загрузчика пару лет назад на форуме была более обширная дискуссия c заточками и под конкретные AVR компиляторы. То что здесь это практически просто обратный порт с ARM c откатами на строго 8bit переменные.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Dec 27 2008, 06:21
Сообщение #34


Гуру
******

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



Цитата(zltigo @ Dec 26 2008, 21:45) *
Треп это, простите, по вашей части. И не только в этой теме sad.gif

Ога. Посмотрите лучше на первую страницу - выссказалось несколько человек и каждый дал по одному и даже нескольким вариантам. Всю вторую страницу заняли вы вашим флудом. И чей же треп ?

Цитата(zltigo @ Dec 26 2008, 21:45) *
Именно поправил явное, радикальной переделкой заниматься не стал, ибо только на этом сэкономил
172 байта, что поболе желаемых 100 будет. Бинарник 1732, что тоже уже меньше озвученных Вами 1,7 K

Я правильно понял первую строку листинга: IAR Atmel AVR C/C++ Compile - это IAR ? Так вот IAR, если вы хоть чуть-чуть читали, ничуть не устраивает, и, кроме того, он вполне справляется и без ваших потуг. На GCC, если я еще не забыл, это же самое примерно 2.7k. Деразайте.

Цитата(zltigo @ Dec 26 2008, 21:45) *
Извиниться не хотите? Смешливый Вы наш....

Будет решение - извинюсь. Пока от вас только флудотреп.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Dec 27 2008, 06:33
Сообщение #35


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Огурцов, из чистого любопытства спрашиваю, почему IAR не "катит"?

ЗЫ. Помогать не собираюсь smile.gif Просто задело за "живое".


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Dec 27 2008, 06:46
Сообщение #36


Гуру
******

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



Цитата(GetSmart @ Dec 27 2008, 06:33) *
Огурцов, из чистого любопытства спрашиваю, почему IAR не "катит"?

Здесь уже писал - стоит денег, т.е. в соотношении качество/цена проигрывает любому из фришных. Из фришных (чисто по чужим отзывам) считаю только GCC преемлемым вариантом. И неплохим даже.

Сообщение отредактировал Огурцов - Dec 27 2008, 06:46
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 27 2008, 10:37
Сообщение #37


Гуру
******

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



Цитата(Огурцов @ Dec 27 2008, 09:21) *
он вполне справляется и без ваших потуг. На GCC, если я еще не забыл, это же самое примерно 2.7k.

Как всегда врете и глупо изворачиваетесь. GCC, коему по Вашему утверждению, не хватало 100 байтов для Ваших фич теперь вдруг и без Ваших фич стало не хватать более 700.... Кто-то хотел сэкономить 100 байтов? Результат я дал. При этом, GCC столь-же благосклонно, как и IAR отнесется к очевидным изменениям - поминаемые 100 байт Вы получите и от GCC. Кроме того, поскольку , как я и предполагал, действительно все в этом образчике от Atmel писано левой ногой.Это вызвало с Вашей стороны только sad.gif
Цитата
.....уже заоптимизировано реальным профи
Смиялсо.

То, потратив еще минут 15-20 можно сбросить еще 5-10% и это только в aes.c и это будет не предел, а просто результат потраченых нескольких десятков минут.
В Вашей, как я теперь, совершенно определенно могу утверждать, писанине нужно править и соответственно экономить можно много больше.

P.S.
Цитата(SasaVitebsk @ Dec 27 2008, 02:20) *
Спасибо. Поизучаем.

Сейчас прошелся еще разок, бегло, в рамках просто 'C' без IAR/AVR наворотов но теперь
Код
790 bytes in segment CODE
  12 bytes in segment INITTAB
  32 bytes in segment NEAR_F
  10 bytes in segment NEAR_I
  10 bytes in segment NEAR_ID
512 bytes in segment NEAR_Z

832 bytes of CODE memory (+ 12 bytes shared)
522 bytes of DATA memory

На 250 байт похудел почти килобайтовый aes дешифратор.
Прикрепленные файлы
Прикрепленный файл  aes_lst.rar ( 6.9 килобайт ) Кол-во скачиваний: 43
 


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Petka
сообщение Dec 27 2008, 12:33
Сообщение #38


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(zltigo @ Dec 27 2008, 13:37) *
Сейчас прошелся еще разок, бегло, в рамках просто 'C' без IAR/AVR наворотов но теперь

Цитата(Огурцов @ Dec 27 2008, 09:46) *
Здесь уже писал - стоит денег, т.е. в соотношении качество/цена проигрывает любому из фришных. Из фришных (чисто по чужим отзывам) считаю только GCC преемлемым вариантом. И неплохим даже.

Оффтоп: Насколько я понимаю у топикстартера проблеммы с IAR по лицензионным причинам.
Однако есть "KickStart edition of IAR Embedded Workbench". Который можно использовать абсолютно бесплатно (и разумеется лицензионно) для приложений размер кода которых меньше 4К. Сразу скажу что не являюсь пользователем продукции IAR. Однако если топикстартеру действительно важен результат, то и мой совет может пригодиться wink.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 27 2008, 13:17
Сообщение #39


Гуру
******

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



Цитата(Petka @ Dec 27 2008, 15:33) *
Оффтоп: Насколько я понимаю у топикстартера проблеммы с IAR по лицензионным причинам.

smile.gif и при этом нет проблем с ворованными борландовскими дельфями... Да проблемы у топикстартера совсем в другом sad.gif
Цитата
Однако есть "KickStart edition of IAR Embedded Workbench". Который можно использовать абсолютно бесплатно (и разумеется лицензионно) для приложений размер кода которых меньше 4К.

Кстати, действительно да! Если, вдруг, реально удастся ужать хоть процент-другой за счет использования IAR. Хотя и GCC совсем не плох и надо специально постараться smile.gif, дабы заставить его сгенерить код сильно худший, по утверждению Огурцова, чем IAR - 2,7K вместо 1,7K smile.gif.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Dec 27 2008, 20:23
Сообщение #40


Гуру
******

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



Цитата(Petka @ Dec 27 2008, 12:33) *
Который можно использовать абсолютно бесплатно (и разумеется лицензионно) для приложений размер кода которых меньше 4К.

Да, это ценное замечание, 10x.


Извиняюсь, что ответил не сразу - сделал на круг четыреста километров - раздал зарплату сотрудникам. Сотрудники довольны - я доволен. Я доволен - сотрудники довольны. Вот такая вот ПОС.

Цитата(zltigo @ Dec 27 2008, 13:17) *
smile.gif и при этом нет проблем с ворованными борландовскими дельфями... Да проблемы у топикстартера совсем в другом sad.gif

Приведите, чтоли, ссылку, где я говорил, что у меня установлена ворованная дельфи. У меня установлена лицензионная MS Windows XP, лицензионная MS Visual Studio и много фришного софта, в том числе WinAVR.


Цитата(zltigo @ Dec 27 2008, 10:37) *
Как всегда врете и глупо изворачиваетесь.

Ой, не надо, изворачиваетесь и наговариваете здесь только вы. По фрейду наверно - подсознательно убеждаете себя, что у нас все плохо и гораздо хуже, чем у вас )))

Цитата(zltigo @ Dec 27 2008, 10:37) *
GCC, коему по Вашему утверждению, не хватало 100 байтов для Ваших фич теперь вдруг и без Ваших фич стало не хватать более 700....

Обычно (обычные), люди понимают уже со второго раза. Если с третьего все еще непонятно, то у человека явно проблемы со здоровьем, объяснять ему дальше - пустая трата времени. Сделать исключение ? Ок, на пальцах. Оригинальный код в GCC - это где-то 2,7. Оптимизированный тем, кого вы обозвали "левой ногой" - это где-то 1,9 (это не означает, что он не смог бы ужать дальше, просто у него не было необходимости). Далее я еще ужал до где-то 1,7. После чего переписал некоторые места по-своему, убрав ненужное и добавив нужное. Получилось где-то 2,0. После этого переписал протокол обмена для возможности работы на общей шине и в пакетном режиме. Получилось 2,1. После этого задал вопрос.

Цитата(zltigo @ Dec 27 2008, 10:37) *
Кроме того, поскольку , как я и предполагал, действительно все в этом образчике от Atmel писано левой ногой.

Не надо ля-ля. Про атмел вы узнали только к концу страницы. А в начале кричали, что тот профи оптимизирует "левой ногой". Да я думаю он как раз с вами левой ногой не напрягаясь и справится. Кстати, если бы знали, про кого смели так нехорошо выссказться, покраснели бы в крапинку и полгода не появлялись на форуме. Фильтруй базар (с) На будущее.

Цитата(zltigo @ Dec 27 2008, 10:37) *
В Вашей, как я теперь, совершенно определенно могу утверждать, писанине нужно править и соответственно экономить можно много больше.

Давайте, давайте. Условия задачи озвучены - вперед.

Цитата(zltigo @ Dec 27 2008, 10:37) *
На 250 байт похудел почти килобайтовый aes дешифратор.

О, давайте еще байт четыреста... и можно будет продолжать с вами разговор про GCC и левые ноги.


зы: утром хотел попросить вас удалить все ваши посты и мои, в части ответов на них. Но по поскольку вернулся в хорошем настроении, а кроме того, утром решил сию задачу (aka принципиальную невозможность использования бутлодыря), можем, в принципе, продолжать. Флудить. Или прикручивать фенечки. Или пусть олл решает.

Сейчас отключена проверка CRC лодыря, и запись в EEPROM. Первое - хотелось бы, второе - на практике и не нужно совсем, так, лишь для распальцовки. Итоговый размер - ровно 2k.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Dec 27 2008, 21:43
Сообщение #41


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Вот все мы не без изъяна. У каждого из нас есть свои ограничения. Иногда, возможно даже чеще чем надо, не хватает силы воли для получения новых знаний (я о себе к примеру). А иногда, входишь в "транс" и за неделю проделываешь работу, которую откладывал больше года.

smile.gif

Давайте вспомним, что до Нового Года остался совсем пустяк и простим друг другу свои мелкие недостатки.

Я, к сожалению, совсем что-то не чувствую приближения праздника в этом году. Может виноват в этом Step 7. Скорей бы его в топку и назад к компилятору С.
biggrin.gif
Go to the top of the page
 
+Quote Post
defunct
сообщение Dec 27 2008, 21:48
Сообщение #42


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Огурцов:

A. Нет смысла переходить на инструмент, когда сразу известно, что новый иструмент даст результат хуже чем старый. А WinAVR соптимизирует хуже чем IAR, это факт.

B. В комплекте с STK500 идет CD от Atmel где куча всего фришного, в т.ч. и IAR Kick-start. Объем вашей программы 2K, ограничение фришного IAR'а, как отметил Petka - 4K.

C. Считаю, что бутлоадер на "C" для секции в 2K - это извращение. Бутлоадер - это программа, которая не нуждается в модификации и сопровождении.. Она пишется 1 раз и используется для всех проектов. Вот и подумайте своей головой, может нафиг этот Си, (тем более вы как-то доказывали, что Си - отстой, а паскаль и asm рулит). Почему ж решили применить С для задачи для которой он дает результат хуже чем ASM? Напишите бутлоадер один раз на ASM, ужмите всё по самые "немогу" конкретно для AVR и радуйтесь. Будет бесплатно и влезет возможно и в 1K.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Dec 27 2008, 22:04
Сообщение #43


Гуру
******

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



Цитата(defunct @ Dec 27 2008, 21:48) *
asm рулит

Если ближе к оригиналу, то хороший _макро_асм "рулит". Но похоже нет его. А то, что идет от атмел, даже на нормальный не тянет, не то что на хороший. Поэтому вынужденно перешел на си. И на GCC - осознанно. Потому как думаю, что рано или позно у меня и с линухом что-нибудь да получится.
Go to the top of the page
 
+Quote Post
defunct
сообщение Dec 27 2008, 22:14
Сообщение #44


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Огурцов @ Dec 28 2008, 00:04) *
Если ближе к оригиналу, то хороший _макро_асм "рулит". Но похоже нет его. А то, что идет от атмел, даже на нормальный не тянет, не то что на хороший. Поэтому вынужденно перешел на си. И на GCC - осознанно.

Что есть в _макро_асм чего нельзя сделать в AVR-ASM? И препроцессор в нем есть, и макросы поддерживаются. Чего нехватает-то?

У меня все толстые бутлоадеры (всмысле не по объему, а по функциональности) написаны на ASM.
В 2K секцию у меня влазит:
1. TCP стек.
2. Шифрование.
3. Modbus протокол (over TCP и over 485).
4. Проверка целостности основной программы.
5. Загрузка программы из I2C eeprom'a.

в 1K секцию, то же самое за вычетом п.1 и п.5.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Dec 27 2008, 22:32
Сообщение #45


Гуру
******

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



Цитата(defunct @ Dec 27 2008, 22:14) *
Что есть в _макро_асм чего нельзя сделать в AVR-ASM?

Вспомню - скажу. Что-то у меня не получилось. Что-то типа вложенных макрасов. Да и в целом, на pdp11 писалось как-то легче. Толи просто моложе тогда был.

Цитата(defunct @ Dec 27 2008, 22:14) *
2. Шифрование.

Какое ?
А в целом, все равно в асме смысла не вижу. Кусок переписать, если нужно - да. Полностью - нет.
Go to the top of the page
 
+Quote Post

6 страниц V  < 1 2 3 4 5 > » 
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


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


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