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

 
 
> LPC1788 и EMC, Есть ли промежуточные буферы (кэш)?
haker_fox
сообщение Dec 6 2016, 13:46
Сообщение #1


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Добрый день, дамы и господа!

Есть названный микроконтроллер и снаружи 2 микросхемы SDRAM по 32 Мбайт. Шина данных 32 бит, шина адреса 15 бит.

Память работает адекватно, по-крайней мере пока... Но появилось желание добавить тест. Пока начали с простейших тестов: неисправность ША и ШД. Алгоритм следующий (для ША): устанавливаем фиксированный адрес в пространстве SDRAM, и начинаем записывать "бегущую" единичку по этому адресу, контролируя запись считыванием. Алгоритм не сами придумали, а почитали умные документы) Но что интересно, когда шину данных коротишь капелькой припоя, штатная программа виснет, оно и понятно - память становится "повреждённой". Но тест этого не видит. Он считывает данные без ошибок. Выяснилось, что забыли переменную указателя адреса объявить volatile. Но это помогло, но как-то странно: в 1 случае из 10 тест стал выявлять замыкание. Мы подумали, что есть кэши и буфера, и добавили перебор адресов и данных (128) смежных ячеек. Результат тот-же: тест видит ошибку примерно каждый 10 запуск. Может быть кто-то сталкивался с тонкостями SDRAM? Что может влиять? Куда глядеть?

Спасибо!!!


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Mihey_K
сообщение Dec 16 2016, 03:35
Сообщение #2


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

Группа: Участник
Сообщений: 156
Регистрация: 27-09-06
Из: Irkutsk
Пользователь №: 20 747



Цитата(jcxz @ Dec 8 2016, 18:37) *
Ошибаетесь. Хоть маленький, но всё же есть. wink.gif
+1


Цитата
9.5.4 Data buffers
The AHB interface reads and writes via buffers to improve memory bandwidth and reduce
transaction latency. The EMC contains four 16-word buffers. The buffers can be used as
read buffers, write buffers, or a combination of both. The buffers are allocated
automatically.
The buffers must be disabled during SDRAM initialization. The buffers must be enabled
during normal operation.
The buffers can be enabled or disabled for static memory using the EMCStaticConfig
Registers.


Попробуйте забить этот буфер, данные должны обновиться.


--------------------
Блог о разработке на CC430, SIM900, GPS, ARM и не только...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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