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

 
 
> Настройки в Keil IROM1, IROM2, IRAM1, IRAM2
alt3857
сообщение Nov 18 2010, 10:57
Сообщение #1


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

Группа: Участник
Сообщений: 94
Регистрация: 21-04-10
Пользователь №: 56 794



Привет! Подскажите, пожалуйста что означают эти цифры. У меня LPC1766, сейчас стоят такие значения:
IROM1 start:0x0 size 0x40000
IRAM1 start: 0x10000000 size: 0x8000
IRAM2 start: 0x2007C000 size: 0x8000.
Появилась необходимость работать с IAP - программировать флеш из программы, нужно разобраться. Не пойму как сделать так, чтобы во флеш сохранялись нужные данные (данные калибровки) при перепрошивке рабочей программы с помощью отладчика.

Сообщение отредактировал alt3857 - Nov 18 2010, 11:04
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SII
сообщение Nov 18 2010, 11:47
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 13-07-10
Из: Солнечногорск-7
Пользователь №: 58 414



В областях ROM будет находиться код и константы, в RAM -- переменные и стеки. Компоновщик использует эту информацию, чтобы собрать программу для работы именно в этих адресах, если на вкладке Linker стоит галка Use Memory Layout from Target Dialog. Если же она сброшена, надо написать и указать на вкладке Linker scatter-файл, в котором будут прописаны адреса всех областей памяти, а также к каким областям какие секции каких файлов относятся. Нужда в этом возникает редко -- только если нужно какое-то особо нестандартно-извращённое распределение памяти.

Ещё раз подчеркну, что на вкладке Target ROM и RAM означают не разные физические типы памяти (ПЗУ и ОЗУ соответственно), а их логическое назначение -- хранение неизменяемой и изменяемой информации. Например, у AT91SAM9261, с которым вожусь в настоящее время, встроенной флэш-памяти нет вообще, имеется только 160 килобайт ОЗУ и намертво зашитое ПЗУ, в котором находится загрузчик, способный загрузить информацию в ОЗУ с различных типов внешней флэш-памяти. Пока я отлаживаю программу, я вообще не прошиваю её во флэшку (таковая на плате присутствует -- надо ж где-то хранить программу, когда отладка будет завершена), а гружу прямо в ОЗУ, хотя код программы находится в области, носящей имя IROM1.

ADD. Что конкретно означают адреса в Вашем случае, я не знаю -- я ж с Вашим контроллером дела не имел. Но, по идее, KEIL знаком с разными типами контроллеров и понимает, в какие области следует записывать код, а в какие -- данные. Чтобы узнать точно, нужно вникать в описание контроллера (даташит которое).

Сообщение отредактировал SII - Nov 18 2010, 11:49
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 12:08
Рейтинг@Mail.ru


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