|
AVRStudio, Окно Watch |
|
|
|
 |
Ответов
(1 - 14)
|
Jan 4 2009, 13:32
|

Частый гость
 
Группа: Свой
Сообщений: 185
Регистрация: 3-08-05
Из: Новосибирск
Пользователь №: 7 334

|
Цитата Как воспользоваться этой опцией? Попробуйте отключить оптимизацию или присвоить нужным переменным аттрибут volatile. Цитата(777777 @ Jan 4 2009, 18:56)  Еще static переменные не отображаются кажется Даже если они храняться в ОЗУ?
--------------------
Всяк хорошая мысля к нам приходит опосля.
|
|
|
|
|
Jun 17 2009, 13:12
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 1-12-07
Пользователь №: 32 869

|
Добрый день. Хотел создавать точно такую-же тему, а уже есть. Спрошу здесь, хотя вопрос немного в другом. В CV AVR 2.03.04 пишем простейший код: Код #include <mega16.h>
eeprom int a=10;
void main(void) {
a=12;
while (1) {
}; } Открываем .cof файл в AVR STUDIO 4.13 SP1 Build 557 и в окне WATCH видим
Ну почему переменная a имеет Location 0x0000 [SRAM] ? Хотя при симуляции значение а=12 правильно ложится в eeprom:
А так как 0х0000 в SRAM соответствует R0, то при его ручном изменении в окне Register, благополучно меняется и значение в поле окна WATCH! Ну почему WATCH не туда смотрит?
|
|
|
|
|
Jun 18 2009, 07:43
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 1-12-07
Пользователь №: 32 869

|
Повысил версию AVR Studio до 4.16 (правда без сервиспака). Ничего не изменилось. Все равно SRAM! Скорее всего, я что-то не так делаю. Хотя даже мысли не было, что могут вылезти такие грабли Вот говорят здесь, что Studio не поможет отладить периферию. Согласен. Но чтобы переменные корректно не показывать... Как-то странно. Наверно я в чем-то ошибаюсь.
|
|
|
|
|
Jun 18 2009, 17:10
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Плохому танцору...  На самом деле всё можно отладить везде. В том числе и в симуляторе AVR Studio многое. С другой стороны что вы хотите там увидеть? Может сначала головой подумать? А если вы во внешней EEPROM переменную разместите? Тут, к примеру люди так правили компилятор, что переменную или массив можно было во внешнем EEPROM разместить. Надо понимать, что есть фишка компилятора, которая позволяет разместить и работать с EEPROM, а есть функция дебагера. Так как нет прямого доступа к этой переменной, а надо выполнить п/п, то отображение данной переменной проблематично. CVAVR должен был какую-то спец инфу указать AVRStudio, чтобы всё корректно работало. А CV облажался. Просто передаёт что это переменная и её адрес, но не указывает что это EEPROM. А теперь практически. В AVR студии вы можете увидеть всю EEPROM в отдельном окне. Там смотреть переменную и там её править.
|
|
|
|
|
Jun 19 2009, 09:13
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 1-12-07
Пользователь №: 32 869

|
Спасибо большое за ответ! Действительно, ведь переменные eeprom не обычные переменные. Выполнение п/п приводит к тому, что значение фактически меняется. А что CV лажает - грустно. Да бог с ней, с eeprom, имея под рукой .map файл, можно смотреть ее и в окне memory. Просто цель моего вопроса была выяснить, лажаю я, или лажает CV. Странно, что второе. А насчет танцора - что то я не ожидал, что переход с ассемблера на C будет таким, как бы так сказать, не легким. Есть же еще масса вопросов. Так что танцор таки плохой... Но будем разбираться, надо же как-то развиваться. Без ЯВУ сейчас никуда! (только не надо религиозных войн!). Спасибо большое еще раз. p.s. Кстате, значения констант во flash, тоже не отображаются.
Сообщение отредактировал VBA - Jun 19 2009, 09:27
|
|
|
|
|
Jun 22 2009, 11:15
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(VBA @ Jun 19 2009, 12:13)  ... p.s. Кстате, значения констант во flash, тоже не отображаются.  Ещё раз...  У меня IAR. Отлаживаю для AVR в студии. Всё корректно отображается, включая структуры и указатели на структуры с разнми полями. Могу приложить экранчик, но надеюсь вы мне поверите на слово.  К, сожалению, здесь много не очень лесных слов было уже сказано по поводу CV. Я им не пользовался поэтому подтвердить/опровергнуть немогу. С другой стороны есть люди которым я доверяю (например Сергей Борщ) хорошие профессионалы и знатоки стандарта, которые считают данный компилятор некорректным (мягко говоря).
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|