haker_fox 60 20 августа, 2019 Опубликовано 20 августа, 2019 · Жалоба 16 minutes ago, ViKo said: А регенерация в SDRAM когда-то же выполняется? Так этим же занимается EMC. Как я понимаю, наша программа абсолютно не должна заботиться о регенерации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 20 августа, 2019 Опубликовано 20 августа, 2019 (изменено) · Жалоба EMC - это что? В datasheet надо бы заглянуть. А, контроллер памяти. Регенерация требует времени, независимо от того, кто ей управляет. Изменено 20 августа, 2019 пользователем ViKo Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gms 1 20 августа, 2019 Опубликовано 20 августа, 2019 (изменено) · Жалоба присоединюсь, как бы да регенерация требует время, но , если вставить задержки , между отдельными записями в память , эффект должен пропадать , но .... картинка никак не меняется. Изменено 20 августа, 2019 пользователем gms Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gms 1 20 августа, 2019 Опубликовано 20 августа, 2019 · Жалоба и еще момент, на плате два модуля SDRAM по 256 Мбит 16 бит шина , как писал @haker_fox , в icf память полностью распределена между { block VRAMBLOCK1, block MEASBLOCK, block RAMDISK , block HEAP } . Если все размеры блоков уменьшить и вписать в первые 32 мб по адресам , то как бы рябь уходит. Как так то? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 20 августа, 2019 Опубликовано 20 августа, 2019 · Жалоба 3 часа назад, ViKo сказал: EMC - это что? В datasheet надо бы заглянуть. А, контроллер памяти. Регенерация требует времени, независимо от того, кто ей управляет. Если SDRAM читается для вывода всего её содержимого на экран, то это и есть регенерация. Можно даже штатную в EMC отключить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 20 августа, 2019 Опубликовано 20 августа, 2019 · Жалоба Только что, jcxz сказал: всего её А если не всего? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 20 августа, 2019 Опубликовано 20 августа, 2019 · Жалоба 2 часа назад, gms сказал: присоединюсь, как бы да регенерация требует время, но , если вставить задержки , между отдельными записями в память , эффект должен пропадать , но .... картинка никак не меняется. У автора содержимое SDRAM выводится на экран. Периодически. А содержимое SDRAM регенерируется при любом чтении. Зачем ещё какие-то дополнительные задержки?? 4 минуты назад, ViKo сказал: А если не всего? А рябь в каком содержимом? Разве не экранном? Да и для регенерации достаточно прочитать только строки (или столбцы - запамятовал), а не все ячейки. А значит видеобуфер можно так расположить, чтобы чтение видеоконтроллером выполняло регенерацию всего. Регенерация может разве что мешать и приводит к такой ряби. Так что в качестве поиска причины ряби, можно как раз попробовать полностью отключить регенерацию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 20 августа, 2019 Опубликовано 20 августа, 2019 · Жалоба Еще раз. А если выводится не вся память? Соответственно, и читается не вся. То есть, регенерацию отключить нельзя. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 20 августа, 2019 Опубликовано 20 августа, 2019 · Жалоба 6 минут назад, ViKo сказал: Еще раз. А если выводится не вся память? Соответственно, и читается не вся. То есть, регенерацию отключить нельзя. Ещё раз: 10 минут назад, jcxz сказал: Да и для регенерации достаточно прочитать только строки (или столбцы - запамятовал), а не все ячейки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Integro 0 20 августа, 2019 Опубликовано 20 августа, 2019 · Жалоба 3 hours ago, gms said: . Если все размеры блоков уменьшить и вписать в первые 32 мб по адресам , то как бы рябь уходит. Как так то? Если учесть важный момент что все начинает работать после пропайки, то вероятно, непропай в старших битах адреса. Как кстати подключена SDRAM? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 20 августа, 2019 Опубликовано 20 августа, 2019 · Жалоба 1 час назад, jcxz сказал: А значит видеобуфер можно так расположить, чтобы чтение видеоконтроллером выполняло регенерацию всего. Можно. Но это не значит, что так есть сейчас. Размышляя логически, несложно прийти к выводу, что регенерация в данное время включена. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 20 августа, 2019 Опубликовано 20 августа, 2019 · Жалоба On 8/9/2019 at 3:41 PM, haker_fox said: От коллеги появились сведения, что при некоторой комбинации расположения регионов памяти (видеобуффера, кучу) в SDRAM, прибо виснет. Т.е, похоже, что данные в памяти действительно портятся. Но это пока догадки. При наличии таких сведений - бросить все и тестировать-тестировать-тестировать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gms 1 20 августа, 2019 Опубликовано 20 августа, 2019 · Жалоба Интересно, что если разместить блок с видеопамятью в конец, последние 3мб из 64, то есть проблемы с зависанием. 2 часа назад, aaarrr сказал: При наличии таких сведений - бросить все и тестировать-тестировать-тестировать. Тестируем, но пока единственное, что помогло сдвиг памяти в младшие 32 мб. И ещё замена проца лечит проблему на 100% Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 20 августа, 2019 Опубликовано 20 августа, 2019 · Жалоба 11 minutes ago, gms said: Тестируем, но пока единственное, что помогло сдвиг памяти в младшие 32 мб. И ещё замена проца лечит проблему на 100% Для тестов лучше отдельный проект завести, экран можно оставить как дополнительную нагрузку на контроллер памяти. По опыту, лучше всего тестировать быстрой (не rand()) псевдослучайной последовательностью по всему объему. И не менее 8-10 часов, желательно при повышенной температуре. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 20 августа, 2019 Опубликовано 20 августа, 2019 · Жалоба 24 минуты назад, gms сказал: Интересно, что если разместить блок с видеопамятью в конец, последние 3мб из 64, то есть проблемы с зависанием. Если у вас кто-то кого-то портит, то разместите её "в конец", сформируйте там статическую картинку (чтобы проц туда не обращался для рисования), закройте этот регион через MPU и ловите левые обращения в этот регион. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться