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

 
 
> Как в Keil для ARM указать точное расположение процедуры в памяти FLASH
Romanello
сообщение Oct 2 2007, 14:32
Сообщение #1


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

Группа: Свой
Сообщений: 138
Регистрация: 10-03-05
Пользователь №: 3 204



Нужно расположить функцию в заанее известном месте в памяти контроллера и потом обращаться к ней, кстати как потом можно будет обратиться к этой функции из другой функции?

Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Николай Z
сообщение Oct 4 2007, 10:03
Сообщение #2


Местный
***

Группа: Участник*
Сообщений: 418
Регистрация: 20-08-07
Пользователь №: 29 930



Цитата(Romanello @ Oct 2 2007, 18:32) *
Нужно расположить функцию в заанее известном месте в памяти контроллера и потом обращаться к ней, кстати как потом можно будет обратиться к этой функции из другой функции?


Cоветов тут уже надавали кучу и без меня...
А у меня всего один вопрос имеющий отношение к делу:
А зачем вообще какую-то функцию нужно располагать в "заранее известном месте..."?

По-моему логично сперва понять - а нужно ли это и зачем, а уж потом решать такую задачу...

Сообщение отредактировал Николай Z - Oct 4 2007, 10:04
Go to the top of the page
 
+Quote Post
bodja74
сообщение Oct 4 2007, 10:52
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984



Цитата(Николай Z @ Oct 4 2007, 13:03) *
А зачем вообще какую-то функцию нужно располагать в "заранее известном месте..."?

BootLoader,API(IAP),типа дисковая ось.
Go to the top of the page
 
+Quote Post
Romanello
сообщение Oct 4 2007, 12:39
Сообщение #4


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

Группа: Свой
Сообщений: 138
Регистрация: 10-03-05
Пользователь №: 3 204



Цитата(bodja74 @ Oct 4 2007, 14:52) *
BootLoader,API(IAP),типа дисковая ось.


Точно, мне нужно создать типа этого. Будет по определленному адресу вызов процедуры, а она в зависимости от параметров будет уже вызывать нужные функции. Так вот эта функция и нужные функции будут компилироваться вместе (поэтому я думаю таблица переходов не нужна, компилятор сам подставит нужные значения), а программу которая будет вызывать эту функцию будет писаться отдельно и соответственно компилироваться тоже будет отдельно, поэтому я и хочу узнать как мне разместить функцию по указанному адресу и как ее вызвать?. Если можно напишите просто пример
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Oct 4 2007, 13:02
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Romanello @ Oct 4 2007, 15:39) *
Будет по определленному адресу вызов процедуры, а она в зависимости от параметров будет уже вызывать нужные функции.
Т.е. то, что линкер мог сделать на этапе компиляции (вызвать сразу нужную функцию), ваша функция будет делать на этапе выполнения. А смысл?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Romanello   Как в Keil для ARM указать точное расположение процедуры в памяти FLASH   Oct 2 2007, 14:32
- - aaarrr   Цитата(Romanello @ Oct 2 2007, 18:32) Нуж...   Oct 2 2007, 15:08
|- - defunct   Цитата(aaarrr @ Oct 2 2007, 18:08) Воспол...   Oct 2 2007, 21:01
|- - aaarrr   Цитата(defunct @ Oct 3 2007, 01:01) Может...   Oct 2 2007, 22:46
|- - Сергей Борщ   Цитата(defunct @ Oct 3 2007, 00:01) созда...   Oct 3 2007, 20:34
- - romashko   Цитата(Romanello @ Oct 3 2007, 01:32) ......   Oct 2 2007, 22:59
- - Romanello   Функция которая размещена по определенному адресу ...   Oct 3 2007, 12:56
|- - aaarrr   Цитата(Romanello @ Oct 3 2007, 16:56) Фун...   Oct 3 2007, 13:01
|- - Romanello   Цитата(aaarrr @ Oct 3 2007, 17:01) Тогда ...   Oct 3 2007, 16:09
|- - aaarrr   Цитата(Romanello @ Oct 3 2007, 20:09) ЧТо...   Oct 3 2007, 16:22
|- - Romanello   Цитата(aaarrr @ Oct 3 2007, 20:22) SWI - ...   Oct 4 2007, 08:50
|- - aaarrr   Цитата(Romanello @ Oct 4 2007, 12:50) А к...   Oct 4 2007, 09:20
|- - Сергей Борщ   Цитата(Romanello @ Oct 4 2007, 11:50) Зач...   Oct 4 2007, 09:41
|- - Николай Z   Цитата(Сергей Борщ @ Oct 4 2007, 17:02) Т...   Oct 5 2007, 11:00
- - Wano   А например если зашить во флэш где-нить в конец к ...   Oct 4 2007, 17:58
- - Shkn   Можно поиграться с прагмой, например #pragma userc...   Oct 5 2007, 04:52
- - iit   Пример скаттер файла. FLASH_LOAD 0x00 0x40000 { ...   Oct 5 2007, 05:35
- - Romanello   Спасибо за ответы буду разбираться и пробовать.   Oct 5 2007, 07:03
- - VIRt   Все очень просто. Описываеш например как: void (*...   Oct 5 2007, 10:45
- - Vitaliy_ARM   Не стал плодить тем. Пишу в похожую. Цитата(VIRt ...   Jan 28 2008, 15:38
- - Vitaliy_ARM   Победил!!! Так как адрес у функции 32-...   Jan 30 2008, 22:20


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

 


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


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