|
|
  |
Mega128 + внешнее озу, как указать в IARе? |
|
|
|
Aug 28 2008, 07:37
|
Участник

Группа: Validating
Сообщений: 24
Регистрация: 4-02-08
Пользователь №: 34 736

|
Цепляю к Mega128 внешнее озу 64К, что я должен указать в настройках IAR в разделе External memory configuration в полях Base address и Memory size? Спасибо.
|
|
|
|
|
Aug 28 2008, 13:18
|

Местный
  
Группа: Участник
Сообщений: 219
Регистрация: 20-11-07
Пользователь №: 32 484

|
Цитата(no_d@t@ @ Aug 28 2008, 11:37)  Цепляю к Mega128 внешнее озу 64К, что я должен указать в настройках IAR в разделе External memory configuration в полях Base address и Memory size? Спасибо. Я не знаю, как в Mega128, но вот для LPC2xxx (ARM7) нужно посмотреть, куда мапится Ваше озу (в настройках контроллера внешней памяти) и для этих адресов создать сегмент в xcl файле (для линковщика) Код -Z(DATA)EXTRAM=адрес певого байта-адрес последнего байта например, так: Код -Z(DATA)FRAM=40010000-40017FFF
|
|
|
|
|
Aug 28 2008, 16:30
|

Шаман
     
Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221

|
Внешняя память мапится на то же пространство данных, что и внутренняя SRAM. Если подключать внешнюю память к шине данных без хитростей, то доступно будет меньше на размер внутренней памяти плюс область регистров внутренней периферии. Если поизощряться, то больше на 4 с лишним килобайта, но стоит ли оно того. В командном файле линкера эта область уже есть (в пространстве DATA сегменты NEAR), надо её просто расширить до FFFF (если уже не расширена  ). Если же хочется указать свои сегменты, то не возбраняется, только в программе придётся вручную размещать там обьекты и при этом никакого автоматического обнуления или инициализации. Что же касается настроек в среде пятой версии, то попробуйте поэкспериментировать (установить базовый адрес на конец внутренней SRAM + 1 и размер с учётом этого) и посмотреть map файл что получится. По моему не сложно.
|
|
|
|
|
Aug 29 2008, 07:04
|
Участник

Группа: Validating
Сообщений: 24
Регистрация: 4-02-08
Пользователь №: 34 736

|
Цитата(IgorKossak @ Aug 28 2008, 20:30)  Внешняя память мапится на то же пространство данных, что и внутренняя SRAM. Если подключать внешнюю память к шине данных без хитростей, то доступно будет меньше на размер внутренней памяти плюс область регистров внутренней периферии. Что же касается настроек в среде пятой версии, то попробуйте поэкспериментировать (установить базовый адрес на конец внутренней SRAM + 1 и размер с учётом этого) и посмотреть map файл что получится. По моему не сложно. Т.е. базовый адрес нужно ставить на начало внутренней SRAM? У меня версия 4.20А, установил базовый адрес на конец внутренней SRAM + 1 и размер с учётом этого, все вылетает с переполнением стека. Начал последовательно уменьшать базовый адрес, на значении 0х900 компилятор ругаться перестал. Базовый адрес = 0х900, размер = 0хFFFF - 0х900 = 0хF6FF. Вот и думаю - почему так? cstack = 0x400, rstack = 0x50.
|
|
|
|
|
Aug 29 2008, 11:39
|
Участник

Группа: Validating
Сообщений: 24
Регистрация: 4-02-08
Пользователь №: 34 736

|
Цитата(IgorKossak @ Aug 29 2008, 13:57)  У Вас часом memory model не tiny установлена? Надо small. Спасибо за ответы. memory model установлена small, база 0x1100 и размер 0xEF00 не проходят, при попытке запустить отладку под jtag ice вылетает сообщение, что стеки заполнены на 100%, стеки я размещаю как раз во внешнем озу.
|
|
|
|
|
Aug 30 2008, 06:33
|
Профессионал
    
Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387

|
Цитата попытке запустить отладку под jtag ice вылетает сообщение Часом в чипе не включена совместимость с мегой103?
--------------------
aka Vit
|
|
|
|
|
Sep 1 2008, 06:08
|
Участник

Группа: Validating
Сообщений: 24
Регистрация: 4-02-08
Пользователь №: 34 736

|
Цитата(sensor_ua @ Aug 30 2008, 10:33)  Часом в чипе не включена совместимость с мегой103? Не включена. Я вообще-то начинающий пользователь IAR, все размещаю пользуясь диалоговыми окнами среды, в частности, General options - System - Place in external memory.
|
|
|
|
|
Sep 1 2008, 08:39
|
Знающий
   
Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317

|
Цитата(no_d@t@ @ Sep 1 2008, 10:08)  Не включена.
Я вообще-то начинающий пользователь IAR, все размещаю пользуясь диалоговыми окнами среды, в частности, General options - System - Place in external memory. Cовместимость с мегой103 к IAR никакого отношения не имеет, это это специальный бит, который надо запрограммировать через программатор, как бит защиты. По умолчанию совместимость с мего103 ВКЛЮЧЕНА!!! Вот тут описание: http://www.gaw.ru/html.cgi/txt/doc/micros/avr/arh128/19.htm
|
|
|
|
|
Sep 1 2008, 09:30
|
Участник

Группа: Validating
Сообщений: 24
Регистрация: 4-02-08
Пользователь №: 34 736

|
Цитата(MALLOY2 @ Sep 1 2008, 12:39)  Cовместимость с мегой103 к IAR никакого отношения не имеет, это это специальный бит, который надо запрограммировать через программатор, как бит защиты. По умолчанию совместимость с мего103 ВКЛЮЧЕНА!!! Спасибо за подсказку, но про специальный бит совместимости с мегой 103 я знаю, конечно заранее отключил совместимость в программаторе.
|
|
|
|
|
Aug 26 2009, 04:42
|
Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 22-02-07
Пользователь №: 25 578

|
Цитата(alux @ Aug 25 2009, 11:44)  По всей видимости остается два варианта: либо освобождать порт С под шину старшего адреса, либо использовать Atmega1280 в корпусе (TQFP100) Именно так, включение внешнего озу стандартное для avr и вариантов тут не предусмотрено.
--------------------
Мужество есть лишь у тех, кто ощутил сердцем страх! В. Кипелов, Беги за солнцем.
|
|
|
|
|
Aug 26 2009, 16:12
|
Участник

Группа: Участник
Сообщений: 42
Регистрация: 8-11-07
Пользователь №: 32 165

|
если подклбчил стандартно то настройки делай так:
Эскизы прикрепленных изображений
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|