реклама на сайте
подробности

 
 
> не доходит до процедуры main зависает на memzero
Skif
сообщение Jan 31 2008, 08:08
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 19-02-05
Пользователь №: 2 752



Такая проблема запускаю Debuger прошивается а затем не доходя до main() зависает _data16_memzero(). Подскажите в чем дело? Как решить проблему?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
msalov
сообщение Jan 31 2008, 08:28
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 526
Регистрация: 24-08-07
Из: Беларусь, Минск
Пользователь №: 30 045



Цитата(Skif @ Jan 31 2008, 10:08) *
Такая проблема запускаю Debuger прошивается а затем не доходя до main() зависает _data16_memzero(). Подскажите в чем дело? Как решить проблему?

Возможно у вас обьявлен большой массив или очень много переменных. Так как WDT включён после RESET, микроконтроллер не успевает инициализировать все переменные до того, как управление перейдет в main где вы выключите/сбросите WDT.
Если у вас больщой массив и не требуется его инициализация можно обьявить его как __no_init в случае если вы используете IAR. А в общем случае можно обьявить функцию, исполняемую до инициализации сегментов и в ней отключить WDT
Код
int __low_level_init(void)
{
  /* Insert your low-level initializations here */


  /*==================================*/
  /* Choose if segment initialization */
  /* should be done or not.        */
  /* Return: 0 to omit seg_init    */
  /*           1 to run seg_init    */
  /*==================================*/
  return (1);
}


Подробней в EW430 Compiler Reference -> Customizing system initialization -> __LOW_LEVEL_INIT

Сообщение отредактировал gotty - Jan 31 2008, 08:28
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 11:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.01366 секунд с 7
ELECTRONIX ©2004-2016