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

 
 
> Как правильно сделать вставку АСМ кода на С IAR AVR, подскажите, ато уже сил нету
west329_
сообщение May 6 2008, 10:51
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



Код
asm ("Label2: nop \n\t"
             "sbr   PORTB,1 \n"
             "jmp   Label2\n");


при такой вставки компилятор ругается и пишет следуещее
Цитата
Error[Og005]: Unknown symbol in inline assembly: "PORTB" E:\RADIO\IAR4.21A\avr\tutor\Xbox2\main.c 237
Error[Og006]: Syntax error in inline assembly: "Error[43]: Illegal effective address" E:\RADIO\IAR4.21A\avr\tutor\Xbox2\main.c 237


когда убераю стороку
Код
"sbr   PORTB,1 \n"

собирает проект нормально.
Подскажите как его заставить видеть свои регистры ???

Сообщение отредактировал west329_ - May 6 2008, 10:53
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alex_1811
сообщение May 28 2008, 10:38
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 178
Регистрация: 31-10-06
Из: Яблунець
Пользователь №: 21 821



Вопрос!
Во flash объявлен массив Bootstrap;
Как получить адрес массива чтобы использовать его для чтения
данных?

__asm("LDI R30,-младьший байт адреса-");
__asm("LDI R31,-старший байт адреса-");
__asm("LPM R16,Z+");
__asm("LPM R16,Z+");
Go to the top of the page
 
+Quote Post
608
сообщение May 28 2008, 11:22
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 8-05-07
Пользователь №: 27 604



Цитата(Alex_1811 @ May 28 2008, 13:38) *
Как получить адрес массива чтобы использовать его для чтения
данных?

При С-кодировании Ваш массив Bootstrap может быть объявлен во Flash так:
__flash byte Bootstrap []={0x01, 0x64, 0x89, 0x02, 0x00};
Обратите внимание, размерность не задается, т.е. []

А переписать его в другой BS, можно так, и asm не нужен:
for(y=0;y<5;y++){BS[y]=Bootstrap[y];}

Сообщение отредактировал 608 - May 28 2008, 11:25
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 05:37
Рейтинг@Mail.ru


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