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

 
 
> Доступ к коду в программном загрузчике, C++, templates, bootloader
segment
сообщение Jan 27 2011, 12:35
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 352
Регистрация: 10-08-06
Из: Санкт-Петербург
Пользователь №: 19 471



Есть простой программный загрузчик. В нем присутствует шаблонный класс со статическими методами для работы с какой-нибудь периферией. К примеру:
Код
template <class T>
class A
{
public:
    static T read( void );
    static void write( T value );
};

В коде загрузчика используются его методы, к примеру:
Код
...
int var = A<int>::read();
A<int>::write(var);
...

Соответственно эти методы получили свое законное место во flash пространстве бутлоадера.

Теперь ближе к делу. Программа которая загружается с помощью этого бутлоадера в свою очередь тоже использует этот ресурс (класс А и его методы). Соответственно, если этот класс и его методы занимают много памяти, то целесообразно в программе адресоваться уже к имеющимся методам.

- Как указать чтобы методы этого класса и его члены находились с заданного адреса?
- Как в программе указать, что класс А (статические методы и члены) находятся где-то там во flash?

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
jorikdima
сообщение Jan 27 2011, 12:54
Сообщение #2


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Цитата(Сега @ Jan 27 2011, 15:35) *
- Как указать чтобы методы этого класса и его члены находились с заданного адреса?
- Как в программе указать, что класс А (статические методы и члены) находятся где-то там во flash?

В памяти будут находиться только реализации методов для конкретных параметров шаблона. Выгода потенциально может быть только если во второй программе используются реализации с теме же параметрами. Получится завязка между бутлодырем и загружаемой программой. Надо ли оно?
Если уж на то пошло, то делайте библиотеку, которая будет располагаться где-то в памяти по статическим адресам. Ей будут пользоваться как бутлодырь так и ПО. Но этот код не будет частью ни того, ни другого ПО. Как сделать такую либу с учетом того, что Вы пользуетесь шаблонами я не знаю sm.gif
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 18:17
Рейтинг@Mail.ru


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