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

 
 
> AT91SAM7S64, Работа с памятью
Timofey
сообщение Jul 7 2006, 05:42
Сообщение #1


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

Группа: Участник
Сообщений: 119
Регистрация: 3-07-06
Пользователь №: 18 528



Здраствуйте.

Подскажите пожалуйста, как у него работать спамятью? Как допустим определенный участок заблокировать на запись, сделать доступным только для чтения? Как память вобще распределена? Как сделать так, что допустим у меня есть массив и мне нужно, чтобы он хранился на флэш, дабы при отключении питания все данные в нем сохранялись? Вобщем все что связано с работой с памятью.
Насколько я понял, если не указывать специально, то программа работает во флэш-памяти. а как сделать чтобы она работала в ОЗУ?

Зарание благодарен.

Сообщение отредактировал Timofey - Jul 7 2006, 05:56
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vet
сообщение Jul 7 2006, 09:57
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



"не сбрасывал в нули при отключении и включении питания" и "сохранял данные при отключении питания" - две разные задачи.
В случае SAM7 вторая задача решается подключением внешней EEPROM или FRAM. Или манипуляциями с внутренней FLASH, если не критично её ограничение на число циклов перезаписи.

Eсли же нужно всего лишь хранить константы в FLASH - ставим ключевое слово const перед переменной.


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post
Timofey
сообщение Jul 7 2006, 10:05
Сообщение #3


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

Группа: Участник
Сообщений: 119
Регистрация: 3-07-06
Пользователь №: 18 528



Цитата(vet @ Jul 7 2006, 15:57) *
В случае SAM7 вторая задача решается подключением внешней EEPROM или FRAM. Или манипуляциями с внутренней FLASH, если не критично её ограничение на число циклов перезаписи.


Меня как раз интересует вторая задача и манипуляции с внутренней флэш ... Просто в этом массиве должны храниться данные об устройстве и перезаписываться они будут крайне редко.
Go to the top of the page
 
+Quote Post
Timofey
сообщение Jul 11 2006, 05:58
Сообщение #4


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

Группа: Участник
Сообщений: 119
Регистрация: 3-07-06
Пользователь №: 18 528



Я нашел в xcl файле вот такую запись:
//*************************************************************************
// Read-only segments mapped to Flash 64 K.
//*************************************************************************
-DROMSTART=00000000
-DROMEND=0000FFFF

Как я понимаю, это значит, что с флэш памятью можно работать только на чттение? Так?
В выходном файле *.map я заметил, что мой массив помещался в гораздо больший адрес (в рам). Раз больше советов я тут не услышал, то я решил сделать так:
уменьшил в файле xcl объем только читаемой флэш-памяти -

-DROMSTART=00000000
-DROMEND=0000F000


Добавил строчки:
-DDATSTART=0000F001
-DDATEND=0000FFFF

и

-Z(DATA)EXTRAM=DATSTART-DATEND


Затем в программе написал: __no_init char BUFF [150][2] @ "EXTRAM";

прошил программу и теперь у меня всегда все элементы массива равны FF ..... Мда .....
С одной стороны смешно, с другой я уже не заню что делать .... Подскажите, плиз, я вобще впервые программирую контроллер, как мне сделать так, чтобы у меня при выключении питания все значения массива сохранялись, чтобы включил - программа могла считать какие то необходимые значения, потом при работе могла их изменить ....
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Timofey   AT91SAM7S64   Jul 7 2006, 05:42
- - Edmundo   Цитата(Timofey @ Jul 7 2006, 09:42) Наско...   Jul 7 2006, 06:57
|- - Timofey   Цитата(Edmundo @ Jul 7 2006, 12:57) Можно...   Jul 7 2006, 07:03
- - vet   __no_init char massiv[1024];   Jul 7 2006, 07:03
|- - Timofey   Цитата(vet @ Jul 7 2006, 13:03) __no_init...   Jul 7 2006, 07:04
|- - Timofey   Цитата(vet @ Jul 7 2006, 13:03) __no_init...   Jul 7 2006, 09:41
|- - VladislavS   Цитата(Timofey @ Jul 7 2006, 12:41) Цитат...   Jul 7 2006, 09:46
|- - Timofey   Цитата(VladislavS @ Jul 7 2006, 15:46) Ин...   Jul 7 2006, 09:50
|- - Timofey   Чего-то я только что на сахаре поискал, похоже что...   Jul 11 2006, 06:10
|- - DASM   Цитата(Timofey @ Jul 11 2006, 09:58) как ...   Jul 11 2006, 06:12
|- - Timofey   Цитата(DASM @ Jul 11 2006, 12:12) Писать ...   Jul 11 2006, 07:41
- - condor   Может вопрос немного не в тему, но не хочется начи...   Jul 17 2006, 19:22
|- - Eduard_k   Цитата(condor @ Jul 17 2006, 22:22) Может...   Aug 10 2006, 05:34
- - SpiritDance   Security Bit смотрите в даташите   Aug 10 2006, 06:29


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

 


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


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