• Объявления

    • admin

      Просьба всем принять участие!   24.11.2017

      На форуме разыгрывается спектроанализатор Arinst SSA-TG LC (цена 18500 руб). Просьба всем перейти по ссылке ниже и принять участие!

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

Vaho1967    0

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

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

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

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

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

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

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

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

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

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

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

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


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

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
volstr    0

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

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

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

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

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


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

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    249

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

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    249

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

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

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


Ссылка на сообщение
Поделиться на других сайтах
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    23

Всё выбирается и в 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    23

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

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


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

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

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

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

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

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

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

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

Загрузка...

  • Сообщения

    • Жаль только версия прошивки не полная. 
    • LM12 http://pdf.datasheetcatalog.com/datasheet/nationalsemiconductor/DS008704.PDF   где такой продается?  einfo.ru  и  efind.ru его не показывают, а подставляют в поиск другую модель LM12X
    • Измерение проводили при подключенном АКБ? Сравните с ним и без....  не удивляйтесь.
    • Понятно, тогда вход 10,5В, выход равен 10,5 - 0,5 = 10 из-за падения напряжения(501 милиВольт показывает мультиметр) на переходе и получается (10,5 - 10) * 2 = 1 Ватт. То есть радиатор не требуется? Или хотя бы пластинку для спокойствия да?
    • Зачем? Опять не понял, причем тут напряжение отсечки. Я транзисторы измерял на приборе, один кажет напряжение отсечки 0,7 В, другой 1,2 вольта. Что оно нам дает?  Падение на резисторе как раз определяет начальный ток стока. Чем он будет больше, тем больше будет падение на неизменном сопротивлении.  В общем и целом Юрий уже все сказал: повторитель нужно приоткрыть. Сопротивление между истоками 3,3К дает необходимое падение, даже немного больше, повторитель открывается, все работает, регулируется, постоянка мало дрейфует. Вопрос был в том, чтобы приоткрыть повторитель на ток через него 7-10 мА. Сейчас через него бежит 17 мА. В принципе, я придумал, как сделать так, чтобы повторитель приоткрывался совсем чутка: поставить впослед с R6 подстроечник реостатом и крутить его, пока оба транзистора повторителя не откроются на одинаковую величину. Потом замерить получившееся сопротивление и разделить пополам. Получившиеся номиналы поставить перед верхним и нижним выводами R6. Другое дело, что практика показала перекос в открывании транзисторов повторителя как раз из-за того, что ток через феты идет разный вследствие балансировки. Значит останется подогнать сопротивление впослед R6 в плече, противоположном открытому и пропорционально уменьшить сопротивление в открытом плече. Это теоретически. На практике посмотрим через две недели.  
    • Конверторы конечно хорошо, но мне интересней именно перестроить, отмотать витки и поменять конденсаторы. Витки отмотал, но не все станции ловят, нужно узнать какие конденсаторы менять нужно. И каких номиналов ставить.  
    • Да, пусть будет так.
      Я имел ввиду  самодельный трансивер за 10т. 
      Согласитесь, что за 25т АМ передатчик должен быть с выходной мощностью 500 ватт.
      А, вообще-то, у всех есть своя голова, пусть она и думает)))