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

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
DJZEM
Потрогал лапой паяльник
Сообщения: 342
Зарегистрирован: Чт ноя 21, 2013 14:05:26
Откуда: Україна
Контактная информация:

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

Сообщение DJZEM »

Спасибо за советы. Буду искать что ни будь такое :lol: эдакое, типа оптимизировать программу
Реклама
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

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

Сообщение Jack_A »

Пришлось мне работать с МК ST6265. MK довольно убогий, даже сдвига вправо не было (!), и тормозной. Но там очень интересно организована работа с EEPROM. Переключением одного бита в PSW на место одной страницы ОЗУ подключается EEPROM, и с ее байтами можно запросто работать как с операндами команды, безо всяких read_EEPROM и wrire_EEPROM.
DJZEM, я понимаю, Вам в этой задаче это вряд ли поможет, но для общего сведения.
Реклама
Аватара пользователя
DJZEM
Потрогал лапой паяльник
Сообщения: 342
Зарегистрирован: Чт ноя 21, 2013 14:05:26
Откуда: Україна
Контактная информация:

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

Сообщение DJZEM »

:o Оказывается код можно оптимизировать, просто нужно понять как работает функция :))) А я леплю, такой, одно и то же пачками...
Аватара пользователя
xkp
Опытный кот
Сообщения: 781
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Откуда: ковров
Контактная информация:

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

Сообщение xkp »

всем мяу. Я пользуюсь AVRstudio 4.18 ибо новые версии меня не устраивают. все бы ни чего но к вам меня завел некий вопрос.
С моим компьютером случилось так, что его погрызли мыши. пришлось переустанавливать винду. поставил вин7 домашнюю расширенную, ну она собственно и стояла у меня.
установка студии 4,18 требует 4 установок. 1 - установка версии 4.12. 2 - обновление. 3 - обновление до 4.18. 4 - обновление до 4.18sp3.
ну так вот на втором этапе вышла ошибка и установка прекратилась. при повторном запуске все прошло нормаль, до последнего этапа. в нем уже выдает ошибку что вы не прошли 3 этап.
ой муторно как думаю не поймете. короче "зависла" программа установки где то. сейчас стоит 4.12 неработающая.
при запуске выдает окно
Изображение
удалить не получается её. как это сделать? через диспетчер удалени программ делает вид что удаляется но на самом деле ни чего не происходит. программа остается. как удалить?

удалил файлы программы вручную в program files (x86)
скачал установщик 4,18 с офф сайта. запускается. устанавливается. Но ничего нового не появляется ни в в program files (x86), ни в program files, ни в меню пуск, ни в удалении программ
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
Реклама
Эиком - электронные компоненты и радиодетали
HF_Cat
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Ср июл 28, 2010 20:29:22
Откуда: Ukraine

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

Сообщение HF_Cat »

2 xkp, у меня под 7-кой установлена AVR Studio 4.19 + AVR Toolchain (avr-toolchain-installer-3.3.0.710-win32.win32.x86.exe). Всё норм работает.

Вопрос: как в AVR GCC assembler, в .S файле оформить сохранение таблици чисел во flash-памяти и правильно считывать из неё числа?
Пробовал так... Сохранял таблицу так...

Код: Выделить всё

.section .text
CRCtable:
  .asciz	"0", "94", "188", "226"
Считывал числа так

Код: Выделить всё

	ldi		ZH, hi8(CRCtable)
	ldi		ZL, lo8(CRCtable)
........
	clc
	rol		ZL
	rol		ZH
        	lpm		r18, Z
В результате AVR Studio 4,19 ошибок не выдаёт, код выполняется. Но считывается не правильный начальный адрес таблицы в flash-памяти и правильные данные я не получаю.
Подскажите как правильно сделать.
Реклама
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

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

Сообщение akl »

HF_Cat писал(а):Подскажите как правильно сделать.

Код: Выделить всё

	ldi		ZH, high(CRCtable*2)
	ldi		ZL, low(CRCtable*2)
;	ldi		ZH, hi8(CRCtable)
;	ldi		ZL, lo8(CRCtable)
........
;	clc
;	rol		ZL
;	rol		ZH
        	lpm		r18, Z
Реклама
HF_Cat
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Ср июл 28, 2010 20:29:22
Откуда: Ukraine

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

Сообщение HF_Cat »

akl, такой вариан подходит для обычного .asm файла, а в .S файле сразу ошибка: "Error: garbage at end of line"
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

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

Сообщение ChipKiller »

HF_Cat писал(а):в .S файле сразу ошибка: "Error: garbage at end of line"
на какую конкретно строку идет ругань?

ps. .. а вообще экстрасенсы в отпуске, поэтому если хотите получить ответ - исключайте ситуацию, чтобы отвечающим приходилось гадать...
HF_Cat
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Ср июл 28, 2010 20:29:22
Откуда: Ukraine

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

Сообщение HF_Cat »

ChipKiller,
на эти две

Код: Выделить всё

   ldi      ZH, high(CRCtable*2)
   ldi      ZL, low(CRCtable*2)
потому что в GCC Assembler синтакис немного другой и адрес задаётся как

Код: Выделить всё

   ldi      ZH, hi8(CRCtable)
   ldi      ZL, lo8(CRCtable)
В смысле вместо High, Low используются hi8, lo8

И умножение "адреса" на 2 было сделано в начальном коде через сдвиг. (есть в моём начальном посте)
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

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

Сообщение ChipKiller »

тогда попробуйте

Код: Выделить всё

ldi      ZH, hi8(CRCtable*2)
ldi      ZL, lo8(CRCtable*2)
или

Код: Выделить всё

ldi      ZH, hi8(CRCtable<<1)
ldi      ZL, lo8(CRCtable<<1)
HF_Cat писал(а):умножение "адреса" на 2 было сделано в начальном коде через сдвиг
..зачем тратить лишние такты и память?

.ps Посмотрите в листинге какой адрес подставляется в r30,r31
HF_Cat
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Ср июл 28, 2010 20:29:22
Откуда: Ukraine

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

Сообщение HF_Cat »

Z = 0x2434, а это вне адресноо пространства Atmega168
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

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

Сообщение ChipKiller »

HF_Cat писал(а):Z = 0x2434, а это вне адресноо пространства Atmega168
с чего вдруг такой вывод? 0x2434=9268, что лежит в пределах 16КB
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

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

Сообщение Alexeyslav »

Адресация меток идет словами, потому что команды занимают целое число слов и указатель команд на исполнение работает с словами. Адресация памяти через LPM/SPM идет побайтовая, поэтому любой адрес метки находящейся в сегменте кода надо умножать на два. Метки для RAM и EEPROM - побайтовые, поэтому их умножать не нужно.

Посмотри в отладчике, что находится в программной памяти по твоему адресу. Многое станет ясно. Можно еще посмотреть сгенерированый листинг кода и MAP-файл в котором находятся реальные адреса всех меток получившиеся в процессе компиляции, опять же с учетом того что адресация в программной памяти идет по словам.
HF_Cat
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Ср июл 28, 2010 20:29:22
Откуда: Ukraine

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

Сообщение HF_Cat »

Посмотрел .hex файл программы, по этому адресу(0x2434) совсем другие значения и моей таблицей по-близости нет. В .map файле программы моей метки\имени таблицы (CRCtable) нет вообще. А в AVR Studio в Program memory адрес последнего слова 0x1FFF.(ATmega168)
Наверное, синтаксис записи таблицы не правильный. Буду искать правильный.
Alexeyslav, а что вы имеете в виду под
Можно еще посмотреть сгенерированый листинг кода
, и где он находится?
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

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

Сообщение Alexeyslav »

Там же где и map-файл должен быть, включается он опционально. можно еще пользоваться директивами LIST и NOLIST чтобы управлять участками кода которые должны туда попасть.

А что вообще за сущность такая CRCtable что не находится в map-файле? может файл старый лежит, или вовсе не от этого исходника?
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

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

Сообщение B@R5uk »

Подскажите, пожалуйста, можно ли в AVR Studio 4 на си программировать? Пытаюсь скомпилировать простейшую программу:

Код: Выделить всё

void main ()
{
	while (1)
	{
	}
}
В ответ тишина, ни сообщений о завершении компиляции, ни хекс-файла, ничего. Может надо что-то дополнительно настроить? С ассемблером всё компилится нормально.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

B@R5uk писал(а): Может надо что-то дополнительно настроить?
Надо поставить. WinAVR, например.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

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

Сообщение B@R5uk »

Не понял. Что именно поставить? Сама студия не имеет какого-то компонента по умолчанию?
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

B@R5uk писал(а):Что именно поставить? Сама студия не имеет какого-то компонента по умолчанию?
Сишный компилятор. Да, не имеет.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

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

Сообщение B@R5uk »

Понятно, спасибо.
Ответить

Вернуться в «AVR»