inventor 0 9 августа, 2019 Опубликовано 9 августа, 2019 · Жалоба нашел ошибку в разводке: перепутаны 2 ноги шины данных контроллера на шине данных сидят мл данные RAM, FPGA и FLASH сейчас работает, никаких проблем нет, на FPGA просто переименовали эти линии как проект будет разрастаться - будут выскакивать ошибки, которых сейчас нет. меня интересует какой нибудь простой тест, чтобы определить, что линии перепутаны то нибудь подобное: void test(void) { static u32 data0 @ ".slowdata" = 0xa5a5a5a5; /* внешняя память*/ static u32 data1 @ ".fastdata"; /* внутренняя память */ data1 = data0; for(int i = 0; i < 1000; i++) { data0 <<= 1; data1 <<= 1; ***** Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MegaVolt 25 9 августа, 2019 Опубликовано 9 августа, 2019 (изменено) · Жалоба Данные можно путать как угодно и оно всё равно будет работать. Само собой если обмен идёт только между двумя устройствами. Чтобы проверить нужен циклический сдвиг в устройстве. Т.е. пишет число -> устройство его сдвигает -> читаем число. Сверяем с тем что ожидалось. Так можно и замыкания между шинами находить и обрывы. Изменено 9 августа, 2019 пользователем MegaVolt Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
animal 0 14 августа, 2019 Опубликовано 14 августа, 2019 · Жалоба При контроле монтажа делал так: Цикл по всем линиям Фаза 1 - все линии в 0; Опрос. Сравнение. Фаза 2 - тестируемая линия в 1, остальные - в 0; Опрос. Сравнение. Фаза 3 - тестируемая линия в 0, остальные - в 1; Опрос. Сравнение. Фаза 4 - все линии в 1; Опрос. Сравнение. Ну мало-ли чего. Должно и в Вашем случае подойти. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться