|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 8:47 pm
Линкване на два файла за АРМ
| Автор |
Съобщение |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: Линкване на два файла за АРМ
Абе нещо пак се опитваш да ме метнеш  Асемблера ми е 714 байта по мои сметки, таблиците са една по 1К и две по 256 байта... Аз ли не мога да смятам ама не виждам 6.5к  Дори да нямаш оптимизация на секциите или пък да ползваш и криптиране това ще добави още 200-300 байта код и още 1к за 4-тата таблица. И пак не прави 6.5к...
|
| Пет Мар 25, 2016 3:23 pm |
|
 |
|
Dimitar
Ранг: Форумен бог
Регистриран на: Пет Ное 12, 2004 3:38 pm Мнения: 9103 Местоположение: Chicago, IL
|
 Re: Линкване на два файла за АРМ
И аз се зачудих доста щото ми се видя много (и аз ги смятах горе долу като теб), но с твоя код бутлодера е 32900 байта, а с другия е 28400, а си спомням че като сложих в началото другия, кода скочи с около 1800 байта. Ако беше 2к въобще нямаше да го махам. Ще го изкарам от архива пак да го пробвам, но съм сигурен че числата бяха такива.
|
| Пет Мар 25, 2016 3:44 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: Линкване на два файла за АРМ
Не е 2к, малко повече - 2.2к (0.7 код + 1.5 таблици).
Само трябва да махнеш криптирането и неговата таблица... ако не си ги махнал де. При мен компилирам с отделна секция за всяка функция, включая и асемблера (макрсоса FUNC())... и линкера ги разкарва автоамтично дори да съм без никакви оптимизации.
|
| Пет Мар 25, 2016 5:09 pm |
|
 |
|
Dimitar
Ранг: Форумен бог
Регистриран на: Пет Ное 12, 2004 3:38 pm Мнения: 9103 Местоположение: Chicago, IL
|
 Re: Линкване на два файла за АРМ
Миро, хванах го къде е ключа за бараката, но не знам защо е така - ти ще кажеш, защото на мен не ми мейква никакъв сенс. Виж прикачения файл, дето си правих всякакви експерименти. Самото викане на aes_tmos_de_key е 4792 байта и от тук се раздува цялата история. Ако и коментирам целия асемблерски код на тая функция се спестяват 256 байта и само като я извикам така както е коментирана в аемблерския файл и кода ми скача с тези 4792 байта - ходи го разбери  . Например викането на aes_tmos_de_ecb с коментиран код в асемблерския файл е само 12 байта. Иначе оптимизацията ми е на -О1, защото само на него кода за елиптик кървс кодирането работи. На всякаква друга оптимизация или без никаква оптимизация се дъни и ми дава някакви грешки в асемблерските функции на тоя алгоритъм (нещо свързано с ползването на r7 - това е друго нещо дето трябва да разбера защо става, но засега съм го зарязал, защото нямам време да го боря).
Последна промяна Dimitar на Пет Мар 25, 2016 8:47 pm, променена общо 2 пъти
|
| Пет Мар 25, 2016 8:37 pm |
|
 |
|
Dimitar
Ранг: Форумен бог
Регистриран на: Пет Ное 12, 2004 3:38 pm Мнения: 9103 Местоположение: Chicago, IL
|
 Re: Линкване на два файла за АРМ
Ето ти какво е изгенерирало като листинг на твоя код а самото викане на декриптирането на ключа е ето така в листинга - хич не ми прилича на 4 килобайта  :
|
| Пет Мар 25, 2016 8:45 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: Линкване на два файла за АРМ
Добре де, ти не си ли пускаш листинг на изходния файл? Нали това ти обяснявах че компилирането на едно нещо не значи че накрая непременно ще се линкне. Затова няма голяма полза да гледам листинг на обектен файл, особено пък за асемблер... Пусни си листинг да видиш какво остава след линкването. То и на теб ще ти е полезно да имаш представа тия 32К за какво се ползват. Бая голям буутстрап, направо ме закопаваш. А аз се чудя с какво да запълня 16К щото толкоз ми е първия сектор на STM-те и не мога да заделя по-малко 
|
| Пет Мар 25, 2016 9:37 pm |
|
 |
|
Dimitar
Ранг: Форумен бог
Регистриран на: Пет Ное 12, 2004 3:38 pm Мнения: 9103 Местоположение: Chicago, IL
|
 Re: Линкване на два файла за АРМ
В тия 32к има цял J1939 стек, с който се праща файла на към контролера през CAN бъс, има aes-a, има елиптик кървс кодиране, има sha256 хаш, има процедури за работа с външна памет, има и сериен канал има и някои други неща за щтракане на разни пинове. Горе долу там някъде около 29к трябва да е.
|
| Пет Мар 25, 2016 11:22 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 1 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|