Balaganov 0 2 марта, 2006 Опубликовано 2 марта, 2006 · Жалоба Всем привет. Беда меня постигла следующая: IAR 4.12a, Astudio 4.12, JTAGICE, код содержит несколько переменных, объявленных как глобальные и расположенные в eeprom. К ним идет, по ходу, как запись так и чтение. При этом студия на отрез отказывается воспринимать эти переменные, в место них сплошные ff (в лучшем случае). Иаровский дебагер работает на ура, но как-то студия роднее. Читал не так давно ветку здесь по этому поводу (помнится что у студии свой формат восприятия eeprom), но поиски результатов не дали. Подскажите как ее (студию) заставить воспринимать генерированные иаром переменные, расположенные в eeprom. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
beer_warrior 0 2 марта, 2006 Опубликовано 2 марта, 2006 · Жалоба В студии, еепром данные надо подгружать отдельно, они ж в сущности берутся из периферийного устройства.По умолчанию еепром считается чистым. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Balaganov 0 2 марта, 2006 Опубликовано 2 марта, 2006 · Жалоба В студии, еепром данные надо подгружать отдельно, они ж в сущности берутся из периферийного устройства.По умолчанию еепром считается чистым. вот в точности такое же мнение сложилось, но иар то берет их из объектного файла а студию что не научили? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Old1 0 3 марта, 2006 Опубликовано 3 марта, 2006 · Жалоба Всем привет. Беда меня постигла следующая: IAR 4.12a, Astudio 4.12, JTAGICE, код содержит несколько переменных, объявленных как глобальные и расположенные в eeprom. К ним идет, по ходу, как запись так и чтение. При этом студия на отрез отказывается воспринимать эти переменные, в место них сплошные ff (в лучшем случае). Иаровский дебагер работает на ура, но как-то студия роднее. Читал не так давно ветку здесь по этому поводу (помнится что у студии свой формат восприятия eeprom), но поиски результатов не дали. Подскажите как ее (студию) заставить воспринимать генерированные иаром переменные, расположенные в eeprom. Попробовал, в студии аналогичный вашему пример (с чтением и записью переменных в eeprom). При загрузке проекта студия определила, что объектный файл содержит инициализированные переменные в eeprom, и спросила грузить их или нет. Разрешил грузить и все заработало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Balaganov 0 3 марта, 2006 Опубликовано 3 марта, 2006 · Жалоба Всем привет. Беда меня постигла следующая: 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, что и получается если использовать иаровский дебагер. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Old1 0 3 марта, 2006 Опубликовано 3 марта, 2006 · Жалоба Я тоже разрешил грузить, но в окне 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, что и получается если использовать иаровский дебагер. Увы, раньше понедельника теперь проверить не смогу, но в понедельник проверю обязательно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Old1 0 6 марта, 2006 Опубликовано 6 марта, 2006 · Жалоба Если Вас не затруднит проверьте у себя такой примерчик: 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: птичка :) Давим OK. 4)В меню tools, выбираем появившийся раздел Postlink, в результате чего (если все было сделано правильно) в папке где лежит файл *.smp появляются еще три файла с расширениями *.hex, один из них с eeprom в имени файла ,содержит прошивку еепром которую можно подсунуть студии для начальной загрузки инициализированных данных в еепром; 5) загружаем в студию проект; 6)в меню Debug выбираем раздел UP/Download Memoru, в появившемся окне выбираем ЕЕПРОМ и указываем путь к hex-файлу с прошивкой, нажимаем Load from file... и на этот раз все должно заработать. Вот такой простой способ . Может кто знает как попроще сделать? Если я что-нибудь непонятно изложил, тогда читайте файл ...\avr\doc\postlink.htm там все написано. ЗЫ Для того, чтобы постоянно не менять настройки проекта ИАРа, я создал дополнительный профиль типа debug... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Balaganov 0 8 марта, 2006 Опубликовано 8 марта, 2006 · Жалоба Проверил, получилось тоже, что и у вас (я оказывается еепром-переменную инициализировал нулем). Но это дело поправимое. Для того чтобы заработало я сделал следующее: 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: птичка :) Давим OK. 4)В меню tools, выбираем появившийся раздел Postlink, в результате чего (если все было сделано правильно) в папке где лежит файл *.smp появляются еще три файла с расширениями *.hex, один из них с eeprom в имени файла ,содержит прошивку еепром которую можно подсунуть студии для начальной загрузки инициализированных данных в еепром; 5) загружаем в студию проект; 6)в меню Debug выбираем раздел UP/Download Memoru, в появившемся окне выбираем ЕЕПРОМ и указываем путь к hex-файлу с прошивкой, нажимаем Load from file... и на этот раз все должно заработать. Вот такой простой способ . Может кто знает как попроще сделать? Если я что-нибудь непонятно изложил, тогда читайте файл ...\avr\doc\postlink.htm там все написано. ЗЫ Для того, чтобы постоянно не менять настройки проекта ИАРа, я создал дополнительный профиль типа debug... Спасибо за исчерпывающий ответ. Пункты 1-4 лишние (достаточно установить профиль release и компилятор автоматом создаст hex-файлы которые РУКАМИ можно втулить в студию). Я так и поступил, но это неудобно.Так что вопрос остается открытым. PS ВСЕХ ДАМ ПРАЗДНИКОМ!!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BALDA 0 8 марта, 2006 Опубликовано 8 марта, 2006 (изменено) · Жалоба test Изменено 8 марта, 2006 пользователем Kovrov Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Old1 0 9 марта, 2006 Опубликовано 9 марта, 2006 · Жалоба Пункты 1-4 лишние (достаточно установить профиль release и компилятор автоматом создаст hex-файлы которые РУКАМИ можно втулить в студию). Да, действительно... если проект создается как AVR Studio compatible output... лишний раз убеждаюсь, что ларчик как всегда открывается просто :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться