Easyelectronics.ru

Электроника для всех
Текущее время: 20 авг 2017, 01:32

Часовой пояс: UTC + 5 часов



    • JLCPCB for PCB Prototyping: 10 шт. 2-слоя 100*100mm 2$(около 140rub), изготовление за 24 часа.
    • Создание принципиальных схем и проектирование печатных плат
    • Крупнейший китайский онлайн магазин радиодеталей. Скидка 50%
    • Просмотр GERBER файлов

Начать новую тему Ответить на тему  [ Сообщений: 16 ] 
Автор Сообщение
 Заголовок сообщения: Новую версию программы AVRDUDESHELL
СообщениеДобавлено: 25 янв 2015, 00:41 
Старожил

Зарегистрирован: 16 сен 2011, 20:11
Сообщения: 229
Откуда: Брест
Разработал новую версию программы AVRDUDESELL - программы для программирования микроконтроллеров семейства AVR (про "старую" можно почитать ветку http://forum.easyelectronics.ru/viewtopic.php?f=16&t=8498.

Новое в программе:
    Качественно новая версия программы.
    Переезд на новую площадку.
    Новый дизайн.
    Возможность сохранять и восстанавливать настройки фьюзов.
    Теперь все формы можно растягивать.
    Автоматическое открытие файлов проекта.
    Строка адресов для дампов FLASH и EEPROM.
    Строка адресов может расчитыватся автоматически.
    Возможность связи *.hex, *.eep, *.fus файлов с приложением.
    Загрузка файлов *.hex, *.eep, *.fus из командной строки.
    Альфа 0.98 версия дизассемблера.
    Устранена ошибка прописных и строчных символов при задании порта подключения программатора.
    Устранена ошибка сохранения первого байта в файлы *.hex, *.eep.
    Устранена ошибка размера дампа при автоматическом обновлении файлов проекта.

Подробнее на http://matrex-notes.blogspot.com/2015/01/avrdudeshell_21.html
Прямая ссылка для скачивания https://drive.google.com/file/d/0B-w91VnLIamzbFo1Zl92d25UNWM/view?usp=sharing

Разумная критика приветствуется.

Пара картинок:
Изображение

Изображение

Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новую версию программы AVRDUDESHELL
СообщениеДобавлено: 25 янв 2015, 01:08 
Старожил

Зарегистрирован: 02 дек 2010, 13:52
Сообщения: 4002
Откуда: п. Борок, Ярославская область
А чего дизассемблер не показывает номера регистров и адреса ссылок? А только Rd, k и прочее-прочее. Да и если так, то надо еще одной колонкой (между колонкой адреса и колонкой мнемоник) написать HEX код команды.

И вопрос: на какой платформе создано? Интерес сугубо пользовательский: ибо предпочитаю Linux, а потому если написано на C/C++/Python/Java - хотелось бы компильнуть разок для пробы... :-)

_________________
Ёж птица гордая, пока не пнешь - не полетит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новую версию программы AVRDUDESHELL
СообщениеДобавлено: 25 янв 2015, 01:21 
Старожил

Зарегистрирован: 16 сен 2011, 20:11
Сообщения: 229
Откуда: Брест
VivalzarD писал(а):
А чего дизассемблер не показывает номера регистров и адреса ссылок? А
А потому что версия "Альфа 0.98"... А по существу - не реализовал, надеясь на подобный диалог т.к. есть некоторые пробелы в знаниях... Завтра на свежею голову сформулирую, может кто подскажет...

VivalzarD писал(а):
на какой платформе создано
Windows 7, Delphi XE5. Была идея переписать на Lazarus, для кросплатформенности, но не нашел подходящего компанента для вывода дампов... Так что пока только так...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новую версию программы AVRDUDESHELL
СообщениеДобавлено: 25 янв 2015, 09:23 
Старожил
Аватара пользователя

Зарегистрирован: 06 май 2010, 11:00
Сообщения: 2810
Откуда: Н. Новгород
Во, Matrex, молодец спасибо!
Пользуюсь AVRDUDESHELL уже несколько лет, хватает выше крыши.
Порадовал сам факт развития проекта.

..... по Alt+F4 вылезает: :)
Show


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новую версию программы AVRDUDESHELL
СообщениеДобавлено: 25 янв 2015, 12:10 
Старожил

Зарегистрирован: 16 сен 2011, 20:11
Сообщения: 229
Откуда: Брест
Lyon за поддержку спасибо.

Цитата:
по Alt+F4 вылезает

В настройках программы "файлы и папки" необходимо "блокнот" заменить на что нибудь посерьезнее т.к. он не понимает кодировку этого файла.

Вот те вопросы которые хотел задать компетентным в ассемблере для AVR товарищам:

1. Какие “представления” дизассемблера могут быть полезны разработчикам. Например: адрес, код, мемоника,описание инструкции - одно представление; ссылки, мемоника - другое и т.п.

2. Какие функции в принципе желательны для дизассемблера.

3. Хочу сделать такой дизассемблер, что бы код можно было закопийпастить, воткнуть в AVRStudio и без доработок скомпилировать поэтому:
- какая общая структура asm фала в avrstudio
- какой инструкцией “положить” байт, слово, чар по определенному адресу
- какой инструкцией записать байт в eeprom
- как оформляется переход jmp внутри одной функции
- какой функцией положить мемонику по определенному адресу


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новую версию программы AVRDUDESHELL
СообщениеДобавлено: 25 янв 2015, 16:22 
Старожил

Зарегистрирован: 02 дек 2010, 13:52
Сообщения: 4002
Откуда: п. Борок, Ярославская область
По дизасму хотелось бы в таком виде:
первая колонка - адрес от начала
вторая колонка - код команды в HEX
третья колонка - метка (если для данного адреса она есть)
четвертая колонка - мнемоника

Метки определять какими нибудь универсальными именами, например М1, М2, М3... М435 и так далее. Ну а дешифровку команд - по AVR Instruction Set - есть на сайте атмел и гуглом выдается на раз-два.

Вот дизассемблировать сам код - это простая задача. Гораздо сложнее определить тип данных, с которыми эта программа работает. Т.к. во флеши что строка текста, что массив байт/слов/двойных слов и т.д. выглядит одинаково. А обращение к этим данным идет чаще всего с косвенной адресацией и понять по какому адресу что лежит можно порой только в процессе трассировки программы. Как-то так...

По этому сделать так чтобы раз - и копипаста в студию: это очень сложная задача. Надо помимо дизассемблера писать автоматический трассировщик, чтобы можно было понять: в каких местах лежит программа, а в каких - данные. К тому же если код запутанный да еще и сподменой адресов возврата из подпрограмм в стеке - то тут уже никакой трассировщик не спасет: только полноценная эмуляция МК. Как работает трассировка - можно заценить в IDA (interactive disassembler).

_________________
Ёж птица гордая, пока не пнешь - не полетит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новую версию программы AVRDUDESHELL
СообщениеДобавлено: 25 янв 2015, 17:46 
Старожил

Зарегистрирован: 16 сен 2011, 20:11
Сообщения: 229
Откуда: Брест
VivalzarD писал(а):
первая колонка - адрес от начала
вторая колонка - код команды в HEX
третья колонка - метка (если для данного адреса она есть)
четвертая колонка - мнемоника

Походу надо тогда делать 4 кнопки под каждый из видов - какие натыкал - так и будет выводить...
VivalzarD писал(а):
Ну а дешифровку команд - по AVR Instruction Set

Можно и так. Если прикрутить ссылки на конкретную страницу по операции - будет супер.
VivalzarD писал(а):
Гораздо сложнее определить тип данных, с которыми эта программа работает.

Это да, я понимаю... Я думал над этим вопросом. Идея состоит в том, что бы собирать информацию по адресам переходов с операций типа типа jmp, call и, соответственно, с этих адресов будет идти точно код - значит будем дизассемблировать, если ссылка в память и загрузка в регистр - значит данные - просто байтовый поток. Это, конечно, не идиальный вариант, но уже кое что - с этого можно начать. Разумеется это будет отключаемая опция.
matrex писал(а):
Как работает трассировка - можно заценить в IDA (interactive disassembler).

Видел иду. Одно время даже думал прикрутить ее сюда, но честно говоря, не разобрался как она работает, да и условно-бесплатная она... Самому подобный тассировщик не потянуть, поэтому буду ограничиваться как можно более качественным дизассемблированием...
matrex писал(а):
и копипаста в студию

На самом деле не все так страшно, на мой взгляд, как кажется. Самый простой вариант - записать word(byte)-поток с определенного адреса. Чуть посложнее - по адресам записать дизассемблированные мемоники. И самый сложный - полное дизассемблирование... Из этих соображений и все вышеперечисленные вопросы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новую версию программы AVRDUDESHELL
СообщениеДобавлено: 25 янв 2015, 21:54 
Старожил
Аватара пользователя

Зарегистрирован: 08 апр 2010, 20:45
Сообщения: 720
Присоединяюсь - работа качественная...
Жду релиз :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новую версию программы AVRDUDESHELL
СообщениеДобавлено: 25 янв 2015, 23:03 
Старожил

Зарегистрирован: 16 сен 2011, 20:11
Сообщения: 229
Откуда: Брест
WildCat за поддержку спасибо.
Колеги, тут прошла информация что студия может диассемблировать hex это действительно так?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новую версию программы AVRDUDESHELL
СообщениеДобавлено: 25 янв 2015, 23:24 
Старожил

Зарегистрирован: 16 сен 2011, 20:11
Сообщения: 229
Откуда: Брест
Да, действительно может... Дык тогда и дизассемблер в программе и не нужен - блин... Читайте матчасть, господа....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новую версию программы AVRDUDESHELL
СообщениеДобавлено: 26 янв 2015, 11:41 
Старожил
Аватара пользователя

Зарегистрирован: 17 апр 2010, 08:38
Сообщения: 4595
Откуда: Усинск, республика Коми
А какой выбрать программатор из списка для прошивки через FTDI ???

_________________
хаос это непознанный порядок


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новую версию программы AVRDUDESHELL
СообщениеДобавлено: 26 янв 2015, 12:05 
Старожил

Зарегистрирован: 16 сен 2011, 20:11
Сообщения: 229
Откуда: Брест
Врать не буду - не знаю (нет у меня таких девайсов), но кое что можно посмотреть на https://learn.adafruit.com/ftdi-friend/ ... bootloader. Или погуглить "ftdi avrdude".

Для информации - эта программа - надстройка над avrdude. Если вы разберетесь как программировать через FTDI в avrdude то это можно будет повторить и в программе, задав соответствующие параметры, или сказав мне решение (строку запуска), которое я реализую.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новую версию программы AVRDUDESHELL
СообщениеДобавлено: 02 авг 2015, 18:59 
Свой человек

Зарегистрирован: 28 янв 2010, 09:20
Сообщения: 63
Программа перехватывает нажатия клавиш, когда находится в фоне: хотел в TotalCommandere сделать новую вкладку по Ctrl+T, она меня спросила про фьюзы, находясь при этом в фоне. Для программирования через FTDI, заменил парочку avrdude.conf и avrdude.exe. Но программа при запуске программирования выдает окошко с командной строкой и всё. Программа вообще рабочая? Что должно произойти?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новую версию программы AVRDUDESHELL
СообщениеДобавлено: 04 сен 2016, 16:23 
Здравствуйте!

Зарегистрирован: 04 сен 2016, 16:19
Сообщения: 1
Дайте, пожалуйста, ссылку на последнюю версию программы. По ссылке http://matrex-notes.blogspot.com/2015/0 ... ll_21.html ничего нет :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новую версию программы AVRDUDESHELL
СообщениеДобавлено: 04 сен 2016, 16:31 
Старожил
Аватара пользователя

Зарегистрирован: 04 сен 2010, 23:09
Сообщения: 3025
Откуда: Армения
Я нашел здесь
Цитата:
Обновленную версию можно скачать с официальной страницы http://matrex-notes.blogspot.com.by/201 ... tmega.html или по прямой ссылке https://drive.google.com/open?id=0B-w91 ... 29UR1dHVTg


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новую версию программы AVRDUDESHELL
СообщениеДобавлено: 02 янв 2017, 00:33 
Здравствуйте!

Зарегистрирован: 03 авг 2015, 22:43
Сообщения: 1
Откуда: Обнинск
Не работает avrdudeshell в ubuntu 16.04.
Запускается нормально, но когда доходит до запуска avrdude, выдает ошибку.
Всё сделано по инструкции из: http://matrex-notes.blogspot.ru/2015/09/avrdudeshell-linux-wine.html
Картинки происходящего:
Изображение
ссылка на изображение, размер: 292 кбайт, 1024 x 420 точек
Изображение
ссылка на изображение, размер: 295 кбайт, 1024 x 477 точек
Изображение
ссылка на изображение, размер: 187 кбайт, 1024 x 479 точек
Сим-линки созданы и в терминале нормально работают:
Изображение
ссылка на изображение, размер: 342 кбайт, 1024 x 417 точек


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB