Перейти к содержанию
    

Нужна помощь, сломал голову! (Atmel AT91SAM7х256)

ээээ.. зачем там цикл 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в и плата не определяется.

Посмотрите код, так надо было?

 

image.jpg

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделал. Ничего не изменилось: РА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;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

да, код правильный, но результат полная ерунда.. Ножка не переводится на выход, что абсолютно непонятно. А сделайте плис тоже самое на рабочей плате

 

Сделал. Держит напряжение нормально, 3.3в на D+ при отключенном USB и 2.9 при подключенном. Определяется как неизвестное устройство, но это понятно, из-за изменения в коде.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделал. Держит напряжение нормально, 3.3в на D+ при отключенном USB и 2.9 при подключенном. Определяется как неизвестное устройство, но это понятно, из-за изменения в коде.

 

у

AT91C_BASE_EFC0

AT91C_BASE_EFC1

AT91C_BASE_MC

 

абсолютно разные базовые адреса. Выбирая 512 в яре и прошивая прошивку в 256 вы не правильно инициализируете работу флэш памяти

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

у

AT91C_BASE_EFC0

AT91C_BASE_EFC1

AT91C_BASE_MC

 

абсолютно разные базовые адреса. Выбирая 512 в яре и прошивая прошивку в 256 вы не правильно инициализируете работу флэш памяти

 

Мы паяли разные: 128, 256, 512 и всегда они работали и одной и той же прошивкой. Вроде разработчик что-то предусмотрел в коде, чтобы можно было ставить любые модификации.

Сейчас и рабочие и нерабочие платы с вариантом 256, но вот старые работают, а новые нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мы паяли разные: 128, 256, 512 и всегда они работали и одной и той же прошивкой. Вроде разработчик что-то предусмотрел в коде, чтобы можно было ставить любые модификации.

Сейчас и рабочие и нерабочие платы с вариантом 256, но вот старые работают, а новые нет.

 

не упрямьтесь, а попробуйте )) В последних ревизиях атмел очень серьезно ухудшил характеристики флеш памяти, этот код отвечает за время доступа к ней. Ваш разработчик ничего не предусмотрел в этом плане

Изменено пользователем 0men

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не упрямьтесь, а попробуйте )) В последних ревизиях атмел очень серьезно ухудшил характеристики флеш памяти, этот код отвечает за время доступа к ней. Ваш разработчик ничего не предусмотрел в этом плане

Да я готов попробовать, подскажите, что именно нужно сделать? что-то не могу найти подходящие настройки в IAR

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да я готов попробовать, подскажите, что именно нужно сделать? что-то не могу найти подходящие настройки в 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

Изменено пользователем 0men

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

мышкой ткнитесь в 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

 

 

Сделал. Все тоже самое. Но это дефолтная прошивка. Если нужно внести изменения в код, которые вы рекомендовали, то какие именно?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделал. Все тоже самое. Но это дефолтная прошивка. Если нужно внести изменения в код, которые вы рекомендовали, то какие именно?

 

во всех 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(;;);

 

 

Изменено пользователем 0men

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

во всех 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-х местах и код. Тоже самое (

В любом случае огромное спасибо за время и терпение, если получится, то с меня прочитается :)

Надеюсь на ваш опыт.

Если вы в Москве, то я могу подвести все рабочую и нерабочую платы, исходники у вас есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все сделал как написали, в 3-х местах и код. Тоже самое (

В любом случае огромное спасибо за время и терпение, если получится, то с меня прочитается :)

Надеюсь на ваш опыт.

Если вы в Москве, то я могу подвести все рабочую и нерабочую платы, исходники у вас есть.

 

я Питере :(

пока идеи иссякли ((

А процессор вообще работает? Другие ноги управляются?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я Питере :(

пока идеи иссякли ((

А процессор вообще работает? Другие ноги управляются?

 

 

Могу отправить DHL ) Если это вообще удобно для вас.

А как понять управляются ли другие ноги? Мы результаты работы платы можем видеть только в программе на PC, а USB не работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Могу отправить DHL ) Если это вообще удобно для вас.

А как понять управляются ли другие ноги? Мы результаты работы платы можем видеть только в программе на PC, а USB не работает.

 

Давайте так, если до понедельника ничего не решится, то я вам напишу, куда отправить :)

У вас в программе есть управление светодиодами, на плате они есть? Моргают?

Изменено пользователем 0men

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Давайте так, если до понедельника ничего не решится, то я вам напишу, куда отправить :)

У вас в программе есть управление светодиодами, на плате они есть? Моргают?

 

Ок!

Раньше были светодиоды, но как только опытные образцы заработали стабильно от них отказались.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...