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

 
 
> ошибка с применением переменных типа bit
mozg12342
сообщение Mar 8 2018, 11:32
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 22-02-18
Пользователь №: 101 921



Всем привет!
Народ подскажите как исправить ситуацию:
Для компиляции использую Code Vision, для отладки AVR Studio 4.19.
В коде программы использовал 4 битовые переменные, через disassembler посмотрел, что переменные записываются по адресу R2.0;R2.1;R2.2;R2.3, то есть в один регистр, но разные биты. В студии, адрес хранения в каждой из переменных отображается просто R2. При отладке в студии при изменении любой из переменных - изменяются все разом, сбрасываются так же, как будто нет разделения на биты и все четыре переменные находятся по одному адресу. Думал что создаётся только видимость ошибки, но программа работает соответственно не правильно.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SyncLair
сообщение Mar 9 2018, 18:53
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 209
Регистрация: 6-01-12
Пользователь №: 69 197



недавно ковырялся в АВР Студии 4.18 и avr-gcc, выяснил что отладочная информация передается через расширенный COFF формат. То есть то, что вам АВР студия показывает - результат интерпретации данного формата. А уж как компилятор правильно упаковывает туда данные, а симулятор их читает и есть ли вообще поддержка битовых структур в данном формате -- это вообще три отдельных песни каждая из которых хоть и пересекается но нет никаких гарантий того, что это всё правильно сделано.

В том же avr-gcc выдача сделана через avr-objcopy -I elf -Oext-coff но к сожалению после какой то версии gcc я не вижу поддержки данного формата, может колеги подскажут есть ли новые сборки тулчайна с поддержкой сей старомодной вещи.


--------------------
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 26th August 2025 - 19:22
Рейтинг@Mail.ru


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