Обсуждаем контроллеры компании Atmel.
Ответить

AVR studio 6 и EEPROM

Чт дек 11, 2014 19:36:09

Здравствуйте!
Пишу на ассемблере в AVR studio 6
Возникла такая проблема:
В коде есть директива .ESEG в ней данные .DB
Изображение
После компиляции по идее эти данные должны записываться в EEPROM отладчика и создаваться файл XXX.eep а у меня нечего этого не происходит
Изображение
Подскажите в чем может быть дело?

Re: AVR studio 6 и EEPROM

Чт дек 11, 2014 21:02:14

Как XXX.eep создавать я нашел.
нужно поставить галку генерации eep
Изображение
а вот как эти данные в эмуляцию загружать пока не могу найти :(

Re: AVR studio 6 и EEPROM

Пт дек 12, 2014 14:03:46

На буржуйских сайтах вычитал что это косяк самой 6 студии и в ней нет опции загрузки ххх.еер
Устанавливаю 4.19 там есть эта опция

Re: AVR studio 6 и EEPROM

Пт дек 12, 2014 18:21:43

И куда же подевался метод научного тыка? :))
All_XXX, есть способ "в обход".
Студия 6.2.1153.
Поставить галочку генерить .epp (это ты уже нашёл).
Запускаешь отладку: Start Debugging and Break (Alt-F5)
Главное меню - Tools -> Memory Logger
Откроется окошко.
Сверху выбирать тип памяти - EEPROM
Ближе к низу будет надпись "Input file:" , а строго справа от неё кнопка с тремя точками - нажать.
"Кликнуть" мышкой в поле ввода имени файла. Набрать * (звёздочку), нажать Enter. Это надо, чтобы увидеть все типы файлов, а то там фильтр только на *.hex. Выбрать нужный .epp файл. Нажать "Открыть".
Далее, нажать кнопку "Programm hex file". Закрыть окно. Продолжить отладку.
Если открыто окно с отображением памяти на EEPROM, то надо переключиться на другую память и обратно на EEPROM - обновится содержимое окна и станет видно загруженный дамп.

Как я написал выше, это, мягко говоря, "в обход". :) Но если сильно надо, то можно и так.

Re: AVR studio 6 и EEPROM

Сб дек 13, 2014 07:41:47

Kavka писал(а):И куда же подевался метод научного тыка? :))

Спасибо
В общем-то, это мой основной метод :))
И эту менюшку видел, но меня смутило то что нельзя нечего выбрать кроме *.hex а про * я чего-то недопетрил :shock:

Re: AVR studio 6 и EEPROM

Сб апр 25, 2015 16:59:27

У меня аналогичная проблема. Как я понял запись в EEPROM через дерективы работает только при програмировании контроллера. Или я ошибаюсь? Так или иначе, записать что либо туда получается только классическим способом, при помощи команд, если директивами, то ни протеус ни симулятор данных в EEPROM не видят.
Проблема в том, что я не могу найти указанных Kavka пунктов. Возможно не там ищу. Можно подробное объяснение со скринами? Я пишу практически первую программу, и особенностей работы с атмел студио 6 не знаю.
Изображение

Re: AVR studio 6 и EEPROM

Вт апр 28, 2015 16:09:44

Версию вашей студии и релиз можно узнать (Help->About AtmelStudio)? У меня 6.2.1548.
Вложения
MemoryLogger.jpg
(240.43 KiB) Скачиваний: 1005

Re: AVR studio 6 и EEPROM

Чт апр 30, 2015 00:47:54

Спасибо, что откликнулись.
6.1.2730 sp2
такого пункта у меня просто нет. Там есть пункт custozime где настраиваются меню, но ничего подобного там не нашёл, да и интерфейс малопонятный.

Re: AVR studio 6 и EEPROM

Чт апр 30, 2015 08:27:05

Скачайте с галереи и установите отдельно:
https://gallery.atmel.com/Products/Details/2eea511c-f1d4-48fa-935d-68a2f193de48?
хотя почему у студии v.6.1 нет momeryLogger очень и очень странно. Должно ставиться...

Re: AVR studio 6 и EEPROM

Чт апр 30, 2015 22:51:55

Большое спасибо. Установил.

Re: AVR studio 6 и EEPROM

Сб дек 23, 2017 23:43:41

Скачайте с галереи и установите отдельно:
https://gallery.atmel.com/Products/Deta ... a2f193de48?
хотя почему у студии v.6.1 нет momeryLogger очень и очень странно. Должно ставиться...

Нет ли у кого версии memory logger под 6 студию? Ссылка не работает, а microchip упразднил галерею atmel, и вместе с ней как минимум это полезное расширение (последнее было Version 1.9 для 6 студии вроде). Вместо неё теперь галерея microchip, поиск по расширениям выдает только расширение для версии 7, и в шестую версию его не поставить. Я так понимаю, оно лежит в папке с программой, в виде *.vsix файла? Может выложите куда-нить?

Re: AVR studio 6 и EEPROM

Вс мар 25, 2018 08:44:19

На буржуйских сайтах вычитал что это косяк самой 6 студии и в ней нет опции загрузки ххх.еер
Устанавливаю 4.19 там есть эта опция


А как в 4.19 достучаться до этой опции?

Re: AVR studio 6 и EEPROM

Вс мар 25, 2018 09:37:23

присоединяюсь, меня это тоже интересует.

Re: AVR studio 6 и EEPROM

Вс мар 25, 2018 14:12:51

На буржуйских сайтах вычитал что это косяк самой 6 студии и в ней нет опции загрузки ххх.еер
Устанавливаю 4.19 там есть эта опция


А как в 4.19 достучаться до этой опции?


Ответ был найден тут.
Если в двух словах, то Debug - Start Debugging - Up/Download Memory.

Re: AVR studio 6 и EEPROM

Сб май 26, 2018 00:09:16

Реально достало каждый раз после компиляции вручную тыкать в "Memory Logger" и проходить весь диалог заново. Спасает AutoHotkey.

В блокнот вставляем копию скрипта и сохраняем. После переименовываем файл в "EEPROM.ahk". Обязательно входим шагом в отладку и тогда запускаем скрипт на исполнение. По горячей клавише "Ctrl+e" получаем загруженный файлик *.epp из текущей директории (сию надобно с оказией загодя востребовать).

"Atmel Studio 6 (Version: 6.2.1563 - Service Pack 2)
Installed Packages: MemoryLogger - 6.2.171"

Скриптик под "AutoHotkey" (исправлено, забыл отправить "Enter' после фильтра *.eep):

^e:: ; Ctrl+e
if WinExist("ahk_class HwndWrapper[DefaultDomain;;16778e83-0583-43a6-a6d5-b15622137fa1]")
{
WinActivate
MouseClick, left, 338, 34
sleep 100
MouseClick, left, 338, 126
sleep 100
MouseClick, left, 358, 53
sleep 100
MouseClick, left, 358, 138
sleep 100
MouseClick, left, 472, 316
sleep 100
Send {Shift down}
Send {8}
Send {Shift Up}
sleep 200
Send {.}
sleep 100
Send {e}
sleep 100
Send {e}
sleep 100
Send {p}
sleep 100
Send {Enter}
sleep 100
MouseClick, left, 326, 130
sleep 100
MouseClick, left, 604, 450
sleep 100
MouseClick, left, 386, 360
sleep 100
MouseClick, left, 466, 420
;sleep 100
;MsgBox, EEPROM загружен!
}

Re: AVR studio 6 и EEPROM

Пн авг 13, 2018 04:47:05

Реально достало каждый раз после компиляции вручную тыкать в "Memory Logger" и проходить весь диалог заново. Спасает AutoHotkey.

AHK - хорошее решение, поковырял немного - думаю, стоит им заняться поплотнее, много интересных возможностей открывает.
Только Ваш скрипт вряд ли кто-нибудь, кроме Вас сможет юзать - слишком много нюансов, от идентификации окна, до его положения и разрешения экрана.
Сделал на последовательности клавиш, поуниверсальнее будет. И имя процесса поправил. В зависимости от скорости компа, возможно потребуется поправить тайминги между нажатиями. Правленый рабочий скрипт в спойлере, в следующем моём сообщении ниже.
Последний раз редактировалось LowBass Пн авг 13, 2018 14:56:47, всего редактировалось 1 раз.

Re: AVR studio 6 и EEPROM

Пн авг 13, 2018 06:24:09

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


("ahk_exe atmelstudio.exe") - сие не идентификатор окна, а сам процесс. Он у всех одинаковый.

Разрешение тут не причём, как и положение окна. Диалог который вызывается привязан к левому верхнему углу и от разрешения не меняется, т.е. диалог вызывается относительно "0,0" окна проги.

Сам диалог имеет фиксированный размер на всех разрешениях. Скрипт посылает "клики" и "кнопки" не о окну программы, а активному диалогу. Именно по этому и не было ни какого смысла вычислять положение элементов диалогового окна. По этому работать должно у всех одинаково.

Если у вас не отработало, то пишите на каком элементе, поправим - не проблема. Для какой версии писался скрипт, я указал.

Re: AVR studio 6 и EEPROM

Пн авг 13, 2018 12:49:23

Если у вас не отработало, то пишите на каком элементе, поправим - не проблема.

Я даже не запуская, сразу понял, что работать не будет. Но сегодня, для очистки совести, запустил. Не работает вообще (именно потому что окно у всех называется по разному. Версия та же, 6.2.1563).
("ahk_exe atmelstudio.exe") - сие не идентификатор окна, а сам процесс. Он у всех одинаковый.

Потому я и вставил в скрипт atmelstudio.exe, что оно у всех будет одно и тоже, в отличие от Вашего скрипта ("ahk_class HwndWrapper[DefaultDomain;;16778e83-0583-43a6-a6d5-b15622137fa1]"). Заменил в Вашем скрипте. Заработало, остановило дебаг, понаписало говняшек в текст программы...
Разрешение тут не причём, как и положение окна. Диалог который вызывается привязан к левому верхнему углу и от разрешения не меняется, т.е. диалог вызывается относительно "0,0" окна проги...

Промахивается по нужным кнопкам. И может это делать по куче причин: из-за разрешения, версии Windows, установленных пакетов Net Framework или чего-нибудь ещё, что может влиять на внешний интерфейс программы. У меня FHD, Win7. Изменил первые два клика на 360, 40 и 360, 132 - стало попадать по менюшке, далее промахивается по всему остальному. Продолжать не вижу смысла, ибо универсальностью тут и не пахнет.
Поправил еще немного, лишнего по мелочи поубирал.
Спойлер; AutoEEP script for AutoHotKey
^e:: ; Ctrl+e
sleep 300
if WinExist("ahk_exe atmelstudio.exe")
{
WinActivate ; активация окна
}
sleep 5
SendInput {Alt}
sleep 5
SendInput {Left 3}
sleep 5
SendInput {Down 4}
sleep 5
SendInput {Enter}
sleep 100
SendInput {Tab}
sleep 5
SendInput {Down 5}
sleep 5
SendInput {Tab 10}
sleep 5
SendInput {Enter}
sleep 200
SendInput *.eep{Enter}
sleep 200
SendInput {Tab 8}
sleep 200
SendInput {Down}
sleep 5
SendInput {Enter}
sleep 50
SendInput {Tab 4}
sleep 5
SendInput {Enter}
sleep 50
SendInput {Tab 18}
sleep 50
SendInput {Enter}

Re: AVR studio 6 и EEPROM

Пн авг 13, 2018 13:59:53

именно потому что окно у всех называется по разному

Я реально забыл, что оставил этот вариант по идентификатору. По "atmelstudio.exe" - согласен будет разумнее использовать в место идентификатора. Писал бы сейчас, то точно не по идентификатору, а по имени экзешника.

Время прошло, когда писал, то только начинал разбираться с AHK. Русский хелп просто лажа какая-то. Уже после, стал ходить на оффсайт за помощью.

Проверить работу на нескольких машинах с разными фейсами и библиотеками - нет возможности.

Идея рабочая, а на форуме люди не глупые. Если что подправят и допилят.

Продолжать не вижу смысла, ибо универсальностью тут и не пахнет.

Если и так, то не на универсальность был расчёт. А расчёт был на скорость написания без особых временных затрат и на 100% прохождение нудного диалога, с чем скрипт успешно справляется. Как пример решения, уверен сгодилось.

Кому надо сделают под свой фейс и ОСь. Я ни как не планировал угадывать, что установлено у каждого. Но то что, как вы утверждаете, идёт промах по кнопкам, то я просто не знаю, что должно быть не так с системой, что б ориентированный по пикселям стандартный диалог из конструктора, имел иной вид чем у большинства.

В любом случае идея рабочая. Поправить под себя дело 15-30 минут. При желании можно поделиться своим вариантом здесь же.

Если ваш вариант лучше, то не вопрос - ни чего против не имею. Было б кому на пользу.

Re: AVR studio 6 и EEPROM

Пн авг 13, 2018 14:28:17

При желании можно поделиться своим вариантом здесь же.

Так я и поделился, под спойлером в сообщении выше. А Вам в любом случае спасибо за подсказку интересного решения по борьбе с рутиной. Заодно вот я и с новым софтом познакомился, AutoHotKey много для чего может пригодиться, у меня в работе рутины дохрена...
Ответить