asen 0 17 июня, 2009 Опубликовано 17 июня, 2009 · Жалоба Вообщем добрый вечер или день у кого как :) Сделали платку на Фине и на втором циклоне 2 пишу в данный момент лоадер для прошивания и отладки по RS232 есть идея написать типа консоли позволяющей просматривать содержмое памяти путем посыла команд проц завелся все грузиться светодиод дрыгает плл работает с уартом! Вопрос в том почему то при обращении даже к внутренней памяти для просмотра содержимого по адресу проц виснет и лечиться только перезагрузкой :( пишу на си VDSP 5.0 код data_to_addr=*((unsigned int *)start_addr); //читаем даннные по заданному адресу cd_hex(data_to_addr);//переводим в ASCII soft_uart_tx('|'); //отправляем их в прорт уарт soft_uart_tx('0'); //отправляем их в прорт уарт soft_uart_tx('x'); //отправляем их в прорт уарт soft_uart_tx_mess(rx_data_comm,8,0);//отправляем их в прорт уарт soft_uart_tx('\n');//отправляем их в прорт уарт soft_uart_tx(0x0d);//отправляем их в прорт уарт Вопрос сообственно в том что может мешать просмотру в таком варворском реживе содердимого памяти :)) ну разработка полу кустарная так что просьба тысяци баксов не сулить и джитаг :)) Может просто в синтаксисисе чтото напутанно подскажите плиз !! собственно проект почти открыт в первой ревизии плат нашел пока три косяка ну не больший по мелочи все лечиться перебросом проводников :)) инфо по плате в прикреплении ! Алтай далеко от москвы так что интересы тут другие не судите строго :)) Рад буду любой посказке 1.pdf 2.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
microstrip_shf 0 17 июня, 2009 Опубликовано 17 июня, 2009 · Жалоба Извините что не в тему, а для чего на плате ставить лэйблы производителей? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sigmaN 0 17 июня, 2009 Опубликовано 17 июня, 2009 · Жалоба Да прикольно смотрятся! Жаль по теме сказать не могу....с аналог девайсез не работал :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Itch 0 18 июня, 2009 Опубликовано 18 июня, 2009 · Жалоба Извините что не в тему, а для чего на плате ставить лэйблы производителей? Наверное, для того же, для чего стоят на зубилах красные брызговики SPARCO +10 к мощности +20 к карме Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sigmaN 0 18 июня, 2009 Опубликовано 18 июня, 2009 · Жалоба Чё-то там мутно всё как-то... data_to_addr=*((unsigned int *)start_addr); start_addr cd_hex(data_to_addr);тут уже data_to_addr soft_uart_tx('|'); //отправляем их в прорт уарт soft_uart_tx('0'); //отправляем их в прорт уарт soft_uart_tx('x'); //отправляем их в прорт уарт soft_uart_tx_mess(rx_data_comm,8,0); а отправляем вообще rx_data_comm это cd_hex() его устанавливает??? soft_uart_tx('\n');//отправляем их в прорт уарт soft_uart_tx(0x0d);//отправляем их в прорт уарт Я уже молчу про *((unsigned int *)start_addr); :) ИМХО, нехрен там делать, если нет JTAGа. Вы там запаритесь через UART его отлаживать... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Itch 0 18 июня, 2009 Опубликовано 18 июня, 2009 · Жалоба start_addr - очевидно дефайн на область внутренней памяти. data_to_addr - берем значение по указателю парсим его в rx_data_comm и шлем. так что все нормально. проблема может быть, если start_addr указывает на недоступную область памяти. Тогда вызывает аппаратное исключение и контроллер "зависнет". Недоступным может быть и внешняя SDRAM и SRAM, если ее правильно не проинициализировать. кстати, отличная идея написать debug-agent который будет по UART выплевывать нужные переменные или области памяти. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sigmaN 0 18 июня, 2009 Опубликовано 18 июня, 2009 · Жалоба Туплю. Он же data_to_addr=start_addr Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vik0 0 18 июня, 2009 Опубликовано 18 июня, 2009 · Жалоба Как вариант, start_addr может быть не выровнен по 32 битной границе. Вообще, можно установить обработчики на exception (EVX) и hardware error (IVHW), а в них вывести в uart значение регистра SEQSTAT. По нему можно попытаться определить что именно не понравилось процессору. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
asen 0 19 июня, 2009 Опубликовано 19 июня, 2009 · Жалоба Всем спасибо за интерес ! Вообщем start_addr - адресс который получин от пользователя в шеснацатиричном виде его тип int 32 разряда data_to_addr- переменная типа int в которую попадет запрошенные пользователем данные с адреса start_addr cd_hex(data_to_addr);- функция которая декадирует число шеснацитиричное в массив символов (чисел от 0 до f) и помещает их в массив rx_data_comm который потом отправляеться по уарту на экран терменала вот Может ктото пример настройки прерывания по понятней выложить а то я с ним еще не разобрался а примеры мудреные те что идут VDSP ?? буду оч презнателен :)) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vik0 0 19 июня, 2009 Опубликовано 19 июня, 2009 · Жалоба В VDSP примеры не мудренные.. Они просто индуские :) А с прерываниями нет ничего сложного. #include <sys/exception.h> EX_INTERRUPT_HANDLER(handler_function_name) { // собственно тут и обрабатываем прерывание } void InitInterrupts() { // регистрируем ф-цию handler_function_name как обработчик прерывания // ivg7 и разрешаем это прерывание register_handler_ex(ik_ivg7, handler_function_name, EX_INT_ENABLE); } Детали смотрите в help-е, там все неплохо расписано. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 5 19 июня, 2009 Опубликовано 19 июня, 2009 · Жалоба Вы планируете продавать свою плату. Если да то по какой цене? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
asen 0 19 июня, 2009 Опубликовано 19 июня, 2009 · Жалоба Буду пробывать эксперементировать разбераться с библиотекой :)) а про продажу ну мона посмотреть в принципе есть щас 12 плат что много для нас так что кто знает :)) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться