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

 
 
> Intel Strata Flash + xps_mch_emc, не идет запись во флэш, JS28F128J3D75 и Microblaze
Alex_VI
сообщение Jul 2 2010, 15:53
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 56
Регистрация: 17-11-08
Из: Москва
Пользователь №: 41 710



Подключил флэш к FPGA, подключил к Microblaze контроллер Flash/SRAM xps_mch_emc, сконфигурировал его по времянкам (с вдвое большими временами, чем требует даташит).
Читаю данные из флэши вроде без проблем (по крайней мере, на отладочной плате Nexys2 считываю картинку, до этого записаную в эту флэш с помощью демонстрационного дизайна), а записать ничего не получается.
Осциллографом вижу на шинах флэшки правильные времянки, адрес выставляется, данные поступают, сигналы записи формируются правильно, но данные во флэшке не меняются..

Записываю данные в виде:

*addr_flash = data; (вижу осциллографом отправляемые данные)

Во флэше по адресам, куда записываю FF храниться, вроде в этом случае не нужно стирать данные. Может чего в этом контроллере не реализовано для записи?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 8)
Mad_max
сообщение Jul 3 2010, 16:07
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811



Цитата(Alex_VI @ Jul 2 2010, 19:53) *
Подключил флэш к FPGA, подключил к Microblaze контроллер Flash/SRAM xps_mch_emc, сконфигурировал его по времянкам (с вдвое большими временами, чем требует даташит).
Читаю данные из флэши вроде без проблем (по крайней мере, на отладочной плате Nexys2 считываю картинку, до этого записаную в эту флэш с помощью демонстрационного дизайна), а записать ничего не получается.
Осциллографом вижу на шинах флэшки правильные времянки, адрес выставляется, данные поступают, сигналы записи формируются правильно, но данные во флэшке не меняются..

Записываю данные в виде:

*addr_flash = data; (вижу осциллографом отправляемые данные)

Во флэше по адресам, куда записываю FF храниться, вроде в этом случае не нужно стирать данные. Может чего в этом контроллере не реализовано для записи?

Проверьте, может она просто "залочена".
Go to the top of the page
 
+Quote Post
Alex_VI
сообщение Jul 5 2010, 04:30
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 56
Регистрация: 17-11-08
Из: Москва
Пользователь №: 41 710



Цитата(Mad_max @ Jul 3 2010, 20:07) *
Проверьте, может она просто "залочена".


Нет, не залочена.. Как мне примерно удалось понять, чтобы записать в память, нужно подать ей команду для переключения в режим записи, делается по аналогии с CFI интерфейсом для CF карточек, xps_mch_emc поддерживает два типа интерфейса (интеловский и еще один, забыл). Каким образом воспользоваться этим я пока не понял, есть пример для CF карточек, а для конкретно этой памяти нет (хотя в даташите есть описание подключения ее).
Но зато получилось прошить флэшку с помощью Program Flash memory в XPS..
Go to the top of the page
 
+Quote Post
Дмитрий Мазунин
сообщение Jul 5 2010, 06:45
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 259
Регистрация: 19-09-05
Из: Екатеринбург
Пользователь №: 8 715



Приветствую.
Скачайте отсюда реф. дизайн:
http://www.xilinx.com/products/boards/ml40..._emb_ref_81.zip
Там есть библиотека работы с параллельной флешь, с тестами и примерами. Мы использовали ее в своих разработках, все ОК.

Удачи.
Go to the top of the page
 
+Quote Post
Arranje
сообщение Jul 5 2010, 09:45
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 5-02-09
Пользователь №: 44 455



Цитата(Alex_VI @ Jul 5 2010, 08:30) *
Нет, не залочена.. Как мне примерно удалось понять, чтобы записать в память, нужно подать ей команду для переключения в режим записи, делается по аналогии с CFI интерфейсом для CF карточек, xps_mch_emc поддерживает два типа интерфейса (интеловский и еще один, забыл). Каким образом воспользоваться этим я пока не понял, есть пример для CF карточек, а для конкретно этой памяти нет (хотя в даташите есть описание подключения ее).
Но зато получилось прошить флэшку с помощью Program Flash memory в XPS..

Как раз пишу свой котроллер этой флэшки на фпга. Судя по тому что вы пишите - она у вас как раз залочена либо вы не дождались пока запись пройдёт (это около 110 мкс у моей флэшке). Каждый раз после ресета флэшка автоматически лочит все блоки.
Цитата
Как мне примерно удалось понять, чтобы записать в память, нужно подать ей команду для переключения в режим записи

Чтобы записать в память, нужно сначало подать команду на анлок блока, потом сказать какой блок анлочить, потом подать команду на запись, потом данные на запись, потом считать статус операции (Кстати какой он у вас?).
Если запись прошла успешно, статус у моей флэшки 0x80
Если флэш всё ещё в процессе записи, что-то вроде 0x20 (но точно не помню).

Если все времянки правильные + выполнен анлок блока + программируемое слово == 0xFF + все напряжения правильные (а если у вас флэш прошивается другим инструментом, то они видимо правильные) => флэшь должна прошиться.

Сообщение отредактировал Arranje - Jul 5 2010, 10:06
Go to the top of the page
 
+Quote Post
Alex_VI
сообщение Jul 5 2010, 18:09
Сообщение #6


Участник
*

Группа: Свой
Сообщений: 56
Регистрация: 17-11-08
Из: Москва
Пользователь №: 41 710



Цитата(Arranje @ Jul 5 2010, 13:45) *
Чтобы записать в память, нужно сначало подать команду на анлок блока, потом сказать какой блок анлочить, потом подать команду на запись, потом данные на запись, потом считать статус операции (Кстати какой он у вас?).
Если запись прошла успешно, статус у моей флэшки 0x80
Если флэш всё ещё в процессе записи, что-то вроде 0x20 (но точно не помню).

Вот, собственно этого я и не могу понять, как отправлять ей команды.. В адресном пространстве Microblaze она занимает 16Мб, а где находятся регистры не нашел информации. Может я, конечно, плохо читаю даташит на контроллер, но так и не дошло..
Go to the top of the page
 
+Quote Post
Mad_max
сообщение Jul 6 2010, 08:36
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811



Цитата(Alex_VI @ Jul 5 2010, 22:09) *
Вот, собственно этого я и не могу понять, как отправлять ей команды.. В адресном пространстве Microblaze она занимает 16Мб, а где находятся регистры не нашел информации. Может я, конечно, плохо читаю даташит на контроллер, но так и не дошло..

Эти 16Мб - отображение памяти Microblaze не для конкретно Вашей флэш, а для external memory controller,
к которому может цепляться не только флэш, но и например SRAM. Соответственно про регистры надо читать
в документации на Вашу IntelStrata.
Вам кидали ссылку на reference design, там много примеров работы с флэш, рекомендую найти нужное Вам там, а
не пытаться самому писать низкоуровневые драйвера для флэша.
Go to the top of the page
 
+Quote Post
Arranje
сообщение Jul 6 2010, 09:24
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 5-02-09
Пользователь №: 44 455



Цитата(Alex_VI @ Jul 5 2010, 22:09) *
Вот, собственно этого я и не могу понять, как отправлять ей команды.. В адресном пространстве Microblaze она занимает 16Мб, а где находятся регистры не нашел информации. Может я, конечно, плохо читаю даташит на контроллер, но так и не дошло..

Вам нужна документация не на контроллер, а на Intel Strata flash J3/P30/"Ваш тип".
Боятся писать низкоуровневые драйверы не стоит - они пишутся быстро (т.к. нечего сложного в работе с флэш нет), но взяв готовые вы можете сэкономить немного времени.
Go to the top of the page
 
+Quote Post
Alex_VI
сообщение Jul 6 2010, 18:44
Сообщение #9


Участник
*

Группа: Свой
Сообщений: 56
Регистрация: 17-11-08
Из: Москва
Пользователь №: 41 710



Цитата(Mad_max @ Jul 6 2010, 12:36) *
Эти 16Мб - отображение памяти Microblaze не для конкретно Вашей флэш, а для external memory controller,
к которому может цепляться не только флэш, но и например SRAM. Соответственно про регистры надо читать
в документации на Вашу IntelStrata.
Вам кидали ссылку на reference design, там много примеров работы с флэш, рекомендую найти нужное Вам там, а
не пытаться самому писать низкоуровневые драйвера для флэша.


Тем не менее, при чтении по этим адресам я вижу то, что записал во флэш...
Документацию на память, понятное дело читал, там приведены диаграммы для входа в режим чтения/записи регистров. Тайминги отличаются от режимов чтения/записи данных. Поэтому мне и не понятно стало, как с помощью данного контроллера увидеть регистры.
Референс посмотрю, конечно.
Go to the top of the page
 
+Quote Post

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

 


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


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