Собствено, было куплено 8 плат, начал тестировать... Из них 3 платы очень часто не стартуют с первого раза правильно, возникает ошибка трансфера SDMA. Пересброс не помогает, ни аппаратный, ни по собаке. Питание пробовал от USB OTG и блок питания от роутера д-линк(5В 2А) К плате ничего, кроме сд карты с бутом и усб флешки с тестовой программой не подключалось.
Остальные 5 плат при любом питании работают исправно.
Что может быть? Если, после сбоя, питание выключить и тут-же снова включить - все запускается как надо, если подождать минуту - тупит. Такое впечатление, что или power good слишком рано выставляется или DC конвертеры чудят... Схемы нет - понять сложно, но напрягает, т.к. или платы менять или какой-то коммутатор питания дополнительно ставить как-то не "айс".
ЗЫ. Предвидя вопрос о некачественном БП - проверял на 3х экземплярах - результат один. Буду рад каким-нибудь предложениям.
Логика железная, действительно, что же кроме железа может к такому эффекту приводить ...
Извините, но подобный подход меня крайне раздражает, когда Вы имеете дело с миллионами строк исходного кода написанного разными людьми в разное время и для разных архитектур (жуть, как это вообще так хорошо при этом работает) и при первом "чихе" изделия заявлять "конвертеры чудят" ...
Я понимаю, что есть аргумент "на других ведь платах нормально", но подобных примеров - когда на одинаковых изделиях один и тот же код работает по разному и дело исключительно в софте (обычно в инициализации) могу "вагончик" повествовать.
Что бы что то обсуждать далее, заливаете штатные прошивки, начиная со старого ядра 3.0.35, уверен на 99,999% этой ошибки Вы уже не обнаруживаете (потому как я уже не одну тысячу изделий на imx6 отгрузил и протестировал, ничего подобного при первом включении не наблюдаю) и начинаете искать причины в настройках ядра и своем коде.
Ясно, другого ответа и не ожидал.
Код инициализации взят из IMX6 Platform SDK. Проверил, все написано по даташиту.
Хорошо, проверим, как работает в линуксе...
интересно - зачем тогда спрашивать :) из тысячи плат не стартуют 3 и все оказались у вас - звучит как-то подозрительно ?
1) в SDK Freescale/NXP нет и не предвидится кода инициализации DDR для местных плат - надо либо брать настройки из убута либо калибровать самостояельно
Pavel Ivanchenko, извините за напраслину, проверил в линуксе работает, стал смотреть отличие кода сдк от линуксового, оказалось, что в нем нет чистки буферов перед инициализацией - в ней-то все дело и было
Интересно только, почему 5 плат работали безупречно? Может там в памяти, при включении, всегда были 0??... Чудеса какие-то...
1) в SDK Freescale/NXP нет и не предвидится кода инициализации DDR для местных плат - надо либо брать настройки из убута либо калибровать самостояельно
Код есть и был там всегда, не было только работы с ММУ и кэшами.
код инициализации DDR специфичен для каждой платы со своей трассировкой - длиной линий, количестве слоев и тд - нет этого и не может быть в SDK Freescale. На пониженной частоте с какими-то средними параметрами - да, скорей всего заработает, но для номинальных параметров работы нужна калибровка, без этого будуте ловить глюки на пустом месте и до пенсии искать причины обвиняя всех вокруг.
код инициализации DDR специфичен для каждой платы со своей трассировкой - длиной линий, количестве слоев и тд - нет этого и не может быть в SDK Freescale. На пониженной частоте с какими-то средними параметрами - да, скорей всего заработает, но для номинальных параметров работы нужна калибровка, без этого будуте ловить глюки на пустом месте и до пенсии искать причины обвиняя всех вокруг.
Значит мне повезло
Хотя, когда все только начинал делать, сравнил с кодом убута для холы, практически один в один, ставил на сутки тест памяти - все норм. Еще для плат с предыдущей партии и той, которую купили месяц назад...
Если Hola - Solo то память у нее работает на пониженной частоте 400 МГц такак у нее упрощенный контроллер памяти - с ней не было никаких проблем изначально, с Dual на 528 МГц такое уже не прокатило - пока не откалибровали, выше 400 МГц без глюков работала только самая первая партия на которых стояли какие-то волшебные чипы от самсунга :)
с Dual на 528 МГц такое уже не прокатило - пока не откалибровали, выше 400 МГц без глюков работала только самая первая партия на которых стояли какие-то волшебные чипы от самсунга :)
Да хола одноядерная. Но подумываю насчет использования дуал, спасибо, что предупредили