Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблемы с запуском SAM7S64
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
KAlex
Собственно сабж.
Проблема наблюдается при охлаждении камня до -20С, молчит даже после того как нагреется.
Эффект устойчивый. Помогает только пересброс питания.
Какие есть мнения по этому поводу?
aaarrr
Мы гоняли платы с SAM7S64 в термокамере, но стабильность холодного запуска генератора специально не проверяли. Надо будет посмотреть.
richie
Как то наблюдал чудеса с запуском процессоров SiLabs от внешнего кварца.
Но эффект обратный был: при минусе устойчивый запуск, при нагреве до +30 неуверенный пуск
(через раз), при +40 не запускались вообще.

А что делает "пересброс питания"? Только процессор перезапускает или что-то еще?
Может что-то на плате по питанию отвратительно себя ведет?
KAlex
Цитата(richie @ Mar 19 2008, 17:24) *
А что делает "пересброс питания"? Только процессор перезапускает или что-то еще?

Только проц.
NRST не используется. Хотя пробовал и им, не запускается. Ну это понятно, AT91C_SYSC_URSTEN по умолчанию в 0.
richie
К сожалению, ничего больше путнего сказать не могу...
Сори.
KAlex
Господа! Тема очень Важна для меня и требует решения. Объясню подробнее.
Девайс будет использоваться в авто. Так что температура - важная составляющая.
Термокамеры нет, поэтому охлаждали фризером из баллончика(что то типа сжиженного газа).
Контроль температуры ИК-термометр. Эффект незапуска наблюдается только при охлаждении АРМ7.
На выходе XOUT полный 0.
Заморозка кварца и другой периферии на запуск не влияет.
Под дебагом(IAR+J-Link), АРМ хоть до -40ка морозь, запускается собака.
Cstartup.s79, Generic CStartup for IAR No Use REMAP, 1.0 15/Jun/04, не правил.
Startup.с :
Код
void AT91F_LowLevelInit( void) @ "ICODE"{
  int   i;
  AT91PS_PMC     pPMC = AT91C_BASE_PMC;
  AT91C_BASE_MC->MC_FMR = ((AT91C_MC_FMCN)&(48<<16)) | AT91C_MC_FWS_1FWS;
  AT91C_BASE_WDTC->WDTC_WDMR = AT91C_SYSC_WDRSTEN |AT91C_SYSC_WDD | AT91C_SYSC_WDDBGHLT | AT91C_SYSC_WDIDLEHLT  | 0x3FF;
            
  pPMC->PMC_MOR = (( AT91C_CKGR_OSCOUNT & (0x06 <<8) | AT91C_CKGR_MOSCEN ));
  while(!(pPMC->PMC_SR & AT91C_PMC_MOSCS));
  pPMC->PMC_PLLR = ((AT91C_CKGR_DIV & 0x03) | (AT91C_CKGR_PLLCOUNT & (28<<8)) | (AT91C_CKGR_MUL & (23<<16)));

      // Wait the startup time
  while(!(pPMC->PMC_SR & AT91C_PMC_LOCK));
  while(!(pPMC->PMC_SR & AT91C_PMC_MCKRDY));

  pPMC->PMC_MCKR = AT91C_PMC_CSS_PLL_CLK | AT91C_PMC_PRES_CLK_2;
  while(!(pPMC->PMC_SR & AT91C_PMC_MCKRDY));
            
  AT91C_BASE_AIC->AIC_SVR[0] = (int) AT91F_Default_FIQ_handler;
  for (i=1;i < 31; i++) { AT91C_BASE_AIC->AIC_SVR[i] = (int) AT91F_Default_IRQ_handler;}
  AT91C_BASE_AIC->AIC_SPU  = (int) AT91F_Spurious_handler;
}

Потом еще добавил
AT91C_BASE_RSTC->RSTC_RMR = (0xA5 << 24) | AT91C_SYSC_URSTEN;
Но даже после прогрева реакции на NRST нет.
Пробовал комментить циклы ожидания - не помогает. Может я чего упустил?
aaarrr
Я что-то не понимаю, какой генератор у Вас не страртует - в шапке темы упомянут RC, а пин XOUT относится к основному.
KAlex
Не стартует RC. Судя по всему. Соответственно стартап не проходит и все, молчок.
SpiritDance
Цитата(KAlex @ Mar 24 2008, 11:52) *
Не стартует RC. Судя по всему. Соответственно стартап не проходит и все, молчок.

Не скажите, может основной не стартует. Попробуете не переходить на основной и помигать светиком в main. Сообщите обязательно чем дело закончится.
KAlex
Цитата(SpiritDance @ Mar 24 2008, 13:34) *
Не скажите, может основной не стартует. Попробуете не переходить на основной и помигать светиком в main. Сообщите обязательно чем дело закончится.

В стартапе оставил
Код
AT91C_BASE_RSTC->RSTC_RMR = (0xA5 << 24) | AT91C_SYSC_URSTEN;
AT91C_BASE_AIC->AIC_SVR[0] = (int) AT91F_Default_FIQ_handler;
for (i=1;i < 31; i++){AT91C_BASE_AIC->AIC_SVR[i] = (int) AT91F_Default_IRQ_handler;}
AT91C_BASE_AIC->AIC_SPU  = (int) AT91F_Spurious_handler;
AT91C_BASE_WDTC->WDTC_WDMR =  AT91C_SYSC_WDRSTEN | AT91C_SYSC_WDD | AT91C_SYSC_WDDBGHLT | AT91C_SYSC_WDIDLEHLT | 0x3FF;

Теплый работает. Холодный нет.
_dem
Раз под отладчиком стартует, расскажите что у Вас на RESET висит ?
KAlex
На ресете висит подтяжка на плюс питания.
Если старт не проходит, то подача земли на эту ногу также не дает эффекта.
_dem
Есть возможность прицепить внешний генератор ?
SpiritDance
Цитата(_dem @ Mar 25 2008, 13:49) *
Есть возможность прицепить внешний генератор ?

А толку-то? Данный процессор все равно с RC-цепочки стартует.
А если какой ногой в самом начале дернуть, чтобы увидеть правда ли не стартует RC? Если так, то это плохо, будем надеяться что глюк связан с разводкой, так чтото слабо верится что этого никто не заметил.
aaarrr
Цитата(SpiritDance @ Mar 25 2008, 13:59) *
А если какой ногой в самом начале дернуть, чтобы увидеть правда ли не стартует RC?

Как я понимаю, KAlex это уже пробовал, и дело действительно в RC.

Мне не удалось получить отказ RC на "газобалонном" охлаждении. Буду пробовать термокамеру, но до нее еще доехать надо.
KAlex
На всякий случай, надписи на камне:
AT91SAM7S64
AU
0710
6R4314
_dem
Цитата(SpiritDance @ Mar 25 2008, 14:59) *
А толку-то? Данный процессор все равно с RC-цепочки стартует.
А если какой ногой в самом начале дернуть, чтобы увидеть правда ли не стартует RC? Если так, то это плохо, будем надеяться что глюк связан с разводкой, так чтото слабо верится что этого никто не заметил.


Я думаю, смотреть надо в направлении "почему в тех же условиях с JTAG стартует ?". Jtag дает свой клок по TCK, поэтому я бы попробовал запустить его
1) вообще без инициализации генератора, сделать цикл while(1) { LedON(); LedOFF(); } и посмотреть что на выходе LED
2) попробовать дать внешний клок и перейти на него

ps..

Да,
"Под дебагом(IAR+J-Link), АРМ хоть до -40ка морозь, запускается собака." - просто стартует с подключенным JTAG, или после прошивки из IAR ?
KAlex
Цитата(_dem @ Mar 25 2008, 16:17) *
"Под дебагом(IAR+J-Link), АРМ хоть до -40ка морозь, запускается собака." - просто стартует с подключенным JTAG, или после прошивки из IAR ?

Прошиваю во флеш из IAR и стартую(F5).
_dem
А если сделать "attach to target" ?
KAlex
Вопрос снимается! Как оказалось, данный баг наблюдается у кристаллов, купленных в количестве 10 штук, в розницу. Все из одной партии. Судя по всему - просто отбраковка и недобросовестный поставщик.
Блин, уже не первый раз налетаем. С Самсунговскими флешками также было, вдруг ни с того ни с сего сыпаться начали. А закупали 1000 шт. Хорошо поставщик согласился обратно забрать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.