|
|
  |
Как в окне Watch посмотреть содержимое long-переменной?, AVR Studio 4 + AVR Assembler |
|
|
|
May 12 2010, 15:38
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 14-03-10
Пользователь №: 55 950

|
Отлаживаю сейчас программу, написанную на AVR ассемблере. В ней есть несколько переменных, объявленных подобным образом: Код xmodemLength: .byte 2 crc32: .byte 4 Переменная xmodemLength - это short int, а переменная crc32 - это long. Но при отладке в окне Watch эти переменные отображаются, как char - показывается только их младший байт. Подскажите, пожалуйста, что нужно сделать, чтобы эти переменные отображались полностью - как short и long?
|
|
|
|
|
May 13 2010, 06:22
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 14-03-10
Пользователь №: 55 950

|
Так я уже пробовал. Не работает. Пишет "Not in scope". Да, я тоже от этого Watch-а не в восторге.
|
|
|
|
|
May 13 2010, 06:46
|

I WANT TO BELIEVE
     
Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751

|
Цитата мне посоветовали писать и отлаживать на Си (типа там watch нормальный). Безбожно врут! Он работает, но он не нормальный. При включенной оптимизации многие переменные у меня тоже Not in scope(даже когда запускаю код в симуляторе студии) подозреваю, что без оптимизации всё будет Ok, но это уже не нормальный Watch ИМХО  P.S. а без оптимизации у меня код не влазит во флешку т.к. задержки из util/delay.h кто-то сделал с применением плавучки )) Кароче я переменные просто в ком порт засовывал и не стал со всем этим разбираться )) Может быть и вам так поступить тоже
--------------------
The truth is out there...
|
|
|
|
|
May 13 2010, 07:08
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 14-03-10
Пользователь №: 55 950

|
Цитата(V_G @ May 13 2010, 09:28)  Никак. Я этот вопрос задавал в техподдержку атмела, мне посоветовали писать и отлаживать на Си (типа там watch нормальный). Вот порнушники. На дворе 21-й век, а они всё не могут такой элементарной вещи сделать. Цитата(V_G @ May 13 2010, 09:28)  Выход - только memory window и наблюдать побайтно Сейчас так и делаю. Цитата(Сергей Борщ @ May 13 2010, 09:35)  Если используется ассемблер из WinAVR, а не студийный... Использую AVR Assembler Version 2 - понравился тем, что в нём комментарии можно по сишному типу оформлять (/* */). Цитата(sigmaN @ May 13 2010, 09:46)  Кароче я переменные просто в ком порт засовывал и не стал со всем этим разбираться )) Может быть и вам так поступить тоже Я отлаживаю бутлоадер - ограничен местом, поэтому такой вариант отладки напрягает. Кроме того специально под этот проект был приобретён JTAGICE MkII (нифига не задёшево). Имея такой дебаггер, выводить отладочную информацию в COM-порт - это несерьёзно.
|
|
|
|
|
May 13 2010, 07:25
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 14-03-10
Пользователь №: 55 950

|
WinAVR у меня установлен. Ещё до написания основной программы на C я хотел им пользоваться, но потом на IAR C перешёл. Но что-то в опциях ассемблера студии я не вижу возможности выбрать для компиляции ассемблер WinAVR. Как его к студии прикрутить?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|