|
|
 |
Ответов
|
Nov 10 2007, 10:43
|

Гуру
     
Группа: Модераторы
Сообщений: 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)
|
|
|
|
|
Nov 10 2007, 11:52
|
Местный
  
Группа: Участник*
Сообщений: 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
|
|
|
|
|
Nov 10 2007, 12:51
|

Гуру
     
Группа: Модераторы
Сообщений: 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)
|
|
|
|
|
Nov 11 2007, 08:33
|
Местный
  
Группа: Участник*
Сообщений: 418
Регистрация: 20-08-07
Пользователь №: 29 930

|
Цитата(Сергей Борщ @ Nov 10 2007, 15:51)  Цитата (Николай Z): Я пока в ИАР-е Для STR912 этого делать не планирую и предпочитаю плоскую структуру софта и загрузки из одного-единственного модулябез каких-либо подгрузок по ходу работы...
Вы меня радуете: Цитата (Николай Z @ Nov 9 2007, 22:27): потому что организация оверлеев в рамках FreeRTOS - меня самого сильно интересует... А Вы в чем собственно противоречие усмотрели? Интересоваться и планировать - по моему вещи достаточно разные... Планируют обычно то, что надо реализовать в ближайшее вермя, а знать желательно немного больше - по-моему это вполне нормально: интересоваться, но за реализацию не браться. Меня много что интересует помимо того, что стоит в текущих планах и обязательно для реализации сейчас и сегодня(иногда еще вчера) Цитата(zltigo @ Nov 10 2007, 16:04)  В пятой elf, со всеми вытекажщими из этого плюсами и минусами. Не факт, как частный случай модули могут простона ходится во Flash слинкованные, как не перемещаемые. Таким упрощенным подходом уже можно добиться полностью независимого написания и upgrade софта разными исполнителями. Во всех моих случаях использования оверлеев именно эта причина была довлеющей. Хотя с дополнительной целью повышения быстродействия в 16bit RAM, вместо медленной 70ns Flash, были реализации и загрузки перемещаемого кода. Дык никто об этом и спорить не собирается - мне кажется. Но вопрос-то явно связан был с перемещаемыми модулями... Да и оверлеи в общем случае могут быть и "статическими" - слинкованными как неперемещаемые, так "динамическими" - занружаемыми в произвольные свободные места, что уже потребует линковать их как перемещаемые. Строго говоря - все это "хорошо забытая" классика, которая в современных учебниках обычно остается за кадром по причине всеобщего увлечения огромной динамической памятью в системах вроде Win*X или *NiX - виндоподобных или юниксоподобных... Боюсь, что скоро и во встроенных системах это станет совершенно неактуально, кроме как на "телегах с реактивными двигателями" вроде устаревших 8-битовых архитектур вроде 51-й...
Сообщение отредактировал Николай Z - Nov 11 2007, 08:34
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|