AVR Studio 5 - новая версия от Atmel!!!

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: AVR Studio 5 - новая версия от Atmel!!!

Сообщение ChipKiller »

Получение из hex-файла исходника (текста) называется дизассемблированием или "реверсингом". В отличии от компиляции (т.е asm->hex ) обратное преобразование не так просто - для этого нужно "постараться с дизассемблером"
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: AVR Studio 5 - новая версия от Atmel!!!

Сообщение Vova777 »

ChipKiller писал(а):Получение из hex-файла исходника (текста) называется дизассемблированием или "реверсингом". В отличии от компиляции (т.е asm->hex ) обратное преобразование не так просто - для этого нужно "постараться с дизассемблером"

Данную операцию можно выполнить средствами AVR Studio 5 ?
даешь высокое напряжение
Foks
Поставщик валерьянки для Кота
Сообщения: 2108
Зарегистрирован: Пт авг 29, 2008 16:28:19
Откуда: Киев

Re: AVR Studio 5 - новая версия от Atmel!!!

Сообщение Foks »

Одну-две страницы назад это обсуждалось. Утрудитесь почитать.
Giggity giggity goo!
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: AVR Studio 5 - новая версия от Atmel!!!

Сообщение Vova777 »

vitalik_1984 писал(а):
Rinon Ninqueon писал(а):просто есть hex для attiny2313
а имею at90s2313

надо переделать хоть как-то

А причем тут пятая студия? Есть ReAVR, IDAPRO или другие дизассемблеры.

Вот тут можно попробовать скачать ReAVR

Так понимаю, что AVR Studio 5 не выполняет дизассемблирование?
даешь высокое напряжение
Foks
Поставщик валерьянки для Кота
Сообщения: 2108
Зарегистрирован: Пт авг 29, 2008 16:28:19
Откуда: Киев

Re: AVR Studio 5 - новая версия от Atmel!!!

Сообщение Foks »

Возможно какие-то шаманские методы есть, но функции в ней такой вроде бы нету. Вообще дизассемблирование чаще всего противозаконно, т.к. нарушает авторские права и т.д. И Вы не получите точную копию исходного кода после этого процесса - все метки перехода, все переменные и т.д. будут иметь вид "a000157", поэтому подумайте, поможет ли Вам такого вида исходный код.
Giggity giggity goo!
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: AVR Studio 5 - новая версия от Atmel!!!

Сообщение vitalik_1984 »

Vova777 писал(а):
vitalik_1984 писал(а):А причем тут пятая студия? Есть ReAVR, IDAPRO или другие дизассемблеры.
Вот тут можно попробовать скачать ReAVR

Так понимаю, что AVR Studio 5 не выполняет дизассемблирование?

Уточняю я писал это когда не знал следующего факта :
При открытии файла .hex (ВНИМАНИЕ:Путь и название файла только латиницей!!!)студия 4 предлагает создать файл проекта и выбрать устройство. и потом сама делает дизасм.
Получается симулируемый код такого вида:
Спойлер

Код: Выделить всё

00000000:   C012        RJMP      PC+0x0013      Relative jump
+00000001:   CFFE        RJMP      PC-0x0001      Relative jump
+00000002:   CFFD        RJMP      PC-0x0002      Relative jump
+00000003:   CFFC        RJMP      PC-0x0003      Relative jump
+00000004:   CFFB        RJMP      PC-0x0004      Relative jump
+00000005:   CFFA        RJMP      PC-0x0005      Relative jump
+00000006:   CFF9        RJMP      PC-0x0006      Relative jump
+00000007:   CFF8        RJMP      PC-0x0007      Relative jump
+00000008:   CFF7        RJMP      PC-0x0008      Relative jump
+00000009:   CFF6        RJMP      PC-0x0009      Relative jump
+0000000A:   CFF5        RJMP      PC-0x000A      Relative jump
+0000000B:   CFF4        RJMP      PC-0x000B      Relative jump
+0000000C:   CFF3        RJMP      PC-0x000C      Relative jump
+0000000D:   CFF2        RJMP      PC-0x000D      Relative jump
+0000000E:   CFF1        RJMP      PC-0x000E      Relative jump
+0000000F:   CFF0        RJMP      PC-0x000F      Relative jump
+00000010:   CFEF        RJMP      PC-0x0010      Relative jump
+00000011:   CFEE        RJMP      PC-0x0011      Relative jump
+00000012:   CFED        RJMP      PC-0x0012      Relative jump
+00000013:   94F8        CLI                      Global Interrupt Disable
+00000014:   27EE        CLR       R30            Clear Register
+00000015:   BBEC        OUT       0x1C,R30       Out to I/O location
+00000016:   E0F1        LDI       R31,0x01       Load immediate
+00000017:   BFFB        OUT       0x3B,R31       Out to I/O location
+00000018:   BFEB        OUT       0x3B,R30       Out to I/O location
+00000019:   BFE5        OUT       0x35,R30       Out to I/O location
+0000001A:   E1F8        LDI       R31,0x18       Load immediate
+0000001B:   BDF1        OUT       0x21,R31       Out to I/O location
+0000001C:   BDE1        OUT       0x21,R30       Out to I/O location
+0000001D:   E08D        LDI       R24,0x0D       Load immediate
+0000001E:   E0A2        LDI       R26,0x02       Load immediate
+0000001F:   27BB        CLR       R27            Clear Register
+00000020:   93ED        ST        X+,R30         Store indirect and postincrement
+00000021:   958A        DEC       R24            Decrement
+00000022:   F7E9        BRNE      PC-0x02        Branch if not equal
+00000023:   E080        LDI       R24,0x00       Load immediate
+00000024:   E094        LDI       R25,0x04       Load immediate
+00000025:   E6A0        LDI       R26,0x60       Load immediate
+00000026:   93ED        ST        X+,R30         Store indirect and postincrement
+00000027:   9701        SBIW      R24,0x01       Subtract immediate from word
+00000028:   F7E9        BRNE      PC-0x02        Branch if not equal
+00000029:   E5EF        LDI       R30,0x5F       Load immediate
+0000002A:   BFED        OUT       0x3D,R30       Out to I/O location
+0000002B:   E0E4        LDI       R30,0x04       Load immediate
+0000002C:   BFEE        OUT       0x3E,R30       Out to I/O location
+0000002D:   E6C0        LDI       R28,0x60       Load immediate
+0000002E:   E0D1        LDI       R29,0x01       Load immediate
+0000002F:   C01A        RJMP      PC+0x001B      Relative jump
+00000030:   93BA        ST        -Y,R27         Store indirect and predecrement
+00000031:   93AA        ST        -Y,R26         Store indirect and predecrement
+00000032:   931A        ST        -Y,R17         Store indirect and predecrement
+00000033:   E019        LDI       R17,0x09       Load immediate
+00000034:   2FE1        MOV       R30,R17        Copy register
+00000035:   5011        SUBI      R17,0x01       Subtract immediate
+00000036:   30E0        CPI       R30,0x00       Compare with immediate
+00000037:   F079        BREQ      PC+0x10        Branch if equal
+00000038:   81EB        LDD       R30,Y+3        Load indirect with displacement
+00000039:   81FC        LDD       R31,Y+4        Load indirect with displacement
+0000003A:   9631        ADIW      R30,0x01       Add immediate to word
+0000003B:   83EB        STD       Y+3,R30        Store indirect with displacement
+0000003C:   83FC        STD       Y+4,R31        Store indirect with displacement
+0000003D:   9731        SBIW      R30,0x01       Subtract immediate from word
+0000003E:   010F        MOVW      R0,R30         Copy register pair
+0000003F:   81A9        LDD       R26,Y+1        Load indirect with displacement
+00000040:   81BA        LDD       R27,Y+2        Load indirect with displacement
+00000041:   91ED        LD        R30,X+         Load indirect and postincrement
+00000042:   83A9        STD       Y+1,R26        Store indirect with displacement
+00000043:   83BA        STD       Y+2,R27        Store indirect with displacement
+00000044:   01D0        MOVW      R26,R0         Copy register pair
+00000045:   D00C        RCALL     PC+0x000D      Relative call subroutine
+00000046:   CFED        RJMP      PC-0x0012      Relative jump
+00000047:   8118        LDD       R17,Y+0        Load indirect with displacement
+00000048:   9625        ADIW      R28,0x05       Add immediate to word
+00000049:   9508        RET                      Subroutine return
+0000004A:   E0E0        LDI       R30,0x00       Load immediate
+0000004B:   E0F0        LDI       R31,0x00       Load immediate
+0000004C:   93FA        ST        -Y,R31         Store indirect and predecrement
+0000004D:   93EA        ST        -Y,R30         Store indirect and predecrement
+0000004E:   E6A0        LDI       R26,0x60       Load immediate
+0000004F:   E0B1        LDI       R27,0x01       Load immediate
+00000050:   DFDF        RCALL     PC-0x0020      Relative call subroutine
+00000051:   CFFF        RJMP      PC-0x0000      Relative jump
+00000052:   9BE1        SBIS      0x1C,1         Skip if bit in I/O register set
+00000053:   C002        RJMP      PC+0x0003      Relative jump
+00000054:   95A8        WDR                      Watchdog reset
+00000055:   CFFC        RJMP      PC-0x0003      Relative jump
+00000056:   B79F        IN        R25,0x3F       In from I/O location
+00000057:   94F8        CLI                      Global Interrupt Disable
+00000058:   BBAE        OUT       0x1E,R26       Out to I/O location
+00000059:   BBBF        OUT       0x1F,R27       Out to I/O location
+0000005A:   9AE0        SBI       0x1C,0         Set bit in I/O register
+0000005B:   B38D        IN        R24,0x1D       In from I/O location
+0000005C:   17E8        CP        R30,R24        Compare
+0000005D:   F019        BREQ      PC+0x04        Branch if equal
+0000005E:   BBED        OUT       0x1D,R30       Out to I/O location
+0000005F:   9AE2        SBI       0x1C,2         Set bit in I/O register
+00000060:   9AE1        SBI       0x1C,1         Set bit in I/O register
+00000061:   BF9F        OUT       0x3F,R25       Out to I/O location
+00000062:   9508        RET                      Subroutine return
+00000063:   FFFF        ???                      Data or unknown opcode
+00000064:   FFFF        ???                      Data or unknown opcode
+00000065:   FFFF        ???                      Data or unknown opcode

как вам выше сказали - это большой труд определить что же все таки за чем идет.Метки и комментарии утеряны.
В поисках истины человек развивается.
Аватара пользователя
Зукс
Вымогатель припоя
Сообщения: 564
Зарегистрирован: Чт июл 21, 2011 19:56:10

Re: AVR Studio 5 - новая версия от Atmel!!!

Сообщение Зукс »

Установил сегодня 5-ю версию и решил покопатся... Я в этом деле новичек и раньше с контроллерами дело не имел. Пытался разобратся но пока стою в ступоре. Единственное что смог: указать все биты порта на вывод и вывести все единицы. Пока не прошивал, боюсь в первый же день микруху испортить... Но вообще вопрос в другом: чет прога у мну матерится на ассемблер стандартные команды СИ-шные понимает но их тут чето мало а асемблер вообще не жует. С фьюзами вообще немогу разобратся...
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: AVR Studio 5 - новая версия от Atmel!!!

Сообщение Vova777 »

Зукс писал(а):Установил сегодня 5-ю версию и решил покопатся... Я в этом деле новичек и раньше с контроллерами дело не имел. Пытался разобратся но пока стою в ступоре. Единственное что смог: указать все биты порта на вывод и вывести все единицы. Пока не прошивал, боюсь в первый же день микруху испортить... Но вообще вопрос в другом: чет прога у мну матерится на ассемблер стандартные команды СИ-шные понимает но их тут чето мало а асемблер вообще не жует. С фьюзами вообще немогу разобратся...

Нужно при создании нового проекта указывать пункт: "AVR Assembler Project", если хотите писать на языке Ассемблера. Fuse-биты в том же меню, где команда на прошивку микроконтроллера.
даешь высокое напряжение
Аватара пользователя
Зукс
Вымогатель припоя
Сообщения: 564
Зарегистрирован: Чт июл 21, 2011 19:56:10

Re: AVR Studio 5 - новая версия от Atmel!!!

Сообщение Зукс »

Если я в этом чайник то можно пока фьюзы оставить по дефолту?
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: AVR Studio 5 - новая версия от Atmel!!!

Сообщение Vova777 »

Зукс писал(а):Если я в этом чайник то можно пока фьюзы оставить по дефолту?

Да, лучше не трогать пока. Но единственное, что лучше сделать, это перевести в режим от внешнего источника тактовых импульсов, если у вас он предусмотрен конструкцией. И будьте внимательны с RSTDISBL, если ваш программатор не позволяет потом реанимировать микроконтроллер.
советую почитать про fuse-биты
даешь высокое напряжение
Аватара пользователя
Зукс
Вымогатель припоя
Сообщения: 564
Зарегистрирован: Чт июл 21, 2011 19:56:10

Re: AVR Studio 5 - новая версия от Atmel!!!

Сообщение Зукс »

Какие фьюзы лучше не трогать? Кстати сами фьюзы так и не нашел... Может они отображаются только когда программатор подключен?

И еще вопрос: мне проще на СИ програмить, на СИ теже возможности что и на ассемблере или лучше всеже ассемблером програмить?
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: AVR Studio 5 - новая версия от Atmel!!!

Сообщение Vova777 »

Это зависит от того, на каком языке вам легче писать. Говорят, что на С программа короче получается, я не проверял.

Лучше вообще все fuse-биты не трогайте. По дефоулту там все нормально стоит, от внутреннего источника тактовых импульсов, но он не надежен, если нужна точность во времени, то однозначно нужен внешний кварц, 4 МГц будет нормально. Не забудьте в начале выбрать именно то устройство, какое хотите прошивать.

Если ваш программатор не подключен, выберите в списке устройств AVR Simulator, fuse-биты должны быть.
даешь высокое напряжение
Аватара пользователя
Зукс
Вымогатель припоя
Сообщения: 564
Зарегистрирован: Чт июл 21, 2011 19:56:10

Re: AVR Studio 5 - новая версия от Atmel!!!

Сообщение Зукс »

Хочу для начала попробовать прошить на РЦ-генераторе и проверить тоже без кварца. Это возможно?
Изображение
Последний раз редактировалось Зукс Пт июн 15, 2012 13:49:10, всего редактировалось 1 раз.
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: AVR Studio 5 - новая версия от Atmel!!!

Сообщение Vova777 »

даешь высокое напряжение
Аватара пользователя
Зукс
Вымогатель припоя
Сообщения: 564
Зарегистрирован: Чт июл 21, 2011 19:56:10

Re: AVR Studio 5 - новая версия от Atmel!!!

Сообщение Зукс »

Vova777, у меня както наоборот все. Те что установлены у меня выключены и наоборот. Может там инверсия по фьюзам? У меня Атмега8А мне подойдет такая настройка? с какой программы эти фьюзы? (слышал что в некоторых прогах инверсия по фьюзам)
Изображение
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: AVR Studio 5 - новая версия от Atmel!!!

Сообщение Vova777 »

даешь высокое напряжение
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: AVR Studio 5 - новая версия от Atmel!!!

Сообщение vitalik_1984 »

Vova777 писал(а):вот так поставьте

че вы тут из другой программы свои картинки пихаете?человек так наставит как раз наоборот.снимет галку с spien и все плакали коты на помойке.
Зукс у вас не наоборот, а правильно все галка это ноль=запрограммировано.
если нужно активировать spi,то галку оставлять.(для вас пока обязательно)
если бит rstdisbl дословно называется 'отключение ресет',а без ресета не работает спи, то нам эта галка нафиг ни за какие коврижки не нужна,так?

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

INTernal RC OSCillator это для справки обозначает внутренний RC генератор

и учите английский, он в этом деле очень помогает.
В поисках истины человек развивается.
Аватара пользователя
Зукс
Вымогатель припоя
Сообщения: 564
Зарегистрирован: Чт июл 21, 2011 19:56:10

Re: AVR Studio 5 - новая версия от Atmel!!!

Сообщение Зукс »

vitalik_1984, при чем здесь английский если там все сокращенно написано абривиатурой? Если с завода микра настроена на внутренний генератор то поидее в самом программаторе кварц ненужно ставить? Щас стоит без кварца и почемуто ниодна программа не видит подключенную микру к компу AVR Studio уестествено тоже... Хотя в программаторе указано что нужно поставить кварц на 4 мГц. Почемуже на 4 если по умолчанию 1мГц стоит с завода? Нужно ли ставить кварц в программатор если я нехочу его использовать? (ну нету у меня кварца именно на 4 мГц, нету :cry: . Или можно какойто другой использовать?) или всеже придется его туда поставить именно на 4 мГц?
З.Ы. Извиняюсь за то что немного не по теме но это касается и AVR Studio в какойто степени...
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!
Foks
Поставщик валерьянки для Кота
Сообщения: 2108
Зарегистрирован: Пт авг 29, 2008 16:28:19
Откуда: Киев

Re: AVR Studio 5 - новая версия от Atmel!!!

Сообщение Foks »

Не аббревиатуры, а сокращения. Когда знаешь английский, все эти сокращения становятся очевидными. И даже не надо что-либо читать и думать.

Если Вы фьюзы не трогали, то ставить кварц не нужно. Но если уже умудрились поменять, то придётся искать. Убедитесь что тактовая частота при прошивке как минимум в 4 раза меньше тактовой частоты процессора. То есть не более 250 КГц при стандартном тактировании.
Giggity giggity goo!
Аватара пользователя
Зукс
Вымогатель припоя
Сообщения: 564
Зарегистрирован: Чт июл 21, 2011 19:56:10

Re: AVR Studio 5 - новая версия от Atmel!!!

Сообщение Зукс »

забыл дописать: у меня программатор громова... Ну может AVR Studio с ним и не работает я незнаю но я пробовал и другие проги которые с ним точно должны работать. Питание на микруху подавал через 5-ти вольтовую кренку. У меня две Атмеги, пробовал обе. Думаю всеже что проблема в том что нету кварца. На зачем тогда ей кварц если с завода по дефолту она настроена на внутренний РЦ-генератор? но в схеме громова кварц стоит. Ничего не пойму... :shock:
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!
Ответить

Вернуться в «AVR»