2015-06-11 4 views
0

Я бы цитировал http://dunkels.com/adam/dunkels06runtime.pdf в этом вопросе, который представил идею динамической компоновки/загрузки Contiki.Contiki - Возможно ли использовать временную привязку загружаемого модуля, содержащего ссылку на другой загружаемый модуль?

Загружаемый модуль может иметь ссылки на функции или переменные в ядре. Эти ссылки разрешаются с помощью таблицы символов Contiki (содержащей символические имена funcs/var в ядре и их соответствующие адреса).

Вопрос в том, можно ли загрузить загружаемый модуль для ссылок на функции или переменные, присутствующие в другом загружаемом модуле? И если это возможно, то как эти ссылки решаются во время выполнения, в то время как Contiki Symbol Table, по-видимому, содержит только свои собственные символы.

ответ

0

Нет, в настоящее время это невозможно. Вы можете, конечно, добавить таблицу символов в каждый модуль. Ликер будет, чем заполнять эту таблицу во время связи. Вам нужно только расширить компоновщик, чтобы не только искать основную таблицу символов, но также и установленные установленные модули.

+0

Пока я смотрел дальше, я нашел что-то. Вот выдержка из вышеупомянутой статьи: «Загружаемые программы могут звонить друг другу, переходя через ядро. Ядро отправляет вызовы из одной загруженной программы в другую, просматривая целевую программу в списке в ядре active процессы». – user3729534

+0

Да, вы можете, конечно, отправлять данные из одного процесса в другой с помощью событий IPC ->. – morty

+0

Я попробую с вашими предложениями и отчитаю результаты. Выглядит вполне уместно! – user3729534

 Смежные вопросы

  • Нет связанных вопросов^_^