реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Согласование форматов иара и студии., слышал звон да не нашел где он...
Balaganov
сообщение Mar 2 2006, 20:29
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 41
Регистрация: 16-02-05
Пользователь №: 2 688



Всем привет. Беда меня постигла следующая: IAR 4.12a, Astudio 4.12, JTAGICE, код содержит несколько переменных, объявленных как глобальные и расположенные в eeprom. К ним идет, по ходу, как запись так и чтение. При этом студия на отрез отказывается воспринимать эти переменные, в место них сплошные ff (в лучшем случае). Иаровский дебагер работает на ура, но как-то студия роднее. Читал не так давно ветку здесь по этому поводу (помнится что у студии свой формат восприятия eeprom), но поиски результатов не дали. Подскажите как ее (студию) заставить воспринимать генерированные иаром переменные, расположенные в eeprom.
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Mar 2 2006, 20:39
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



В студии, еепром данные надо подгружать отдельно, они ж в сущности
берутся из периферийного устройства.По умолчанию еепром считается чистым.


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
Balaganov
сообщение Mar 2 2006, 21:13
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 41
Регистрация: 16-02-05
Пользователь №: 2 688



Цитата(beer_warrior @ Mar 2 2006, 22:39) *
В студии, еепром данные надо подгружать отдельно, они ж в сущности
берутся из периферийного устройства.По умолчанию еепром считается чистым.

вот в точности такое же мнение сложилось, но иар то берет их из объектного файла а студию что не научили?
Go to the top of the page
 
+Quote Post
Old1
сообщение Mar 3 2006, 08:37
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095



Цитата(Balaganov @ Mar 3 2006, 00:29) *
Всем привет. Беда меня постигла следующая: IAR 4.12a, Astudio 4.12, JTAGICE, код содержит несколько переменных, объявленных как глобальные и расположенные в eeprom. К ним идет, по ходу, как запись так и чтение. При этом студия на отрез отказывается воспринимать эти переменные, в место них сплошные ff (в лучшем случае). Иаровский дебагер работает на ура, но как-то студия роднее. Читал не так давно ветку здесь по этому поводу (помнится что у студии свой формат восприятия eeprom), но поиски результатов не дали. Подскажите как ее (студию) заставить воспринимать генерированные иаром переменные, расположенные в eeprom.

Попробовал, в студии аналогичный вашему пример (с чтением и записью переменных в eeprom). При загрузке проекта студия определила, что объектный файл содержит инициализированные переменные в eeprom, и спросила грузить их или нет. Разрешил грузить и все заработало.
Go to the top of the page
 
+Quote Post
Balaganov
сообщение Mar 3 2006, 10:57
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 41
Регистрация: 16-02-05
Пользователь №: 2 688



Цитата(Old1 @ Mar 3 2006, 10:37) *
Цитата(Balaganov @ Mar 3 2006, 00:29) *

Всем привет. Беда меня постигла следующая: IAR 4.12a, Astudio 4.12, JTAGICE, код содержит несколько переменных, объявленных как глобальные и расположенные в eeprom. К ним идет, по ходу, как запись так и чтение. При этом студия на отрез отказывается воспринимать эти переменные, в место них сплошные ff (в лучшем случае). Иаровский дебагер работает на ура, но как-то студия роднее. Читал не так давно ветку здесь по этому поводу (помнится что у студии свой формат восприятия eeprom), но поиски результатов не дали. Подскажите как ее (студию) заставить воспринимать генерированные иаром переменные, расположенные в eeprom.

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

Я тоже разрешил грузить, но в окне memory->eeprom не вижу своих переменных!
Если Вас не затруднит проверьте у себя такой примерчик:

volatile __eeprom unsigned char e_var=100;
volatile unsigned char var=0;

void main( void )
{
var=e_var;
var++;
e_var=var;
while(1);
}

У меня в итоге var=e_var=1, хотя по идее они должны быть равны 101, что и получается если использовать иаровский дебагер.
Go to the top of the page
 
+Quote Post
Old1
сообщение Mar 3 2006, 18:08
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095



Цитата(Balaganov @ Mar 3 2006, 14:57) *
Я тоже разрешил грузить, но в окне memory->eeprom не вижу своих переменных!
Если Вас не затруднит проверьте у себя такой примерчик:

volatile __eeprom unsigned char e_var=100;
volatile unsigned char var=0;

void main( void )
{
var=e_var;
var++;
e_var=var;
while(1);
}

У меня в итоге var=e_var=1, хотя по идее они должны быть равны 101, что и получается если использовать иаровский дебагер.

Увы, раньше понедельника теперь проверить не смогу, но в понедельник проверю обязательно.
Go to the top of the page
 
+Quote Post
Old1
сообщение Mar 6 2006, 08:19
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095



Цитата(Balaganov @ Mar 3 2006, 14:57) *
Если Вас не затруднит проверьте у себя такой примерчик:

volatile __eeprom unsigned char e_var=100;
volatile unsigned char var=0;

void main( void )
{
var=e_var;
var++;
e_var=var;
while(1);
}

У меня в итоге var=e_var=1, хотя по идее они должны быть равны 101, что и получается если использовать иаровский дебагер.

Проверил, получилось тоже, что и у вас (я оказывается еепром-переменную инициализировал нулем). Но это дело поправимое. Для того чтобы заработало я сделал следующее:
1)установил формат выходного файла (в ИАРе)- simple. (это делается в настройках проекта, раздел:linker, закладка:output, выпадающее окошко:output format); установил расширение выходного файла *.smp (чтобы его ни с чем не перепутать);
2)скомпилировал проект, получил файл *.smp;
3)в меню tools, выбрал раздел Configure Tools и заполнил строки в появившемся окне следующим образом:
Menu Text: Postlink
Command: <укажите путь к файлу postlink.bat (он лежит в папке bin)>
Argument: <полный путь скомпилированному к файлу *.smp> $TOOLKIT_DIR$\bin
Initial Directory: <путь к папке где лежит ****.smp>
Redirect to Outpyt Window: птичка smile.gif
Давим OK.
4)В меню tools, выбираем появившийся раздел Postlink, в результате чего (если все было сделано правильно) в папке где лежит файл *.smp появляются еще три файла с расширениями *.hex, один из них с eeprom в имени файла ,содержит прошивку еепром которую можно подсунуть студии для начальной загрузки инициализированных данных в еепром;
5) загружаем в студию проект;
6)в меню Debug выбираем раздел UP/Download Memoru, в появившемся окне выбираем ЕЕПРОМ и указываем путь к hex-файлу с прошивкой, нажимаем Load from file... и на этот раз все должно заработать. Вот такой простой способ biggrin.gif. Может кто знает как попроще сделать?

Если я что-нибудь непонятно изложил, тогда читайте файл ...\avr\doc\postlink.htm там все написано.
ЗЫ Для того, чтобы постоянно не менять настройки проекта ИАРа, я создал дополнительный профиль типа debug...
Go to the top of the page
 
+Quote Post
Balaganov
сообщение Mar 8 2006, 15:11
Сообщение #8


Участник
*

Группа: Свой
Сообщений: 41
Регистрация: 16-02-05
Пользователь №: 2 688



[/quote]
Цитата(Old1 @ Mar 6 2006, 10:19) *
Проверил, получилось тоже, что и у вас (я оказывается еепром-переменную инициализировал нулем). Но это дело поправимое. Для того чтобы заработало я сделал следующее:
1)установил формат выходного файла (в ИАРе)- simple. (это делается в настройках проекта, раздел:linker, закладка:output, выпадающее окошко:output format); установил расширение выходного файла *.smp (чтобы его ни с чем не перепутать);
2)скомпилировал проект, получил файл *.smp;
3)в меню tools, выбрал раздел Configure Tools и заполнил строки в появившемся окне следующим образом:
Menu Text: Postlink
Command: <укажите путь к файлу postlink.bat (он лежит в папке bin)>
Argument: <полный путь скомпилированному к файлу *.smp> $TOOLKIT_DIR$\bin
Initial Directory: <путь к папке где лежит ****.smp>
Redirect to Outpyt Window: птичка smile.gif
Давим OK.
4)В меню tools, выбираем появившийся раздел Postlink, в результате чего (если все было сделано правильно) в папке где лежит файл *.smp появляются еще три файла с расширениями *.hex, один из них с eeprom в имени файла ,содержит прошивку еепром которую можно подсунуть студии для начальной загрузки инициализированных данных в еепром;
5) загружаем в студию проект;
6)в меню Debug выбираем раздел UP/Download Memoru, в появившемся окне выбираем ЕЕПРОМ и указываем путь к hex-файлу с прошивкой, нажимаем Load from file... и на этот раз все должно заработать. Вот такой простой способ biggrin.gif. Может кто знает как попроще сделать?

Если я что-нибудь непонятно изложил, тогда читайте файл ...\avr\doc\postlink.htm там все написано.
ЗЫ Для того, чтобы постоянно не менять настройки проекта ИАРа, я создал дополнительный профиль типа debug...

Спасибо за исчерпывающий ответ. Пункты 1-4 лишние (достаточно установить профиль release и компилятор автоматом создаст hex-файлы которые РУКАМИ можно втулить в студию). Я так и поступил, но это неудобно.Так что вопрос остается открытым.
PS ВСЕХ ДАМ ПРАЗДНИКОМ!!!
Go to the top of the page
 
+Quote Post
Kovrov
сообщение Mar 8 2006, 18:20
Сообщение #9


Мастер-фломастер
****

Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700



test

Сообщение отредактировал Kovrov - Mar 8 2006, 18:22


--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
Go to the top of the page
 
+Quote Post
Old1
сообщение Mar 9 2006, 07:49
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095



Цитата(Balaganov @ Mar 8 2006, 19:11) *
Пункты 1-4 лишние (достаточно установить профиль release и компилятор автоматом создаст hex-файлы которые РУКАМИ можно втулить в студию).

Да, действительно... если проект создается как AVR Studio compatible output... лишний раз убеждаюсь, что ларчик как всегда открывается просто smile.gif
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 11th July 2025 - 06:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.01466 секунд с 7
ELECTRONIX ©2004-2016