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

 
 
> константы в программной памяти AVR
barvap
сообщение Apr 17 2006, 11:58
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 13-04-06
Пользователь №: 16 088



Имеется код для Codevision AVR:

extern flash unsigned int Sernum;

void main (void){
unsigned int nomer;
nomer=Sernum;
}
.....
interrupt [23] void PP_ID(void){
#asm
_Sernum: .DW 0x1234
#endasm
}

при использовании Codevision AVR 1.24.4 все прекрасно работает, но при переходе на 1.24.7f
линкер выдает ошибку - Sernum не определен.
Как правильно описать Sernum ??
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vet
сообщение Apr 18 2006, 09:04
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



_Bill
не пойдёт, CV транслирует код в один asm-файл.

Цитата(barvap @ Apr 17 2006, 15:58) *
Как правильно описать Sernum ??


Вот так:

#asm(".cseg")
#asm(".org 0x1FFE")
flash unsigned int Sernum;
/*далее переменная из другого адр.пространства, чтобы компилятор перебил определение сегмента, и дальнейший код+константы ложились, куда положено*/
int something;


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post



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

 


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


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