AVR Studio 5 - новая версия от Atmel!!!
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: AVR Studio 5 - новая версия от Atmel!!!
Получение из hex-файла исходника (текста) называется дизассемблированием или "реверсингом". В отличии от компиляции (т.е asm->hex ) обратное преобразование не так просто - для этого нужно "постараться с дизассемблером"
-
Vova777
- Вымогатель припоя
- Сообщения: 507
- Зарегистрирован: Чт июн 16, 2011 15:06:10
- Откуда: электрощитовая
Re: AVR Studio 5 - новая версия от Atmel!!!
ChipKiller писал(а):Получение из hex-файла исходника (текста) называется дизассемблированием или "реверсингом". В отличии от компиляции (т.е asm->hex ) обратное преобразование не так просто - для этого нужно "постараться с дизассемблером"
Данную операцию можно выполнить средствами AVR Studio 5 ?
даешь высокое напряжение
-
Foks
- Поставщик валерьянки для Кота
- Сообщения: 2108
- Зарегистрирован: Пт авг 29, 2008 16:28:19
- Откуда: Киев
Re: AVR Studio 5 - новая версия от Atmel!!!
Одну-две страницы назад это обсуждалось. Утрудитесь почитать.
Giggity giggity goo!
-
Vova777
- Вымогатель припоя
- Сообщения: 507
- Зарегистрирован: Чт июн 16, 2011 15:06:10
- Откуда: электрощитовая
Re: AVR Studio 5 - новая версия от Atmel!!!
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!!!
Возможно какие-то шаманские методы есть, но функции в ней такой вроде бы нету. Вообще дизассемблирование чаще всего противозаконно, т.к. нарушает авторские права и т.д. И Вы не получите точную копию исходного кода после этого процесса - все метки перехода, все переменные и т.д. будут иметь вид "a000157", поэтому подумайте, поможет ли Вам такого вида исходный код.
Giggity giggity goo!
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: AVR Studio 5 - новая версия от Atmel!!!
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
как вам выше сказали - это большой труд определить что же все таки за чем идет.Метки и комментарии утеряны.
В поисках истины человек развивается.
Re: AVR Studio 5 - новая версия от Atmel!!!
Установил сегодня 5-ю версию и решил покопатся... Я в этом деле новичек и раньше с контроллерами дело не имел. Пытался разобратся но пока стою в ступоре. Единственное что смог: указать все биты порта на вывод и вывести все единицы. Пока не прошивал, боюсь в первый же день микруху испортить... Но вообще вопрос в другом: чет прога у мну матерится на ассемблер стандартные команды СИ-шные понимает но их тут чето мало а асемблер вообще не жует. С фьюзами вообще немогу разобратся...
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!
-
Vova777
- Вымогатель припоя
- Сообщения: 507
- Зарегистрирован: Чт июн 16, 2011 15:06:10
- Откуда: электрощитовая
Re: AVR Studio 5 - новая версия от Atmel!!!
Зукс писал(а):Установил сегодня 5-ю версию и решил покопатся... Я в этом деле новичек и раньше с контроллерами дело не имел. Пытался разобратся но пока стою в ступоре. Единственное что смог: указать все биты порта на вывод и вывести все единицы. Пока не прошивал, боюсь в первый же день микруху испортить... Но вообще вопрос в другом: чет прога у мну матерится на ассемблер стандартные команды СИ-шные понимает но их тут чето мало а асемблер вообще не жует. С фьюзами вообще немогу разобратся...
Нужно при создании нового проекта указывать пункт: "AVR Assembler Project", если хотите писать на языке Ассемблера. Fuse-биты в том же меню, где команда на прошивку микроконтроллера.
даешь высокое напряжение
Re: AVR Studio 5 - новая версия от Atmel!!!
Если я в этом чайник то можно пока фьюзы оставить по дефолту?
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!
-
Vova777
- Вымогатель припоя
- Сообщения: 507
- Зарегистрирован: Чт июн 16, 2011 15:06:10
- Откуда: электрощитовая
Re: AVR Studio 5 - новая версия от Atmel!!!
Зукс писал(а):Если я в этом чайник то можно пока фьюзы оставить по дефолту?
Да, лучше не трогать пока. Но единственное, что лучше сделать, это перевести в режим от внешнего источника тактовых импульсов, если у вас он предусмотрен конструкцией. И будьте внимательны с RSTDISBL, если ваш программатор не позволяет потом реанимировать микроконтроллер.
советую почитать про fuse-биты
даешь высокое напряжение
Re: AVR Studio 5 - новая версия от Atmel!!!
Какие фьюзы лучше не трогать? Кстати сами фьюзы так и не нашел... Может они отображаются только когда программатор подключен?
И еще вопрос: мне проще на СИ програмить, на СИ теже возможности что и на ассемблере или лучше всеже ассемблером програмить?
И еще вопрос: мне проще на СИ програмить, на СИ теже возможности что и на ассемблере или лучше всеже ассемблером програмить?
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!
-
Vova777
- Вымогатель припоя
- Сообщения: 507
- Зарегистрирован: Чт июн 16, 2011 15:06:10
- Откуда: электрощитовая
Re: AVR Studio 5 - новая версия от Atmel!!!
Это зависит от того, на каком языке вам легче писать. Говорят, что на С программа короче получается, я не проверял.
Лучше вообще все fuse-биты не трогайте. По дефоулту там все нормально стоит, от внутреннего источника тактовых импульсов, но он не надежен, если нужна точность во времени, то однозначно нужен внешний кварц, 4 МГц будет нормально. Не забудьте в начале выбрать именно то устройство, какое хотите прошивать.
Если ваш программатор не подключен, выберите в списке устройств AVR Simulator, fuse-биты должны быть.
Лучше вообще все fuse-биты не трогайте. По дефоулту там все нормально стоит, от внутреннего источника тактовых импульсов, но он не надежен, если нужна точность во времени, то однозначно нужен внешний кварц, 4 МГц будет нормально. Не забудьте в начале выбрать именно то устройство, какое хотите прошивать.
Если ваш программатор не подключен, выберите в списке устройств AVR Simulator, fuse-биты должны быть.
даешь высокое напряжение
Re: AVR Studio 5 - новая версия от Atmel!!!
Хочу для начала попробовать прошить на РЦ-генераторе и проверить тоже без кварца. Это возможно?


Последний раз редактировалось Зукс Пт июн 15, 2012 13:49:10, всего редактировалось 1 раз.
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!
Re: AVR Studio 5 - новая версия от Atmel!!!
Vova777, у меня както наоборот все. Те что установлены у меня выключены и наоборот. Может там инверсия по фьюзам? У меня Атмега8А мне подойдет такая настройка? с какой программы эти фьюзы? (слышал что в некоторых прогах инверсия по фьюзам)


Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: AVR Studio 5 - новая версия от Atmel!!!
Vova777 писал(а):вот так поставьте
че вы тут из другой программы свои картинки пихаете?человек так наставит как раз наоборот.снимет галку с spien и все плакали коты на помойке.
Зукс у вас не наоборот, а правильно все галка это ноль=запрограммировано.
если нужно активировать spi,то галку оставлять.(для вас пока обязательно)
если бит rstdisbl дословно называется 'отключение ресет',а без ресета не работает спи, то нам эта галка нафиг ни за какие коврижки не нужна,так?
еще включите логику,если слово default означает по умолчанию,а источник тактирования по умолчанию внутренний какой же вариант вам выбрать?там ведь все по полочкам уже.только выбрать нужный вариант и все.
INTernal RC OSCillator это для справки обозначает внутренний RC генератор
и учите английский, он в этом деле очень помогает.
В поисках истины человек развивается.
Re: AVR Studio 5 - новая версия от Atmel!!!
vitalik_1984, при чем здесь английский если там все сокращенно написано абривиатурой? Если с завода микра настроена на внутренний генератор то поидее в самом программаторе кварц ненужно ставить? Щас стоит без кварца и почемуто ниодна программа не видит подключенную микру к компу AVR Studio уестествено тоже... Хотя в программаторе указано что нужно поставить кварц на 4 мГц. Почемуже на 4 если по умолчанию 1мГц стоит с завода? Нужно ли ставить кварц в программатор если я нехочу его использовать? (ну нету у меня кварца именно на 4 мГц, нету
. Или можно какойто другой использовать?) или всеже придется его туда поставить именно на 4 мГц?
З.Ы. Извиняюсь за то что немного не по теме но это касается и AVR Studio в какойто степени...
З.Ы. Извиняюсь за то что немного не по теме но это касается и AVR Studio в какойто степени...
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!
-
Foks
- Поставщик валерьянки для Кота
- Сообщения: 2108
- Зарегистрирован: Пт авг 29, 2008 16:28:19
- Откуда: Киев
Re: AVR Studio 5 - новая версия от Atmel!!!
Не аббревиатуры, а сокращения. Когда знаешь английский, все эти сокращения становятся очевидными. И даже не надо что-либо читать и думать.
Если Вы фьюзы не трогали, то ставить кварц не нужно. Но если уже умудрились поменять, то придётся искать. Убедитесь что тактовая частота при прошивке как минимум в 4 раза меньше тактовой частоты процессора. То есть не более 250 КГц при стандартном тактировании.
Если Вы фьюзы не трогали, то ставить кварц не нужно. Но если уже умудрились поменять, то придётся искать. Убедитесь что тактовая частота при прошивке как минимум в 4 раза меньше тактовой частоты процессора. То есть не более 250 КГц при стандартном тактировании.
Giggity giggity goo!
Re: AVR Studio 5 - новая версия от Atmel!!!
забыл дописать: у меня программатор громова... Ну может AVR Studio с ним и не работает я незнаю но я пробовал и другие проги которые с ним точно должны работать. Питание на микруху подавал через 5-ти вольтовую кренку. У меня две Атмеги, пробовал обе. Думаю всеже что проблема в том что нету кварца. На зачем тогда ей кварц если с завода по дефолту она настроена на внутренний РЦ-генератор? но в схеме громова кварц стоит. Ничего не пойму... 
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!