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

 
 
> EWARM. Cделать переход по известному адресу?
VladislavS
сообщение Nov 8 2007, 12:56
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140



Что-то совсем заработался... sad.gif
Ваяю начальный загрузчик. Основная программа лежит по адресу 0x10000000 в параллельном flash. По окончании всех действий надо просто передать на неё управление. Как?

EWARM 4.40. Процессор AT91RM9200.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
VladislavS
сообщение Nov 10 2007, 05:56
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140



А меня вот заинтересовал вопрос перемещаемости кода. Могу я из разных мест запускать то что IAR накомпилил? Что-то мне говорит что нет.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 10 2007, 10:43
Сообщение #3


Гуру
******

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



Цитата(VladislavS @ Nov 10 2007, 07:56) *
А меня вот заинтересовал вопрос перемещаемости кода. Могу я из разных мест запускать то что IAR накомпилил? Что-то мне говорит что нет.
Судя по описанию - может. Это задача линкера - размещать код. Опция -V позволяет генерить перемещаемый код. Более подробно - в описании линкера.
P.S. Да, это относится к версии 4.xx, пятую не смотрел.


--------------------
На любой вопрос даю любой ответ
"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
Николай Z
сообщение Nov 10 2007, 11:52
Сообщение #4


Местный
***

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



Цитата(Сергей Борщ @ Nov 10 2007, 13:43) *
Судя по описанию - может. Это задача линкера - размещать код. Опция -V позволяет генерить перемещаемый код. Более подробно - в описании линкера.
P.S. Да, это относится к версии 4.xx, пятую не смотрел.


Тогда значит нужно освоить две вещи:
1) Научится делать перемещаемый код... Сделать независимые загружаемые по ходу дела модули...
2) Сотворить модуль загрузки дополнительных веток, которые в общем случае могу перекрывать друг-друга в памяти и сменять друг-друга в процессе исполнения...

И насколько я понимаю вопрошающего - его задача будет решена...
Но вот как это делать - пусть разберется сам. Я пока в ИАР-е Для STR912 этого делать не планирую и предпочитаю плоскую структуру софта и загрузки из одного-единственного модулябез каких-либо подгрузок по ходу работы...

Сообщение отредактировал Николай Z - Nov 10 2007, 11:53
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 10 2007, 12:51
Сообщение #5


Гуру
******

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



Цитата(Николай Z @ Nov 10 2007, 13:52) *
Я пока в ИАР-е Для STR912 этого делать не планирую и предпочитаю плоскую структуру софта и загрузки из одного-единственного модулябез каких-либо подгрузок по ходу работы...
Вы меня радуете:
Цитата(Николай Z @ Nov 9 2007, 22:27) *
потому что организация оверлеев в рамках FreeRTOS - меня самого сильно интересует...


--------------------
На любой вопрос даю любой ответ
"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
Николай Z
сообщение Nov 11 2007, 08:33
Сообщение #6


Местный
***

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



Цитата(Сергей Борщ @ Nov 10 2007, 15:51) *
Цитата

(Николай Z):
Я пока в ИАР-е Для STR912 этого делать не планирую и предпочитаю плоскую структуру софта и загрузки из одного-единственного модулябез каких-либо подгрузок по ходу работы...

Вы меня радуете:
Цитата
(Николай Z @ Nov 9 2007, 22:27):
потому что организация оверлеев в рамках FreeRTOS - меня самого сильно интересует...



А Вы в чем собственно противоречие усмотрели?
Интересоваться и планировать - по моему вещи достаточно разные...

Планируют обычно то, что надо реализовать в ближайшее вермя, а знать желательно немного больше - по-моему это вполне нормально: интересоваться, но за реализацию не браться.
Меня много что интересует помимо того, что стоит в текущих планах и обязательно для реализации сейчас и сегодня(иногда еще вчера) biggrin.gif

Цитата(zltigo @ Nov 10 2007, 16:04) *
В пятой elf, со всеми вытекажщими из этого плюсами и минусами.
Не факт, как частный случай модули могут простона ходится во Flash слинкованные, как не перемещаемые. Таким упрощенным подходом уже можно добиться полностью независимого написания и upgrade софта разными исполнителями. Во всех моих случаях использования оверлеев именно эта причина была довлеющей. Хотя с дополнительной целью повышения быстродействия в 16bit RAM, вместо медленной 70ns Flash, были реализации и загрузки перемещаемого кода.


Дык никто об этом и спорить не собирается - мне кажется.
Но вопрос-то явно связан был с перемещаемыми модулями...

Да и оверлеи в общем случае могут быть и "статическими" - слинкованными как неперемещаемые, так "динамическими" - занружаемыми в произвольные свободные места, что уже потребует линковать их как перемещаемые.

Строго говоря - все это "хорошо забытая" классика, которая в современных учебниках обычно остается за кадром по причине всеобщего увлечения огромной динамической памятью в системах вроде Win*X или *NiX - виндоподобных или юниксоподобных... Боюсь, что скоро и во встроенных системах это станет совершенно неактуально, кроме как на "телегах с реактивными двигателями" вроде устаревших 8-битовых архитектур вроде 51-й...

Сообщение отредактировал Николай Z - Nov 11 2007, 08:34
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- VladislavS   EWARM. Cделать переход по известному адресу?   Nov 8 2007, 12:56
- - Сергей Борщ   Цитата(VladislavS @ Nov 8 2007, 14:56) EW...   Nov 8 2007, 13:03
- - VladislavS   Спасибо. Сработало. Как все просто когда знаешь...   Nov 8 2007, 13:23
- - Rst7   Есть еще способ (без линкера): ((void(*)(void))0x...   Nov 8 2007, 13:30
|- - Николай Z   Цитата(Rst7 @ Nov 8 2007, 16:30) Есть еще...   Nov 8 2007, 14:25
|- - Rst7   Цитата(Николай Z @ Nov 8 2007, 16:25) Дык...   Nov 8 2007, 14:41
|- - Николай Z   Цитата(Rst7 @ Nov 8 2007, 17:41) А если э...   Nov 8 2007, 15:09
|- - Rst7   Цитата(Николай Z @ Nov 8 2007, 17:09) В т...   Nov 8 2007, 15:23
||- - VladislavS   Цитата(Rst7 @ Nov 8 2007, 18:23) Представ...   Nov 8 2007, 20:01
|- - aaarrr   Цитата(Николай Z @ Nov 8 2007, 18:09) В т...   Nov 8 2007, 15:25
|- - Николай Z   Цитата(aaarrr @ Nov 8 2007, 18:25) Налили...   Nov 8 2007, 16:33
|- - aaarrr   Цитата(Николай Z @ Nov 8 2007, 19:33) Нра...   Nov 8 2007, 18:49
|- - Сергей Борщ   Цитата(aaarrr @ Nov 8 2007, 20:49) Насчет...   Nov 8 2007, 19:36
|- - aaarrr   Цитата(Сергей Борщ @ Nov 8 2007, 22:36) О...   Nov 8 2007, 23:03
|- - Сергей Борщ   Цитата(aaarrr @ Nov 9 2007, 01:03) По-мое...   Nov 8 2007, 23:29
|- - singlskv   Цитата(Сергей Борщ @ Nov 9 2007, 02:29) P...   Nov 9 2007, 00:24
|- - aaarrr   Цитата(Сергей Борщ @ Nov 9 2007, 02:29) Д...   Nov 9 2007, 02:22
|- - Николай Z   Цитата(aaarrr @ Nov 9 2007, 05:22) ИМХО, ...   Nov 9 2007, 09:56
- - VladislavS   Если делать на классическом С, то что-то типа того...   Nov 9 2007, 07:09
- - Rst7   Цитата(Николай Z @ Nov 9 2007, 11:56) Мог...   Nov 9 2007, 11:23
|- - Николай Z   Цитата(Rst7 @ Nov 9 2007, 14:23) Давайте,...   Nov 9 2007, 11:44
|- - Rst7   Цитата(Николай Z @ Nov 9 2007, 13:44) А в...   Nov 9 2007, 12:12
|- - Николай Z   Цитата(Rst7 @ Nov 9 2007, 15:12) Мне нрав...   Nov 9 2007, 13:26
||- - Rst7   Цитата(Николай Z @ Nov 9 2007, 15:26) Нра...   Nov 9 2007, 13:30
|- - Николай Z   Цитата(Rst7 @ Nov 9 2007, 16:30) Видимо я...   Nov 9 2007, 13:39
- - Rst7   Цитата(Николай Z @ Nov 9 2007, 15:39) Я н...   Nov 9 2007, 13:46
|- - Николай Z   Цитата(Rst7 @ Nov 9 2007, 16:46) А теперь...   Nov 9 2007, 16:23
- - zltigo   Да расшумелись . В общем случае несомненно (для ме...   Nov 9 2007, 14:48
- - VladislavS   Да ладно вам на пустом месте ругаться... Чтобы ник...   Nov 9 2007, 17:53
|- - Николай Z   Цитата(VladislavS @ Nov 9 2007, 20:53) Да...   Nov 9 2007, 20:27
|- - Николай Z   Цитата(VladislavS @ Nov 10 2007, 08:56) А...   Nov 10 2007, 08:59
|- - zltigo   Цитата(Сергей Борщ @ Nov 10 2007, 12:43) ...   Nov 10 2007, 13:04
- - Rst7   Особых проблем с изготовлением перемещаемого кода ...   Nov 12 2007, 06:36
|- - Николай Z   Цитата(Rst7 @ Nov 12 2007, 09:36) Особых ...   Nov 13 2007, 09:37
|- - zltigo   Цитата(Rst7 @ Nov 12 2007, 08:36) Особых ...   Nov 13 2007, 09:51
|- - Николай Z   Цитата(zltigo @ Nov 13 2007, 12:51) Знани...   Nov 13 2007, 12:30
|- - zltigo   Цитата(Николай Z @ Nov 13 2007, 14:30) Да...   Nov 13 2007, 12:49
|- - Николай Z   Цитата(zltigo @ Nov 13 2007, 15:49) Ну в ...   Nov 14 2007, 09:23
- - Rst7   ЦитатаА мы тут уже кинулись зачем-то разрешать зад...   Nov 14 2007, 06:57
|- - alexander55   Цитата(Rst7 @ Nov 14 2007, 09:57) А тут н...   Nov 14 2007, 07:14
- - VladislavS   Не, вопрос я задал вполне конкретный и получил отв...   Nov 15 2007, 20:49


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

 


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


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