Добрый день!
Не сталкивался ли кто с проблемой:
Программа на MSP430F5172 работает под аппаратным отладчиком (MSP-FET430UIF) и
не подаёт никаких признаков жизни при работе без отладчика?
Тестовая программка:
(компилирую по IAR)
#include "io430.h"
#define LED_RED_ON 0x02
#define LED_RED_OFF 0xFD
int main( void )
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
P3DIR = 0x3; // Set P3 0,1 - Out, 2..7 - In
while (1)
{
P3OUT |= LED_RED_ON; // Switch of the Red LED.
__delay_cycles(100000);
P3OUT &= LED_RED_OFF; // Unwitch of the Red LED.
__delay_cycles(100000);
}
}
После Download and Debug, Go исправно мигает светодиодом.
После Stop Debuging и отсоединения отладчика продолжает мигать.
Но, после отключения и повторного включения питания,
или после аппаратного Reset-а - никаких признаков жизни.
Пробовал сделать Release файл и загрузить через FET_Pro430.
Загружается, ложится куда надо, как сама программка, так и вектор начального рестарта.
Но ситуация точно такая же.
(Если не отсоединять отладчик и нажать Reset в FET, то всё работает,
при отсоединении отладчика и использовании аппаратного
Reset-а - не работает. Полюбопытствовал осциллоскопом - Reset от
FET-а идёт по JTAG в виде команды, аппаратный Reset остаётся при
этом в 1).
Выход на светодиод остаётся во состоянии Input, то есть, не выполняется
аппаратный Reset. Регистр SFRRPCR, отвечающий за назначение вывода Reset - в
состоянии 0xC, как ему и положено.
Пробовал ставить "честный" сбрасыватель (MAX811) - не помогает.
Помогите, пожалуйста, а то скоро сдавать Заказ, а отлаженную рабочую
программу не могу запустить без отладчика, не с компом же отдавать
Заказчику, да и откажется он, наверное, от такого варианта.