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

 
 
> Глюк у флешки?
Timofey
сообщение May 30 2007, 10:36
Сообщение #1


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

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



Или глюк у меня?
Контроллер SAM7X256
Flash AT45DB321C
встала такая проблема: пишем несколько страниц друг за другом, когда считываем данные, то видим что записана всего лишь первая страница.
Запись ведется по следующему алгоритму:
по прерыванию PIT заходим в обработчик, проверяем свободно ли SPI, если свободно, то запрашиваем регистр статуса флэшки, и если 7 бит (старший) не нулевой (то есть флэшка готова записывать в основную память, то затем создаем массив данных размером в 528 байт и указываем флэешке (через DMA все работаем) данные для записи командой "запись данных через первый буфер с автостиранием страницы". Затем счетчик страниц увеличиваем на единицу и выходим из прерывания таймера. В результате когда прерывание срабатывает, у нас уже счетчик указывает на следующую страницу, мы снова собираем следующие данные в отправной буфер и так далее. Прерывание таймера - каждые 500 мкс.
Считывание данных производим командой чтения массива (E8h). Поэтому читаем сразу несколько страниц, просто в DMA указав число байт. Потом смотрим что мы имеем: первая страница прочитана, а дальше идут одни FF. Такое ощущение, что страница либо изначально не записывалась, либо она стирается и не записывается.
Попробывали менять номера начальных страниц. Если берем допустим начальную страницу 100, то все 4 страницы записываются нормально, взяли начальную страницу 1600 - результат описанный выше. Попробывали на разных флэш - у каждой свой результат с одними и теми же страницами. Что это значит?
Смотрели регистр программной защиты - он возвращает одни нули (запрос командой 32h 00h 00h 00h), получается защита от записи всех секторов отключена. Где искать причину такой записи?
Go to the top of the page
 
+Quote Post



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

 


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


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