alex7577 0 14 сентября, 2017 Опубликовано 14 сентября, 2017 · Жалоба ээээ.. зачем там цикл while(1) то?? у вас там нужка РА7 дергается в 0-1 постоянно. короче, нужно понять, переводится ножка РА7 на выход или нет. Напишите в самом начала мейна следующее: AT91C_BASE_PMC->PMC_PCER = (1<<AT91C_ID_PIOA); AT91C_BASE_PIOA->PIO_PER = AT91C_PIO_PA7; AT91C_BASE_PIOA->PIO_OER = AT91C_PIO_PA7; AT91C_BASE_PIOA->PIO_SODR = AT91C_PIO_PA7; for(;;); И измерьте напряжение на самой ножке РА7 и на D+ Сделал. Ничего не изменилось: РА7 - 2.3в, D+ - 2.2в при отключенном кабеле USB. После подключения кабеля, на D+ падает до 1.7в и плата не определяется. Посмотрите код, так надо было? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
0men 2 14 сентября, 2017 Опубликовано 14 сентября, 2017 · Жалоба Сделал. Ничего не изменилось: РА7 - 2.3в, D+ - 2.2в при отключенном кабеле USB. После подключения кабеля, на D+ падает до 1.7в и плата не определяется. Посмотрите код, так надо было? да, код правильный, но результат полная ерунда.. Ножка не переводится на выход, что абсолютно непонятно. А сделайте плис тоже самое на рабочей плате кстати, все таки важно, какой чип указан: 256 или 512. В функции LowLevelInit #if defined(at91sam7x512) AT91C_BASE_EFC0->EFC_FMR = AT91C_MC_FWS_1FWS; AT91C_BASE_EFC1->EFC_FMR = AT91C_MC_FWS_1FWS; #elif defined(at91sam7x128) || defined(at91sam7x256) AT91C_BASE_MC->MC_FMR = AT91C_MC_FWS_1FWS; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alex7577 0 14 сентября, 2017 Опубликовано 14 сентября, 2017 · Жалоба да, код правильный, но результат полная ерунда.. Ножка не переводится на выход, что абсолютно непонятно. А сделайте плис тоже самое на рабочей плате Сделал. Держит напряжение нормально, 3.3в на D+ при отключенном USB и 2.9 при подключенном. Определяется как неизвестное устройство, но это понятно, из-за изменения в коде. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
0men 2 14 сентября, 2017 Опубликовано 14 сентября, 2017 · Жалоба Сделал. Держит напряжение нормально, 3.3в на D+ при отключенном USB и 2.9 при подключенном. Определяется как неизвестное устройство, но это понятно, из-за изменения в коде. у AT91C_BASE_EFC0 AT91C_BASE_EFC1 AT91C_BASE_MC абсолютно разные базовые адреса. Выбирая 512 в яре и прошивая прошивку в 256 вы не правильно инициализируете работу флэш памяти Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alex7577 0 14 сентября, 2017 Опубликовано 14 сентября, 2017 · Жалоба у AT91C_BASE_EFC0 AT91C_BASE_EFC1 AT91C_BASE_MC абсолютно разные базовые адреса. Выбирая 512 в яре и прошивая прошивку в 256 вы не правильно инициализируете работу флэш памяти Мы паяли разные: 128, 256, 512 и всегда они работали и одной и той же прошивкой. Вроде разработчик что-то предусмотрел в коде, чтобы можно было ставить любые модификации. Сейчас и рабочие и нерабочие платы с вариантом 256, но вот старые работают, а новые нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
0men 2 14 сентября, 2017 Опубликовано 14 сентября, 2017 (изменено) · Жалоба Мы паяли разные: 128, 256, 512 и всегда они работали и одной и той же прошивкой. Вроде разработчик что-то предусмотрел в коде, чтобы можно было ставить любые модификации. Сейчас и рабочие и нерабочие платы с вариантом 256, но вот старые работают, а новые нет. не упрямьтесь, а попробуйте )) В последних ревизиях атмел очень серьезно ухудшил характеристики флеш памяти, этот код отвечает за время доступа к ней. Ваш разработчик ничего не предусмотрел в этом плане Изменено 14 сентября, 2017 пользователем 0men Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alex7577 0 14 сентября, 2017 Опубликовано 14 сентября, 2017 · Жалоба не упрямьтесь, а попробуйте )) В последних ревизиях атмел очень серьезно ухудшил характеристики флеш памяти, этот код отвечает за время доступа к ней. Ваш разработчик ничего не предусмотрел в этом плане Да я готов попробовать, подскажите, что именно нужно сделать? что-то не могу найти подходящие настройки в IAR Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
0men 2 14 сентября, 2017 Опубликовано 14 сентября, 2017 (изменено) · Жалоба Да я готов попробовать, подскажите, что именно нужно сделать? что-то не могу найти подходящие настройки в IAR мышкой ткнитесь в EIM-v3-Debug потом - Project->Options-General options-Device и там меняете Atmel AT91SAM7X512 на Atmel AT91SAM7X256 потом все перекомпилируйте И еще нужно исправить в настройках линкера: Project->Options-Linker-Config-Linker configuration file изменить на 256 и еще )) Project->Options-С/С++ Compiler->Preprocessor изменить AT91SAM7X512 на Atmel AT91SAM7X256 Изменено 14 сентября, 2017 пользователем 0men Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alex7577 0 14 сентября, 2017 Опубликовано 14 сентября, 2017 · Жалоба мышкой ткнитесь в EIM-v3-Debug потом - Project->Options-General options-Device и там меняете Atmel AT91SAM7X512 на Atmel AT91SAM7X256 потом все перекомпилируйте И еще нужно исправить в настройках линкера: Project->Options-Linker-Config-Linker configuration file изменить на 256 и еще )) Project->Options-С/С++ Compiler->Preprocessor изменить AT91SAM7X512 на Atmel AT91SAM7X256 Сделал. Все тоже самое. Но это дефолтная прошивка. Если нужно внести изменения в код, которые вы рекомендовали, то какие именно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
0men 2 14 сентября, 2017 Опубликовано 14 сентября, 2017 (изменено) · Жалоба Сделал. Все тоже самое. Но это дефолтная прошивка. Если нужно внести изменения в код, которые вы рекомендовали, то какие именно? во всех 3х местах изменили на AT91SAM7X256? вот это в начале мейна вставьте и проверьте напряжение на D+ AT91C_BASE_PMC->PMC_PCER = (1<<AT91C_ID_PIOA); AT91C_BASE_PIOA->PIO_PER = AT91C_PIO_PA7; AT91C_BASE_PIOA->PIO_OER = AT91C_PIO_PA7; AT91C_BASE_PIOA->PIO_SODR = AT91C_PIO_PA7; for(;;); Изменено 14 сентября, 2017 пользователем 0men Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alex7577 0 14 сентября, 2017 Опубликовано 14 сентября, 2017 · Жалоба во всех 3х местах изменили на AT91SAM7X256? вот это в начале мейна вставьте и проверьте напряжение на D+ AT91C_BASE_PMC->PMC_PCER = (1<<AT91C_ID_PIOA); AT91C_BASE_PIOA->PIO_PER = AT91C_PIO_PA7; AT91C_BASE_PIOA->PIO_OER = AT91C_PIO_PA7; AT91C_BASE_PIOA->PIO_SODR = AT91C_PIO_PA7; for(;;); Все сделал как написали, в 3-х местах и код. Тоже самое ( В любом случае огромное спасибо за время и терпение, если получится, то с меня прочитается :) Надеюсь на ваш опыт. Если вы в Москве, то я могу подвести все рабочую и нерабочую платы, исходники у вас есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
0men 2 14 сентября, 2017 Опубликовано 14 сентября, 2017 · Жалоба Все сделал как написали, в 3-х местах и код. Тоже самое ( В любом случае огромное спасибо за время и терпение, если получится, то с меня прочитается :) Надеюсь на ваш опыт. Если вы в Москве, то я могу подвести все рабочую и нерабочую платы, исходники у вас есть. я Питере :( пока идеи иссякли (( А процессор вообще работает? Другие ноги управляются? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alex7577 0 14 сентября, 2017 Опубликовано 14 сентября, 2017 · Жалоба я Питере :( пока идеи иссякли (( А процессор вообще работает? Другие ноги управляются? Могу отправить DHL ) Если это вообще удобно для вас. А как понять управляются ли другие ноги? Мы результаты работы платы можем видеть только в программе на PC, а USB не работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
0men 2 14 сентября, 2017 Опубликовано 14 сентября, 2017 (изменено) · Жалоба Могу отправить DHL ) Если это вообще удобно для вас. А как понять управляются ли другие ноги? Мы результаты работы платы можем видеть только в программе на PC, а USB не работает. Давайте так, если до понедельника ничего не решится, то я вам напишу, куда отправить :) У вас в программе есть управление светодиодами, на плате они есть? Моргают? Изменено 14 сентября, 2017 пользователем 0men Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alex7577 0 14 сентября, 2017 Опубликовано 14 сентября, 2017 · Жалоба Давайте так, если до понедельника ничего не решится, то я вам напишу, куда отправить :) У вас в программе есть управление светодиодами, на плате они есть? Моргают? Ок! Раньше были светодиоды, но как только опытные образцы заработали стабильно от них отказались. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться