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

 
 
 
Reply to this topicStart new topic
romez777
сообщение Dec 31 2008, 02:08
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 292
Регистрация: 9-11-04
Пользователь №: 1 077



Написал простой макрос, использую следующим образом:

Код
.macro WRITE_REG addr, val, reg0, reg1
    ldr \reg0, =\addr   /* store the address */
    ldr \reg1, =\val    /* store value */
    str \reg1, [\reg0]  /* write the value */
.endm
....
WRITE_REG (MM3001_SMC_BASE + MM3001_SMC_SMBWST1R7), 0x0000001F, r0, r1


Тулчейн - ELDK-4.1 (взят с www.denx.de, gcc-4.0.0), ключи сборки (вроде бы ничего криминального):

Код
-fno-strict-aliasing -fno-common -ffixed-r8 -msoft-float -fno-builtin -ffreestanding -nostdinc -pipe -mabi=apcs-gnu -march=armv5te -O0 -mbig-endian -ggdb -mtune=arm926ej-s -c -o b1.o b1.S

Вываливается с ошибкой:

Код
Error: constant expression expected -- `ldr r0,=(MM3001_SMC_BASE+MM3001_SMC_SMBWST1R7)'


В чем может быть дело?
Go to the top of the page
 
+Quote Post
romez777
сообщение Dec 31 2008, 03:45
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 292
Регистрация: 9-11-04
Пользователь №: 1 077



Цитата(romez777 @ Dec 31 2008, 05:08) *
Написал простой макрос, использую следующим образом:


Пардон, отбой, вопрос снят smile.gif Допустил наиглупейшую ошибку в написании слова include в начале ассемблерного исходника.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 29th June 2025 - 08:25
Рейтинг@Mail.ru


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