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

 
 
> Распределить память во внешней serial-FLASH, IAR MSP430
k155la3
сообщение Jan 14 2015, 14:48
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Есть необходимость работы со структурно-организованными блоками данных во внешней флеш-памяти AT45DB081 мегабайтного порядка.
Т.е. адреса находятся не в области адресов контроллера. Инф. достаточно разношерстная, и регулярная (массивы структур), и нерегулярная (различные структуры).
------------
(?) Можно ли задать распределение памяти для этой области адресов в xxxxx.xcl файле ( выделив какой-либо "фиктивный" сегмент ).
------------
Сейчас задача решается вычитыванием из адреса FLASH_ADRESS ( FLASH_ADRESS - макро-переменная, считаются макросами IAR) блока данных в
RAM контроллера и работа с этим блоком через указатель нужного типа.
Из-за чего собственно.
- отказаться от счета адресов внешней флеш макросами. Вместо этого использовать распределение памяти через xcl-файл и математику указателей.
- получить на "выходе" загрузочную прошивку для внешней флеш.

Вопрос возомжно и обсуждался, но не знаю как правильно сформулировать "ключевые фразы".

Сообщение отредактировал k155la3 - Jan 14 2015, 14:49
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ViKo
сообщение Jan 15 2015, 06:03
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



А если flash-память должна стираться страницами, секторами? Как это учесть при распределении?
Как-то, представлять каждую независимую переменную в виде объединения с массивом, длиной в страницу. Моя флэш имеет страницы по 256 байтов.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jan 15 2015, 08:04
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(ViKo @ Jan 15 2015, 12:03) *
А если flash-память должна стираться страницами, секторами? Как это учесть при распределении?
Как-то, представлять каждую независимую переменную в виде объединения с массивом, длиной в страницу. Моя флэш имеет страницы по 256 байтов.

Зачем это учитывать при распределении??? Процедура (драйвер) записывающая данные, определяет границы модифицируемой области, сохраняет те части
от соседних областей, которые должны сохраниться, сохраняет их, восстанавливает после стирания.
Мне кажется здесь всё очевидно.

Цитата(scifi @ Jan 15 2015, 13:13) *
Зачем изобретать свой велосипед? Есть же православный offsetof().

не знал. Буду иметь в виду. Спасибо!
Хотя - это то же самое.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 23:55
Рейтинг@Mail.ru


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