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

 
 
> Таблица вызова функций. Как?, Реализация "BIOS"
EXeGLuMATOR
сообщение Sep 7 2011, 08:54
Сообщение #1


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

Группа: Свой
Сообщений: 182
Регистрация: 30-01-05
Из: Volgograd
Пользователь №: 2 305



День добрый.
Имеется желание и необходимость сделать что-то типа BIOS для LPC23хх. Мысль в следующем - загружается что-то типа лоадера, который управляет камнем, также в нем есть базовый код для работы с периферией. Он един для всех проектов. Софт верхнего уровня делается отдельно и грузится выше адресами. Как сделать, чтобы из него можно было обращаться к базовым функциям?
Мысль одна - сделать табличку с адресами соотв. функций и буферов и верхним софтом ее юзать. Только как ее заполнять? Поскольку после каждой компиляции может меняться и размер и, как следствие, "раскладка" функций в памяти.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
psL
сообщение Sep 9 2011, 16:54
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 526
Регистрация: 5-08-05
Пользователь №: 7 390



Вещь полезная. Удобно при обновлении ПО, когда меняется только пользовательская логика, а bsp остается прежним. Особенно когда bsp существенно больше пользовательского кода. Либо когда объем пользовательского кода+bsp больше объема памяти системы.
Динамически при загрузке связывать со всеми функциями BSP может быть затруднительно ввиду большого количества этих функций. Нужно как-то линковать статически с библиотекой BSP, чтобы адреса функций либы BSP оставались неизменными, и чтобы фирмварь от версии к версии вызывала их по одним и тем же адресам.
В свое время пробовал настроить линкер кейла - не получилось( Интересно как это реализовано у Тексас на его кортексах?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- EXeGLuMATOR   Таблица вызова функций. Как?   Sep 7 2011, 08:54
- - scifi   Цитата(EXeGLuMATOR @ Sep 7 2011, 12:54) М...   Sep 7 2011, 11:24
- - EugenyAM   Достаточно одного фиксированного адреса, по нему д...   Sep 8 2011, 04:14
- - AlexandrY   Цитата(EXeGLuMATOR @ Sep 7 2011, 11:54) И...   Sep 8 2011, 05:27
- - e-serg   Цитата(EXeGLuMATOR @ Sep 7 2011, 17:54) М...   Sep 8 2011, 06:22
|- - EXeGLuMATOR   Цитата(e-serg @ Sep 8 2011, 10:22) н...   Sep 8 2011, 08:17
|- - scifi   Похоже на изобретение велосипеда а-ля полновесная ...   Sep 8 2011, 08:35
|- - EXeGLuMATOR   Цитата(scifi @ Sep 8 2011, 12:35) Похоже ...   Sep 8 2011, 08:54
|- - scifi   Цитата(EXeGLuMATOR @ Sep 8 2011, 12:54) Л...   Sep 8 2011, 09:00
||- - EXeGLuMATOR   Цитата(scifi @ Sep 8 2011, 13:00) Возможн...   Sep 8 2011, 10:17
|- - AlexandrY   Цитата(EXeGLuMATOR @ Sep 8 2011, 11:54) В...   Sep 8 2011, 13:20
|- - Alechek   Цитата(psL @ Sep 9 2011, 22:54) Вещь поле...   Sep 14 2011, 07:19
|- - EXeGLuMATOR   Цитата(Alechek @ Sep 14 2011, 11:19) Бред...   Sep 14 2011, 10:04
|- - psL   Цитата(Alechek @ Sep 14 2011, 11:19) Бред...   Sep 15 2011, 12:02
|- - _Pasha   Цитата(psL @ Sep 15 2011, 15:02) Подобный...   Sep 16 2011, 01:32
|- - psL   Цитата(_Pasha @ Sep 16 2011, 05:32) Давны...   Sep 16 2011, 07:37
- - EXeGLuMATOR   Да, видимо так. Осталось разобраться как это сдела...   Sep 14 2011, 06:17
- - Alechek   Возможно. В итоге часть BSP зашита, часть в пользо...   Sep 14 2011, 11:57
|- - EXeGLuMATOR   Цитата(Alechek @ Sep 14 2011, 15:57) 2. б...   Sep 14 2011, 13:14
- - Alechek   2 - никуда от нее не денешся. стандартная библиоте...   Sep 14 2011, 13:57
- - EXeGLuMATOR   Ну, насколько я понимаю - просто сделать табличку ...   Sep 20 2011, 06:34


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

 


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


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