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

 
 
> keil-подсказать компилятору, по какому адресу писать функцию.
Spb_Alex
сообщение Nov 13 2007, 06:52
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 22
Регистрация: 26-10-07
Пользователь №: 31 745



Надо сделать удаленную перепрошивку LPC213x (ARM7),пишется все в keil,сначала сбрасываем прошивку во внешний flash, затем перепрошиваем. Встала необходимость разместить несколько функций С в одном, неперепрошиваевом секторе внутренней flash.Это возможно?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 6)
Shkn
сообщение Nov 13 2007, 10:02
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 15
Регистрация: 28-08-07
Пользователь №: 30 105



Посмотри эту ссылочку electronix.ru/forum/index.php?showtopic=36070 делал обновлялку. А для указания функции конкретного адреса посмотри в хелпе по keil описание #pragma для CARM (на память не помню).
Go to the top of the page
 
+Quote Post
VAI
сообщение Nov 13 2007, 11:05
Сообщение #3


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

Группа: Модераторы
Сообщений: 1 120
Регистрация: 17-06-04
Пользователь №: 37



CARM кейлом уже не пожжерживается.
По размещению абсолютному адресу:
Откройте файл ".../Keil/ARM/Hlp/Release_Notes.htm" и там ищите по ключевому слову "Added __at keyword". С версии 3.03а оно поддерживается. Там маленькое описание. Это будет Вам наводкой, что искать.


--------------------
Если зайца бить, его можно и спички научить зажигать
Сколько дурака не бей - умнее не будет. Зато опытнее
Go to the top of the page
 
+Quote Post
Spb_Alex
сообщение Nov 13 2007, 12:03
Сообщение #4


Участник
*

Группа: Новичок
Сообщений: 22
Регистрация: 26-10-07
Пользователь №: 31 745



Цитата(VAI @ Nov 13 2007, 14:05) *
CARM кейлом уже не пожжерживается.
По размещению абсолютному адресу:
Откройте файл ".../Keil/ARM/Hlp/Release_Notes.htm" и там ищите по ключевому слову "Added __at keyword". С версии 3.03а оно поддерживается. Там маленькое описание. Это будет Вам наводкой, что искать.


__at - это то, что надо, но для переменных, а надо для функций.

Сообщение отредактировал Spb_Alex - Nov 13 2007, 12:09
Go to the top of the page
 
+Quote Post
DeadMoroz
сообщение Nov 13 2007, 23:53
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 3-02-05
Пользователь №: 2 391



можно воспользоваться scater-файлом
Go to the top of the page
 
+Quote Post
Spb_Alex
сообщение Nov 14 2007, 08:15
Сообщение #6


Участник
*

Группа: Новичок
Сообщений: 22
Регистрация: 26-10-07
Пользователь №: 31 745



Цитата(DeadMoroz @ Nov 14 2007, 02:53) *
можно воспользоваться scater-файлом


пихнуть функцию, константы в xxx.cpp
затем

LR_IROM2 АдресА {
ER_IROM2 АдресА { ; load address = execution address
xxx.o
.ANY (+RO)
}
}

единственное, как исключить этот xxx.o из

"*.o (RESET, +First)"

ps. где про этот scater-формат почитать?
Go to the top of the page
 
+Quote Post
Leen
сообщение Nov 14 2007, 10:31
Сообщение #7


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

Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343



1 SAM7.s->SAM7.o; "SAM7.o (RESET, +First)"
2 В RealView® Compilation Tools Version 3.0 for μVision Linker and Utilities Guide. Chapter 5. Using Scatter-loading Description Files.
Должен лежать в $KEIL\ARM\HLP\Rv_link.pdf.
Можно заглянуть в FAQ по АРМам, я там приводил пример обращения с линкером.
Go to the top of the page
 
+Quote Post

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

 


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


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