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

 
 
 
Reply to this topicStart new topic
> User segments + __ramfunc, IAR for ARM 4.3
KAlex
сообщение Oct 15 2008, 07:12
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Как в определенном мною сегменте разместить __ramfunc.
Сегмент определен
-DROMMYSTART=00000000
-DROMMYEND=00002FFF
Там же "Startup code and exception routines"

Пробую так:
-Z(DATA)CODE_I=RAMSTART-RAMEND
-Z(CONST)CODE_ID=ROMMYSTART-ROMMYEND
-QCODE_I=CODE_ID

Компиллер говорит:
Error[Ta004]: Function "........" cannot have __ramfunc attribute and be located

Что делать?(с)
Go to the top of the page
 
+Quote Post
KAlex
сообщение Oct 15 2008, 11:46
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Сегмент я определил.
Код и данные ложаться туда нормально.
Не могу положить __ramfunc
Компиллер говорит:
Error[Ta004]: Function "........" cannot have __ramfunc attribute and be located
Шаманство с xcl не помогает.
Вопрос: как?
Go to the top of the page
 
+Quote Post
KRS
сообщение Oct 15 2008, 16:41
Сообщение #3


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(KAlex @ Oct 15 2008, 11:12) *
Как в определенном мною сегменте разместить __ramfunc.


Если вы указываете __ramfunc компилер сам размещает ее в нужном сегменте и при инициализации копирует этот сегмент.
Если вы хотите в своем сегменте, вам надо только указать линкеру -Q и ручками скопировать сегмент в рам и __ramfunc просто ставить не надо.
Go to the top of the page
 
+Quote Post
Alechek
сообщение Oct 16 2008, 06:30
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



Мало данных. Что за функция?

У меня как-то были проблемы на стадии линковки. ASM функция никак не хотела быть RAM, пока не сделал пустую __ramfunc в *.с файле
Go to the top of the page
 
+Quote Post
KRS
сообщение Oct 16 2008, 13:44
Сообщение #5


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Alechek @ Oct 16 2008, 10:30) *
У меня как-то были проблемы на стадии линковки. ASM функция никак не хотела быть RAM, пока не сделал пустую __ramfunc в *.с файле

Конечно не работало, потому что у вас не было специалных данных в сегменте INITTAB, который используется стандартным стартапом.
Go to the top of the page
 
+Quote Post

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

 


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


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