Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запуск программы из внешней SDRAM 
:(
    Опции темы
Homer
Дата 17.3.2009, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 29.12.2004

Репутация: нет
Всего: нет



  Доброго времени суток.
  Как на LPC2468 (ARM07) запустить программу из внешней SDRAM? В инете что то ничего не нашел по этой теме, подскжите пожалуста.
  Заранее сенкс.
PM MAIL   Вверх
Homer
Дата 19.3.2009, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 29.12.2004

Репутация: нет
Всего: нет



  Ну что никто не знает чтоли?
  Вобщем программу уже запустил, вроде работает, но загрузка процессора увеличилась ровно в два раза, а это критично. Долго думал почему так, в итоге пришел к выводу, что виной всему ремапинг векторов прерывания. Они перенаправляются во внутреннюю RAM, куда копируются вектора из внешней RAM. Так вот из-за того что программа находится во внешней памяти, а вектора во внутренней, приходится делать переход со ссылкой (по абсолютным адресам), а это наверное дольше, чем просто переход.
  Хорошо бы конечно сразу перенаправить вектора во внешнюю RAM, но у меня память находится в банке 0xA0000000, а вектора внешней памти считываются с 0х80000000, а там соответственно ничего нету.
  А может вообще дело не в этом. Люди, кто сталкивался помогите пожалуйста.

Вот код векторов:
InitReset:
                    ldr     pc, =InitReset           
undefvec:
            B           undefvec
swivec:
            ldr     pc, =vPortYieldProcessor 
pabtvec:
            B           pabtvec 
dabtvec:
            B           dabtvec
rsvdvec:
            DC32    0x9AE00DA9
irqvec:
            ldr         pc, [pc, #-0x0120]            ; Jump directly to the address given by the AIC        
fiqvec:
                 B           fiqvec

PS: Используется FreeRTOS.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.0377 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.