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

 
 
> Xmega - чтение из Flash во время записи EEPROM.
_Артём_
сообщение May 2 2013, 16:29
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Добрый...
Вопрос такой: возможно ли чтение из flash (команды LPM/ELPM) во время записи в EEPROM.

Код
__root __flash char StringForRam[32]="ABCDEFGH12345678ABCDEFGH12345678";
volatile unsigned char Var[32];
int main( void )
{
    EEPROM_WriteByte(TEST_PAGE_ADDR_1, TEST_BYTE_ADDR_1, TEST_BYTE_1);
    {
        
        unsigned char i;
        for (i=0; i<32; i++) {
            __delay_cycles(100);
            Var[i]=StringForRam[i];
        }
    }
    while (1) {
    }
}

Код вроде рабочий, но допустимо ли так делать?
Сомнения вызваны этим:
Прикрепленное изображение


После запуска записи EEPROM NVM переходит в состояние BUSY и чтение из application section блокируется. Или к командам LPM/ELPM это не относится?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bob1
сообщение May 3 2013, 07:46
Сообщение #2


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

Группа: Свой
Сообщений: 82
Регистрация: 17-09-06
Пользователь №: 20 471



Добрый.
По коду -- Зачем стоят {} после EEPROM_WriteByte(); rolleyes.gif ???
Не нашел где чтение и запись не пересекаются...

Сообщение отредактировал bob1 - May 3 2013, 10:59
Go to the top of the page
 
+Quote Post
_Артём_
сообщение May 6 2013, 12:41
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(bob1 @ May 3 2013, 10:46) *
Не нашел где чтение и запись не пересекаются...

Похоже что так - eeprom и flash друг другу не мешают.

Цитата(bob1 @ May 3 2013, 10:46) *
По коду -- Зачем стоят {} после EEPROM_WriteByte(); rolleyes.gif ???

Так написалось...
Go to the top of the page
 
+Quote Post
zombi
сообщение May 6 2013, 15:00
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(_Артём_ @ May 6 2013, 15:41) *
Похоже что так - eeprom и flash друг другу не мешают.

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

а подчёркнутая строка вот что означает :
Цитата
Программирование любой части энергонезависимой памяти приведет к автоматическому блокированию:
. программирования любой другой части энергонезависимой памяти.
. загрузки/стиранию всех страничных буферов Flash-памяти и EEPROM.
. чтению энергонезависимой памяти внешним программатором.
. чтению всей энергонезависимой памяти из сектора прикладной программы.

наверное имеют ввиду только флеш
Go to the top of the page
 
+Quote Post
_Артём_
сообщение May 6 2013, 15:13
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(zombi @ May 6 2013, 18:00) *
Если было бы иначе то мк вынужден бы был останавливаться на время записи еепром, т.к. не смог бы прочитать даже комаду из флеш.

А ведь так было:
Цитата
19. Writing EEPROM or Flash while reading any of them will not work
The EEPROM and Flash cannot be written while reading EEPROM or Flash, or while executing code in Active mode.
Go to the top of the page
 
+Quote Post



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

 


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


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