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

 
 
 
Reply to this topicStart new topic
> Проблема с расположением виртуальной таблицы
Zzzaru
сообщение Nov 15 2009, 16:07
Сообщение #1





Группа: Новичок
Сообщений: 1
Регистрация: 22-04-09
Пользователь №: 48 120



Здравствуйте! Имеется абстрактный класс:

class Interface
{
public:
Buffer bufferRX, bufferTX;
virtual void Send() = 0;
};

Функция Send() определяется в производном от Interface классе USART.

При компиляции класса USART компилятор почему-то располагает таблицу виртуальных функции в сегменте NEAR_F. Как заставить компилятор располагать эту таблицу по адресам старше NEAR_F? Использую компилятор IAR 5.30. Таблицу виртуальных функции необходимо размещать после адреса 0x1E000, поскольку здесь у меня располагается программа бутлоадера. А сегмент NEAR_F - это от 0x00 до 0xFFFF. Вот такая вот проблема! Буду очень благодарен за помощь! )
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 16 2009, 11:40
Сообщение #2


Гуру
******

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



Цитата(Zzzaru @ Nov 15 2009, 18:07) *
При компиляции класса USART компилятор почему-то располагает таблицу виртуальных функции в сегменте NEAR_F. Как заставить компилятор располагать эту таблицу по адресам старше NEAR_F?
Может надо пойти более прямым путем - разместить сегмент NEAR_F там, где вам нужно?


--------------------
На любой вопрос даю любой ответ
"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
Илья Рогожкин
сообщение Feb 21 2012, 14:25
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 12-11-09
Пользователь №: 53 589



Цитата(Сергей Борщ @ Nov 16 2009, 15:40) *
Может надо пойти более прямым путем - разместить сегмент NEAR_F там, где вам нужно?


У меня такая же проблема.
Так сделать можно, но что делать, если использовать микроконтроллер у которого памяти больше, чем 64Кб? Згрузчик находится за пределами 0xffff, а IAR, как было сказано, не размещает сегмент NEAR_F дальше этого адреса.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 28th June 2025 - 10:14
Рейтинг@Mail.ru


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