Отговори на тема  [ 67 мнения ]  Отиди на страница Предишна  1, 2, 3, 4, 5
Линкване на два файла за АРМ 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11265
Местоположение: Добрич
Мнение Re: Линкване на два файла за АРМ
Абе нещо пак се опитваш да ме метнеш ;-)

Асемблера ми е 714 байта по мои сметки, таблиците са една по 1К и две по 256 байта... Аз ли не мога да смятам ама не виждам 6.5к ;-)

Дори да нямаш оптимизация на секциите или пък да ползваш и криптиране това ще добави още 200-300 байта код и още 1к за 4-тата таблица. И пак не прави 6.5к...


Пет Мар 25, 2016 3:23 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 12, 2004 3:38 pm
Мнения: 9103
Местоположение: Chicago, IL
Мнение Re: Линкване на два файла за АРМ
И аз се зачудих доста щото ми се видя много (и аз ги смятах горе долу като теб), но с твоя код бутлодера е 32900 байта, а с другия е 28400, а си спомням че като сложих в началото другия, кода скочи с около 1800 байта. Ако беше 2к въобще нямаше да го махам. Ще го изкарам от архива пак да го пробвам, но съм сигурен че числата бяха такива.


Пет Мар 25, 2016 3:44 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11265
Местоположение: Добрич
Мнение Re: Линкване на два файла за АРМ
Не е 2к, малко повече - 2.2к (0.7 код + 1.5 таблици).

Само трябва да махнеш криптирането и неговата таблица... ако не си ги махнал де. При мен компилирам с отделна секция за всяка функция, включая и асемблера (макрсоса FUNC())... и линкера ги разкарва автоамтично дори да съм без никакви оптимизации.


Пет Мар 25, 2016 5:09 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 12, 2004 3:38 pm
Мнения: 9103
Местоположение: Chicago, IL
Мнение Re: Линкване на два файла за АРМ
Миро, хванах го къде е ключа за бараката, но не знам защо е така - ти ще кажеш, защото на мен не ми мейква никакъв сенс.
Виж прикачения файл, дето си правих всякакви експерименти.
Самото викане на aes_tmos_de_key е 4792 байта и от тук се раздува цялата история. Ако и коментирам целия асемблерски код на тая функция се спестяват 256 байта и само като я извикам така както е коментирана в аемблерския файл и кода ми скача с тези 4792 байта - ходи го разбери :D .
Например викането на aes_tmos_de_ecb с коментиран код в асемблерския файл е само 12 байта.

Иначе оптимизацията ми е на -О1, защото само на него кода за елиптик кървс кодирането работи. На всякаква друга оптимизация или без никаква оптимизация се дъни и ми дава някакви грешки в асемблерските функции на тоя алгоритъм (нещо свързано с ползването на r7 - това е друго нещо дето трябва да разбера защо става, но засега съм го зарязал, защото нямам време да го боря).


Прикачени файлове:
tmos_sizes.txt [1.45 KiB]
235 пъти


Последна промяна Dimitar на Пет Мар 25, 2016 8:47 pm, променена общо 2 пъти

Пет Мар 25, 2016 8:37 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 12, 2004 3:38 pm
Мнения: 9103
Местоположение: Chicago, IL
Мнение Re: Линкване на два файла за АРМ
Ето ти какво е изгенерирало като листинг на твоя код а самото викане на декриптирането на ключа е ето така в листинга - хич не ми прилича на 4 килобайта :):
Код:
627:../Sources/flash_update.c ****    aes_tmos_de_key(&ctxt, aes_key, AES_256_KEY_SIZE);
1472                    .loc 1 627 0
1473 0032 3B49           ldr   r1, .L116+32
1474 0034 0822           mov   r2, #8
1475 0036 FFF7FEFF       bl   aes_tmos_de_key



Прикачени файлове:
tmos_aes.o.lst.txt [63.18 KiB]
220 пъти
Пет Мар 25, 2016 8:45 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11265
Местоположение: Добрич
Мнение Re: Линкване на два файла за АРМ
Добре де, ти не си ли пускаш листинг на изходния файл?

Нали това ти обяснявах че компилирането на едно нещо не значи че накрая непременно ще се линкне. Затова няма голяма полза да гледам листинг на обектен файл, особено пък за асемблер...

Пусни си листинг да видиш какво остава след линкването. То и на теб ще ти е полезно да имаш представа тия 32К за какво се ползват. Бая голям буутстрап, направо ме закопаваш. А аз се чудя с какво да запълня 16К щото толкоз ми е първия сектор на STM-те и не мога да заделя по-малко ;-)


Пет Мар 25, 2016 9:37 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 12, 2004 3:38 pm
Мнения: 9103
Местоположение: Chicago, IL
Мнение Re: Линкване на два файла за АРМ
В тия 32к има цял J1939 стек, с който се праща файла на към контролера през CAN бъс, има aes-a, има елиптик кървс кодиране, има sha256 хаш, има процедури за работа с външна памет, има и сериен канал има и някои други неща за щтракане на разни пинове. Горе долу там някъде около 29к трябва да е.


Пет Мар 25, 2016 11:22 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 67 мнения ]  Отиди на страница Предишна  1, 2, 3, 4, 5

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни