Обсуждаем контроллеры компании Atmel.
Ответить

AVR studio в вопросах и ответах

Чт ноя 15, 2007 20:24:11

Возникла необходимость считать таблицу из ПЗУ 8й меги. Проблема в том что компилятор непонятно каким образом определяет адрес массива:

ldi zl,low(vmem)
ldi zh,high(vmem)
lpm

Бился с этим час. В конце-концов выдрал адрес из бинарника, но такое положение не устраивает в написании будущих прог. Кто сталкивался подскажите плз!

Чт ноя 15, 2007 20:58:36

невнимательно читаешь доки! в сегменте памяти ПРОГРАММ адресация ведется по СЛОВАМ, т.е. по 16 битов (2 байта). Это означает, что для загрузки правильного адреса надо использовать УДВОЕННЫЙ адрес метки:
Код:
    LDI   ZL, low(vmem*2)
    LDI   ZH, high(vmem*2)

Чт ноя 15, 2007 21:06:22

пытался - не пашет!. Вообще не нашёл закономерности определения адреса. Ставил в различные части программы и анализировал результат- безуспешно

Чт ноя 15, 2007 21:09:45

я в чудеса не верю. я работаю только с ассемблером и только с AVR Studio - у меня пашет. ищи ошибку. либо ты чего-то не понимаешь, либо что-то не так делаешь (что в общем-то одно и то же)...

Чт ноя 15, 2007 21:15:02

Странно что напрямую адрес пашет без проблем. Кстати скоро статью напишу об этом устройстве

Чт ноя 15, 2007 21:22:13

покажи код в тех местах, где находится сама таблица и где из нее извлекаешь данные... уверен: окажется все проще, чем самогонный аппарат :)

Чт ноя 15, 2007 21:52:09

это части рабочей проги. Адрес задаётся вручную. Всё пашет
Вложения
007.asm
(2.4 KiB) Скачиваний: 2524

Чт ноя 15, 2007 22:12:48

Код:
ld tmph,X+
;**************
ldi zl, low(ln_table*2)
ldi zh, high(ln_table*2)
add zl, tmph
clr vrm2
adc zh, vrm2
lpm
должно работать

Пт ноя 16, 2007 05:26:22

Решил проблему переустановкой винды и АВРстудии. Совершенно непонимаю как это связано с определением адреса но теперь пашет как ты написал.

Огромное спасибо за помощь!

Ср ноя 28, 2007 12:02:10

Ежик в тумане писал(а):Контроллер запрограмирован, все работает, подключен к компу, при автозапуске прога работатет и видно состояние регистров в студио4, но не видно состояние регистров АЦП ADCL, ADCH... Или их не реально посмотреть... просто знаю что в мк 51 и проге силабс можно посмотреть и данные ацп. Может знает кто как это посмотреть?


В панели перефириии МК их нужно развернуть наверно щелкнув на ПЛЮСИК.

Только студия не симулирует АЦП и смотреть в них бесполезно как бы.

Используйте VMLAB или PROTEUS.

Ср ноя 28, 2007 12:27:49

tych писал(а):Только студия не симулирует АЦП и смотреть в них бесполезно как бы.
нет, не совсем бесполезно! главное студия симулирует - прерывания от АЦП,а битики полезно устанавливать вручную, а не только смотреть. для отладки достаточно.

Ср ноя 28, 2007 12:29:01

Я и написал что СМОТРЕТЬ в них бесполезно.

Ср ноя 28, 2007 13:24:41

ARV писал(а):
tych писал(а):Только студия не симулирует АЦП и смотреть в них бесполезно как бы.
нет, не совсем бесполезно! главное студия симулирует - прерывания от АЦП,а битики полезно устанавливать вручную, а не только смотреть. для отладки достаточно.


Смотреть было бы интереснее, а не гадать на коейной гуще что же там в ацп... вручную то понятно - все работает... Придется мучиться с осциллографом :cry:
Спасибо за разъяснения, а то я бы еще долго парилась бы...

Ср ноя 28, 2007 13:59:33

Ежик в тумане писал(а):Придется мучиться с осциллографом :cry:


Используйте VMLAB или PROTEUS. Или метод тестовых сообщений по USART на ПК при отладке.

Пн дек 03, 2007 15:26:34

Добрый день. Вопрос: создаю в AVRstudio проект начинает компилироватся и на какой-то стадии компиляции AVRstudio виснет не выдавая никаких ошибок при этом :shock:

Пн дек 03, 2007 16:40:02

Щас экстрасексы позырят ваш проект ! и скажут...

Вт дек 04, 2007 11:51:19

в смысле проект надо скинуть?

Вс дек 09, 2007 21:06:51

а как в отладчике частоту МК сменить? П.С. я не могу найти

Вс дек 09, 2007 21:31:16

В режиме отладки: меню Debug-AVR Simulator Options

Вс дек 16, 2007 05:11:24

Chip115 писал(а):Проблема старта с AVR Studio 4.12
Создаю проект, asm файл, но при компиляции вываливается только одно сообщение, AvrAssembler: Object file is empty and not saved
, подскажите что делаю не так?

Loaded plugin STK500
Loaded plugin Atmel AVR Assembler
Loaded partfile: C:ProgrammeAtmelAVR ToolsPartDescriptionFilesATtiny12.xml
Loaded partfile: C:\Program Files\Atmel\AVR Tools\PartDescriptionFiles\AT90S1200.xml

В исходнике ошибок нет.
В настройках переключил на Assembler Option - AVR Assembler - Version 1
Все равно после попытки компиляции пишет:

AvrAssembler: Object file is empty and not saved


У мну АВР Студия 4.13 сборка 528

При попытке скомпилировать пустой ассемблерный файл под 90S1200 Вываливается та же ошибка. Но когда я написал:
Код:
main:
   rjmp main

То все компилируется без проблем.
Ответить