27 сообщений в этой теме

Vaho1967    0

Здравствуйте!

Решил заняться программированием МК…

На этом замечательном сайте нашел много полезной инфы, особенно новичку…

Но вопросов, как всегда, больше чем ответов...

Установил я Атмел студио 7, изучаю потихоньку, со скрипом — видимо прога новая и конкретики мало по 7 в инете

Такой вопрос, мож кто поможет

Не получается загрузить нех файл для дизассеблирования и анализа

хочу разобраться в работе контроллера, на готовой рабочей программе - паяльной станции

т.е. есть рабочий нех файл, он открывается в атмел 7, но дизассемблирование невозможно произвести, вернее я не знаю как сделать…

подскажите пож…, если вообще это возможно…

в инете писали, что студия 6 вроде позволяет, на радиокоте даже описание нашел, но в 7 нет возможности…

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
volstr    0

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

Обычно начинают с нового, своего проекта, например, поморгать светодиодом, поиграться с таймерами, ШИМ...

Я конечно понимаю, что на асме, что написал - то и получил, но может си проще?

Изменено пользователем volstr

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
GOR23    39

Vaho1967, кто это вам посоветовал так изучать МК ? В дизассемблированом HEXе вы ничего не поймёте, тут я готов поспорить). Нужен проект с комментариями, и грамотно написанный. С такого можно будет чего то для себя подчерпнуть. А вообще есть куча уроков, как на си так и на ассемблере, с них и начинайте. А по поводу 7 студии, лучше поставьте 6ую, а ещё лучше 4ую. Сам не так давно перешёл на 6ую, в ней редактор лучше код подсвечивается и тд. но есть и минусы: то с программатором не хочет работать, просит прошивку обновить; то ещё чего ей стрельнет. 4ая в этом плане работала как часы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Vaho1967    0

Спасибо!!!

Я поясню...

Изучение мк, сов. верно, идёт именно с создания проекта, написания некоторого кода, просмотра кода в маш. кодах МК и проверки его работы (пока в симуляторе)

этот процесс идет сам собой и вопросов к программе атмел7 по этому поводу не возникает ...

хотя, на мой взгляд прога (Атмел7)сложна (я валю все на себя - отсутствие опыта и практики, слабое знание английского)

На офф. сайте атмел нашел только 7 версию... где-бы взять 6 или 4 ...

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

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

У меня возник еще вопрос.... по размещению кода в памяти (флеш)

пример:

пишу инструкции: (просто запись числа в регистр) в памяти кода программы записаны следующее

nop 00 00

nop 00 00

ldi R18,$16 (hex 16) 26 е1

ldi r18,16 (десятичное 16-hex 10) 20 е1

ldi R17,$16 (hex 16) 16 е1

ldi r17,16 (десятичное 16-hex 10) 10 е1

ldi R16,$16 (hex 16) 06 е1

ldi r16,16 (десятичное 16-hex 10) 00 е1

теперь мои непонятки...

в третьей строке (ldi R18,$16) в коде операции есть код самой операции (??) и передаваемый операнд (16 hex). Если из кода 26е1 выделить 16, то выходит :

код операции ldi R18 - это 2е и он размещен между операндом (16)

тоже и с остальными операциями

непонятна организация размещения кода... (в х86 точно не так) или у меня что-то глючит...

и я не понял по сути 1 вопроса - есть возможность дизассемблирования в атмел 7 hex файлов или нет???

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
COKPOWEHEU    257

смотрим описание команды

ldi Rd,k

ее код:

1110 kkkk dddd kkkk

То есть в случае ldi r18,$16

1110 0001 0010 0110 = 0xE126. Учитывая способ хранения (младший вначале) 0x26E1. Как следует из описания команды, ее код 1110, остальное аргументы.

Организация размещения кода, насколько я понимаю, значительно проще, чем в x86: весь файл представляет собой последовательность команд без какой-либо мета-информации. Впрочем, elf-файл по идее не должен особо отличаться, avr от x86.

По сути 1 вопроса уже ответили - иногда разбираться в дизассемблерном коде не проще, чем написать новое с нуля.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я начинал изучение, именно с дизассемблирования одного проекта. Это очень полезно для изучения МК. Зря вы говорите, что это нонсенс. Тяжело в учении - легко в бою.

Теперь "вскрыть" чей-либо hex - не проблема. Vano1967, попробуйте свои силы в VMLAB3.15. Она заметно проще Studio, но не хуже в симуляции (отладке).

Изменено пользователем Геннадий

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Vaho1967    0

Спасибо

Направили в нужное русло...

нашел книгу с описанием команд МК интересная особенность- байт кода команды разбит на 2 четырехбитовые половинки и перемешан с данными

1110 kkkk dddd kkkk - 1110 код команды загрузки числа, dddd - код регистра куда загружается число, кккккккк - загружаемые данные ..... в х86 не так....

меня именно это и озадачило

по поводу дазассемблирования я поясню - мне для обучения и понимания надо а не для написания

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

к оборудованию ведь не прикладывают исходники... или прочитать прогу управления двигателя авто...

а такой опыт и знания , по моему очень ценны. я, когда программировал (давно х86)спустя месяцы доходил до того, что потом видел во вскрытых файлах

или скажем поправить чуть код надо в паяльной станции

Геннадий, за инфу спасибо попробую, я так понял, что там возможность есть...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для дизассемблирования посоветую Ida64. Мощный дизассемблер. Поддерживает и AVR. Результат очень даже удобочитаем и структурирован.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
COKPOWEHEU    257

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

Как раз для обучения пишут книги и статьи, где рассказано, что и для чего делается. Посмотрите на типичные конструкции (инициализация стека, таблица прерываний, область самозагрузчика, критичные ко времени операции), тогда и с дизассемблированным кодом будет проще работать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Vaho1967    0

поставил атмел 6,2 и 4...

6,2 не сильно отличается от 7.... (я бы сказал в худшую сторону)

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

спасибо всем за ответы

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Давайте попробуем дизассемблировать один и тот же файл hex. Вы - Студией, я - IDA. И посмотрим, где полученный листинг будет понятнее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Vaho1967    0

Давайте, но... мне надо сначала попробовать проги.. я в них новичок в этих прогах

надо тогда один и тот-же hex файл

какой лучше - мне еще не понятно... просто в 4 он есть, и работает... а в 6 не получается

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кто работал в Atmel Studio 7 подскажите как при создании проекта выбрать МК Attiny13, почему-то в списке Attiny вообще пусто, хотя библиотека(плагин, пакет или как там) в диспетчере пакетов установлен, на диске папка с файлами и подпапками под них есть, но в списке МК All при поиске Attiny все равно пусто. Думал, что это глюк 7, установил 6.2, но проблема та же, (хотел еще русифицировать, но когда узнал что для 7 подавай студию 2015, а 6.2 - 2010 подумал, что это уже для меня роскошь и решил оставить все на английском, но возникла проблема, что выше). Поискав по форумам, да и просто гуглом не нашел ответа, либо у меня руки кривые либо у Atmel Studio'ии. Помогите, а то не хочу в начале пути к МК AVR разочаровываться...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
DmitryS    28

Всё выбирается и в 6.2 и 7

post-187724-0-42989800-1454885175_thumb.jpg

, хоть на стадии создания проекта , хоть в процессе работы с проектом .

Изменено пользователем DmitryS

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

DmitryS, в том то и дело, что в остальных вкладках есть, а именно в этой пусто, хоть и установлен пакет. Может быть это из-за версии ОС? У вас какая? Или все таки глюк студии?

И еще вопрос: AS 6.2 и 7 уже не умеют прошивать через STK200/300? Только 4?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо за видео :thank_you2: . ОС такая же. Нашел ошибку, по незнанию оставлял при создании проекта на первом пункте фокус, в этом и была моя ошибка. Пока, что собирал на макетке только "Музыкальный звонок на МК Attiny13", (начинающий я :( ).

Наверно я наглый, но спрошу: "А не завалялось ли у вас 2-3 пары простых проектиков AS7?" Хочу начать с разбора примеров, типа "мигание светодиодом(ами)", "сирена" тп. В интернете (по крайней мере мне) трудно найти исходники :unknw: . В распоряжении пока, два МК (ATmega8A и ATtimy13) + STK200/300 с панельками под их распиновку :umnik2: . Поможете примерами, DmitryS? Я думаю другим начинающим то же это будет интересно :yes: .

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
DmitryS    28

Вы меня несколько переоцениваете :D , я такой же новичек как и вы . В этом же разделе форума есть видео уроки от Кобзаря , на мой взгляд очень хорошие , еще видео Александра Писанеца тожо для начинающего аврщика очень хорошее. Ну и книжечки Евстифеева очень ценные , это практически даташиты на руском , а без них никуда ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Сообщения

    • Опять неправильное сравнение. Я создаю аудиторскую (бухгалтерскую) проверку официальной физики. Нахожу ошибки. Создаю новую физику. Вот это ближе к истине. А Вы всё смягчаете, сглаживаете. Ошибки в физике следует называть ошибками, и их не исправишь нарисованными картинами.
    • Там ломаться не чему. Вы точно определились что индикатор. Если нет внутри ваккума, то можно и спеца поискать чтобы он там был (стеклодув). В лабораториях по пробиркам они там есть.
    • можно попробовать только отслеживать состояние буфере по счетчику и отправлять байт только если счетчик нулевой и регистр данных пуст. Тогда гарантированно отправится только один байт. Но могут быть перерывы в передаче, а SPI шина жесткая. Поэтому и буферизированная И вообще она не очень подходит для обмена данными между контроллерами, да еще и с неопределенным протоколом. Там все должно быть четко и по правилам. Если так не получается, то используются другие шины.
    • Для того чтоб я меньше  сидел за пояльником и не тратил время в пустую. Купили мне родители  муз-центр LG DM5360K  вот как здесь https://www.dns-shop.ru/product/557a29f35aa43330/domasnaa-audiosistema-lg-dm5360k/ Приподнял я сам муз-центр и он оказался легкий . Ну мне конечно интересно стало что внутри. Вскрыл крышку и смотрю ИИП однотактник с стабилизированным однополярным 27вольт . Под ИИПом экран металлический ,и под экраном УНЧ класса-д построен  на каких то чипах, радиатор снимать не стал. В общем там два мостовых класса-д питаются стабилизированным однополярным 27вольт. Есть Bluetooth и USB для флешки ,  удобно В тех-характеристиках не указано какой там класс унч. Я думаю полную мощность 2х90ватт смело отдает, очень мощно даже пьяному. Акустика 4ом Кстати мне уже не первый муз-центр поподаеться LG основаны на классах-д с ИИП однотактниками. Это я к тому , то что не где не чего не известно из чего реализованы эти центры  
    • Так я и не понял, как лучше поставить для стабилизации режима работы светодиодов. Что поставить лучше? L7812CV L7812 KA7812 MC7812 Напряжение регулятор 12 В 1.5A,  или MP1584EN 3A Регулируемый понижающий. Светодиод будет для салона прилагается, поясните "темному"
    • тут такое дело, что если бы подготовился лучше перед покупкой, то разница в цене вообще ничего не играет. про усиление дорожки встречал инфу. после выходных займусь. так это готовое решение или надо реализовывать самому, имея атмегу+обвязку?
    • Я уже скинул 2 ссылки. Там полно математики и физики. На форум могу скинуть, но лучше создать новую тему. Что я там перевернул? Сразу пишите конкретно: что именно. Тогда будет понятно. Кеша не тупой. Он подкованный технарь, плюс изобретатель. В соционике -  Дон Кихот. Это определённый (довольно не глупый )  тип людей, которые генерируют идеи. Так, Эйнштейн тоже относился к Дон Кихотам. Я в соционике - Де Карт,  или Робеспьер. То есть, "учёный", а не изобретатель. Но к изобретателям отношусь благосклонно, потому как понимаю их роль в обществе.