Дизассемблирование скетча ардуино

mihart
Offline
Зарегистрирован: 14.05.2013

Добрый день!

По теме подскажите, есть какой-либо удобный способ?

Мне нужно написать компактный код, поэтому постоянно смотрю, что на выходе делает компилятор. Но после каждой компиляции открывать IDA Pro и прогонять через нее HEX долго.

Есть способ попроще?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

ну если цель стоит написать компактный код, наверно самый простой вариант сразу писать на асемблере.. и не париться или я чего не понимаю?

mihart
Offline
Зарегистрирован: 14.05.2013

Если бы нужно было написать на 8051 ассемблере, то я так и поступил бы. А вот с системой команд AVR, регистрами и т.д. я мало знаком для написания на ассемблере. Мне сейчас важнее читать ассемблер, смотреть как компилятор распоряжается кодом.

В принципе я выход нашел, перешел на Atmel Studio, она генерирует то, что нужно. Вот только VisualMicro отвалилась будь она неладна.

__Alexander
Offline
Зарегистрирован: 24.10.2012

ху из компактный код? и почему он должен быть компактнее после просмотра в симуляторе? если вы пишите на си, то какими методами вы его делаете компактным?

Michal
Michal аватар
Offline
Зарегистрирован: 26.04.2013

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

 

mihart
Offline
Зарегистрирован: 14.05.2013

Про симулятор я ничего не писал.

ну почему же не ужму исходник, уже ужал. Мне выгадать осталось байт 50-80 с килобайтного скетча. Ассемблер AVR я не хнаю настолько хорошо, чтобы писать на нем, понять что компилятор выдает на выходе и почему могу. Как пример, компилятор добавил сохранение 10 регистров при входе в loop, это лишнее, добавил аттрибут naked и т.д.

Плюс перегруппировав команды при инициализации портов выгадал еще 30 байт.

the_wall
Offline
Зарегистрирован: 06.06.2013

Есть hex, написанный для atmel247 tiny13 (написанный не мной), можно ли как то его декомпилировать, что бы увидеть саму  программу.

axill
Offline
Зарегистрирован: 05.09.2011

the_wall пишет:

Есть hex, написанный для atmel247 tiny13 (написанный не мной), можно ли как то его декомпилировать, что бы увидеть саму  программу.

все что вы можете сделать так это превратить hex в набор читаемых инструкций на ассемблере