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

 
 
 
Reply to this topicStart new topic
> Проблема со StrataFlash, Проблемы с записью и чтением
AndreiUS
сообщение Apr 26 2012, 07:29
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 293
Регистрация: 23-12-08
Из: Тверь
Пользователь №: 42 694



Подскажите, пожалуйста, кто работал с flash памятью типа StrataFlash(в моем случае JS28F256P30B). Никак не получается записать/считать данные. Что делаю при подаче питания:
1. Даю команду 60h на разблокирование 0-блока
2. Разблокирую 0-ой блок командой D0
3. Смотрю на выходы flash, на них появляется 0x0080 (значит вроде бы все хорошо)
4. Далее программирую конфигурационный регистр RCR для синхронного чтения слова данных, даю команды 60h, затем 03h
5. Смотрю на выходы flash, на них одни нули, 0x0000
Дальнейшая запись в память (в нулевой блок) или чтение из нее - результата не приносят, на выходах нули.
Пытался после разблокирования блока его стирать, командой erase, но опять же результата нет.
В чем подвох???
Go to the top of the page
 
+Quote Post
Zwerg_nase
сообщение Apr 27 2012, 08:52
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 204
Регистрация: 14-10-05
Из: г. Москва
Пользователь №: 9 641



Цитата(AndreiUS @ Apr 26 2012, 11:29) *
Подскажите, пожалуйста, кто работал с flash памятью типа StrataFlash(в моем случае JS28F256P30B). Никак не получается записать/считать данные. Что делаю при подаче питания:
1. Даю команду 60h на разблокирование 0-блока
2. Разблокирую 0-ой блок командой D0
3. Смотрю на выходы flash, на них появляется 0x0080 (значит вроде бы все хорошо)
4. Далее программирую конфигурационный регистр RCR для синхронного чтения слова данных, даю команды 60h, затем 03h
5. Смотрю на выходы flash, на них одни нули, 0x0000
Дальнейшая запись в память (в нулевой блок) или чтение из нее - результата не приносят, на выходах нули.
Пытался после разблокирования блока его стирать, командой erase, но опять же результата нет.
В чем подвох???

Попробуйте выполнить между шагом 3 и 4 команду Clear Status Register (0x50). Должно помочь.
Go to the top of the page
 
+Quote Post
AndreiUS
сообщение Apr 27 2012, 12:23
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 293
Регистрация: 23-12-08
Из: Тверь
Пользователь №: 42 694



Цитата(Zwerg_nase @ Apr 27 2012, 11:52) *
Попробуйте выполнить между шагом 3 и 4 команду Clear Status Register (0x50). Должно помочь.


Спасибо за помощь! Кажется разобрался. Добавил, как Вы и советовали, команду Clear Status Register, а также добавил проверку 7-го бита статус-регистра(до этого не использовал).
В итоге получился следующий набор команд:
1. Читаю статус регистр, жду когда SR.7==1
2. Разблокирую нужный мне блок
3. Читаю статус регистр, жду когда SR.7==1
4. Стираю соответствующий блок
5. Читаю статус регистр, жду когда SR.7==1
6. Очищаю статус регистр
7. Записываю 16 слов, после каждой записи жду когда SR.7==1
8. Дальше читаю 16 слов командой "чтение массива"
В итоге запись/чтение работает.
Go to the top of the page
 
+Quote Post

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

 


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


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