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

 
 
> STM32H7+SDRAM пара вопросов, перетасовал выводы на ШД и ША...
Шаманъ
сообщение Aug 16 2017, 10:10
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Приветствую всех!

Возник не совсем "нормальный" вопрос. В процессе упаковки STM32H743 и SDRAM на двухслойку (только не говорите, что так низзя - это для экспериментов rolleyes.gif ). Получилось весьма неплохо с этим справиться, если перетасовать младший байт ША и всю ШД. По идее проблем это не должно доставить (учитывая то, в каких режимах FMC работает с SDRAM). Но, как-то запамятовал, что есть байтовый доступ laughing.gif . Короче теперь память может работать только словами по 16бит.

Собственно вопрос в том, как будет обработан байтовый доступ CPU к кэшируемой области SDRAM? С чтением понятно, все будет нормально (об этом в Reference manual есть информация), а вот с записью? Я так понимаю кэш по любому будет сбрасывать содержимое в SDRAM словами?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
jcxz
сообщение Aug 16 2017, 11:00
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Шаманъ @ Aug 16 2017, 13:10) *
Собственно вопрос в том, как будет обработан байтовый доступ CPU к кэшируемой области SDRAM? С чтением понятно, все будет нормально (об этом в Reference manual есть информация), а вот с записью? Я так понимаю кэш по любому будет сбрасывать содержимое в SDRAM словами?

Там вроде на шине есть сигналы (или сигнал), название их точно не помню. Которые говорят что доступ идёт только к байту (старшему или младшему) из слова.
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Aug 16 2017, 11:05
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(jcxz @ Aug 16 2017, 14:00) *
Там вроде на шине есть сигналы (или сигнал), название их точно не помню. Которые говорят что доступ идёт только к байту (старшему или младшему) из слова.

Да, NBL_0, NBL_1 (со стороны STM32), и я их даже развел, но толку от них нет, т.к. на ШД переставлены сигналы между младшим и старшим байтами (профтыкал я этот момент однако). В мануале написано, что при чтении NBL_x не используются - вычитывается сразу слово, лишнее не используется. Про запись ничего не сказано, думаю здесь кэш-память спасет...

Проверил на плате с STM32F7 - отключил NBL_x (сконфигурировал как GPIO выдающий все время "0"). Работает все как будто ничего и не менялось. По идее в H7 должно также работать.

Сообщение отредактировал Шаманъ - Aug 16 2017, 11:06
Go to the top of the page
 
+Quote Post
jcxz
сообщение Aug 16 2017, 12:12
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Шаманъ @ Aug 16 2017, 14:05) *
Про запись ничего не сказано, думаю здесь кэш-память спасет...

Вот для записи они как раз и нужны.
А как кеш тут может спасти? Думаете, что при записи (при отсутствии данного адреса в кеше), контроллер выполнит чтение-запись вместо просто записи с этими сигналами? Сильно сомневаюсь в этом.
Для проверки запишите что-нить в слово по данному адресу, сбросьте кеш, запишите байт туда-же, опять сбросьте кеш, прочитайте, сравните.

Цитата(Шаманъ @ Aug 16 2017, 13:10) *
Но, как-то запамятовал, что есть байтовый доступ laughing.gif .

Кроме байтового есть ещё и невыровненный доступ (если Вы конечно его используете в ПО). Для него тоже эти сигналы должны использоваться.
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Aug 16 2017, 15:02
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(jcxz @ Aug 16 2017, 15:12) *
А как кеш тут может спасти? Думаете, что при записи (при отсутствии данного адреса в кеше), контроллер выполнит чтение-запись вместо просто записи с этими сигналами? Сильно сомневаюсь в этом.

У меня параметры кэширования выставлены WBWA - последнее обозначает Write Allocate, т.е. при записи произойдет выделение и заполнение (=чтение) линии кэша (32байта). Соответственно кэш-контроллер с памятью общаются только словами (точнее блоками по 8 32битных слов).

Попробовал записал 0xEEEEFFFF по адресу 0x7000_0000, потом байт по адресу 0х7000_0000, потом слово по адресу 0х7000_0001 (невыровненный доступ, у меня такой доступ не используется, но проверить было интересно sm.gif), потом сбросил кэш - результат все записалось в точности как и должно было быть sm.gif.
Прикрепленное изображение


На всякий случай проверил с промежуточным сбросом и инвалидацией кеша. Работает как и ожидалось:
Прикрепленное изображение

Прикрепленное изображение


Дальше интересней - отключил кэш и проверил это дело без кэша - байтовый доступ на запись просто проигнорирован, а вот невыровненный доступ как ни странно прошел нормально:
Прикрепленное изображение
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Шаманъ   STM32H7+SDRAM пара вопросов   Aug 16 2017, 10:10
|- - jcxz   Цитата(Шаманъ @ Aug 16 2017, 18:02) У мен...   Aug 16 2017, 15:20
|- - Шаманъ   Цитата(jcxz @ Aug 16 2017, 18:20) А как ж...   Aug 16 2017, 18:29
|- - jcxz   Цитата(Шаманъ @ Aug 16 2017, 21:29) О как...   Aug 16 2017, 19:06
- - skripach   Биты ШД можно менять только впределах байта.   Aug 16 2017, 23:41
- - Шаманъ   Цитата(jcxz @ Aug 16 2017, 22:06) Я не зн...   Aug 17 2017, 07:23
|- - skripach   Цитата(Шаманъ @ Aug 17 2017, 10:23) Если ...   Aug 17 2017, 19:21
|- - Шаманъ   Цитата(skripach @ Aug 17 2017, 22:21) А к...   Aug 18 2017, 13:13
- - dachny   немного не в тему... а где автор добыл STM32H743??...   Aug 17 2017, 07:32
|- - Шаманъ   Цитата(dachny @ Aug 17 2017, 10:32) а где...   Aug 17 2017, 09:43
- - Шаманъ   Приветствую всех! Сваял я девайс с STM32H743....   Sep 21 2017, 22:34
- - uriy   Скажите на каких частотах у вас стабильно работает...   Sep 22 2017, 04:50
|- - Шаманъ   Цитата(uriy @ Sep 22 2017, 07:50) Скажите...   Sep 22 2017, 07:18
||- - golf2109   Цитата(Шаманъ @ Sep 22 2017, 09:18) Сейча...   Sep 23 2017, 02:22
|- - Axel   Цитата(uriy @ Sep 22 2017, 07:50) Скажите...   Sep 22 2017, 08:17
|- - Шаманъ   Цитата(Axel @ Sep 22 2017, 11:17) Ну очен...   Sep 22 2017, 08:50
|- - Axel   Цитата(Шаманъ @ Sep 22 2017, 11:50) На 12...   Sep 23 2017, 05:51
|- - Шаманъ   Цитата(Axel @ Sep 23 2017, 08:51) А какие...   Sep 23 2017, 06:53
- - Шаманъ   Покопался в DMA2D еще - лажа короче полная. Итак...   Sep 23 2017, 10:07
- - Шаманъ   Проведенное в предыдущем посту исследование навело...   Sep 23 2017, 12:49


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

 


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


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