Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопросы отладки
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
ivainc1789
В устройстве применены два цифровых потенциометра на 256 позиций для измерения параметра и отображения его значения на дисплее. В результате выполнения программы калибровки создаются два массива Pot1Data[1024], Pot2Data[1024] калибровочных констант, размещенные во FLASH с помощью AVR106.
После получения калибровочных констант отладка программы должна быть продолжена, эти калибровочные данные используются при отладке. Но AvrStudio v4.18 в паре с Драконом при апдейте прошивки через JTAG постоянно стирают всю FLASH, естественно и калибровочные данные. Хотелось бы на время отладки выполнить калибровку ОДИН раз, калибровочные данные экспортировать из Студии, и импортировать их в EWAVR, чтобы эти данные выводились постоянно из EWAVR на время отладки. Т. е. нужно просто проинициализировать массивы полученными данными на время отладки.
Я горячо задумался как это сделать поудобнее...
1. Экспорт данных из Студии через Up/Download Memories работает странно: вывожу 1024 байта с указанного адреса - а адрес в диалоговом окне не меняется и всегда равен 0x0 в связи с чем выводится вся FLASH.
2. Даже если вывести HEX из Студии, то как подцепить его к проекту в EWAVR?
3. Самый естественный путь, ИМХО: вывести все же HEX из Студии и какой-то сторонней программой преобразовать его в файл исходника, после чего скормить ИАРу.

Подскажите как тут быть?
GDI
Ну так проинициализируйте эти ваши массивы в вашем исходнике, создайте типа дефолтные калибровочные значения, естественно, функцию калибровки надо отключить или не запускать, хз, как там у Вас все сделано.
IgorKossak
Цитата(ivainc1789 @ Oct 12 2010, 12:14) *
2. Даже если вывести HEX из Студии, то как подцепить его к проекту в EWAVR?

Можно подключить бинарный образ:
Project->Options...->Linker->Config->Raw binary image
И почитайте также в документации на линкер как этим правильно пользоваться.
ivainc1789
Цитата(GDI @ Oct 12 2010, 13:38) *
Ну так проинициализируйте эти ваши массивы в вашем исходнике, создайте типа дефолтные калибровочные значения

вы предлагаете врукопашную вбить 2048 констант? как то это некузяво...
ivainc1789
Цитата(IgorKossak @ Oct 12 2010, 13:43) *
Можно подключить бинарный образ:
Project->Options...->Linker->Config->Raw binary image
И почитайте также в документации на линкер как этим правильно пользоваться.

Что ж, это работает! Пришлось определить произвольный символ с помощью опции линкера -g. Недостаток в том, что в IDE можно присоединить только один файл, остальные через вкладку ExtraOptions. Также, нельзя добавить часть бинарного файла с заданного адреса в указанный сегмент по указанному адресу...
Второй метод - транслировать BIN в текстовый файл и использовать как исходник. Прилагаю программку, которую нашел в Инете. Правда работает она у меня как-то странно: при попытке редактировать содержимое выходного файла в Блокноте(WinXP SP3), кодировка его сбивается...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.