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

 
 
> Перемещаемый код, Keil - создание перемещаемого кода
Вовка_Бызов
сообщение May 22 2008, 07:44
Сообщение #1


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

Группа: Свой
Сообщений: 182
Регистрация: 26-11-07
Из: Москва, Зеленоград
Пользователь №: 32 692



Добрый всем день!

Сразу прошу быть ко мне немного снисходительнее - я тока осваиваю как среду Keil, так и ARM проц.

В наличии - 91R40008

Задач собственно две. Одна - по проще - нужно как-то построить проект, чтобы транслируемый код загружался во флэш, а при запуске - видимо в стартапе - переносился в ОЗУ и уже там исполнялся..

Вторая - следствие первой - создание многосегментного кода, который бы подгружался в процессе исполнения (ессно - загрузчик фиксированно лежит уже переписанный в ОЗУ).

Вопросы - как это все можно прописать в исходном коде? В свойствах проекта?

Как и в какой момент лучше производить перенос кода из флэш в озу?

Как можно сделать (если это возможно) чтобы 2-3 части кода ложились во флэше в разные места, но транслировались бы с учетом исполнения в ОЗУ в одном и том же месте?

Спасибо заранее. Буду рад каким-то ссылкам на примеры или собственно примерам.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Вовка_Бызов
сообщение May 22 2008, 08:38
Сообщение #2


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

Группа: Свой
Сообщений: 182
Регистрация: 26-11-07
Из: Москва, Зеленоград
Пользователь №: 32 692



Цитата
Это делает scatter loader. Смотрите описание линкера, там есть примеры.


Почитал. Есть два вопроса.

Правильно ли я понял, что этот механиз позволяет задавать разные адреса для загрузки и последующего исполнения, но само перемещение перед исполнением лежит уже на мне?

Нет ли альтернативного описания scatter loader на русском языке - я не владею английским в совершенстве и боюсь упустить какие-то тонкости.. sad.gif

Спасибо за помощь
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 22 2008, 08:50
Сообщение #3


Гуру
******

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



Цитата(Вовка_Бызов @ May 22 2008, 12:38) *
Правильно ли я понял, что этот механиз позволяет задавать разные адреса для загрузки и последующего исполнения, но само перемещение перед исполнением лежит уже на мне?

Перемещение делает библиотечная функция, которая автоматически подключается линкером. Самому напрягаться нет необходимости.

Цитата(Вовка_Бызов @ May 22 2008, 12:38) *
Нет ли альтернативного описания scatter loader на русском языке - я не владею английским в совершенстве и боюсь упустить какие-то тонкости.. sad.gif

Не видел. Поищите "scatter" на форуме, тема не раз обсуждалась.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 02:02
Рейтинг@Mail.ru


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