Разжился я маленькой макетной платой от AD,
на ней стоит только ADUC7020 стабилизатор на 3,3В, две кнопки, два светодиода и еще несколько конденсаторов.
Схема тут:
http://www.analog.com/static/imported-file...7020_adap_a.pdfЧтобы начать, слепил маленькую програмку, – она должна была мигать светодиодом, подключенным к порту P4.2.
Текст на СИ вот такой:
#include <aduc7020.h>
int main (void)
{
unsigned long i; // Delay var
GP4DAT = 0x04000000; // P4.2 defined as Output
while (1) //Loop forever
{
GP4DAT ^= 0x00040000; // Toggle P4.2 LED
for (i = 0; i < 100000; i++);
}
}
Оттранслировал все это Кейл-ом, и загрузил ARMWSD.
Загрузка проходит, но светодиод не мигает :-[,
такое впечатление, что до исполнения сишного кода дело не доходит.
В качестве пролога я использовал стандартный файл ADuC702x.s, поставляемый вместе с кейлом.
Вопрос собственно в следующем:
1) Может ли быть так, что какое-нибудь прерывание или исключительная ситуация
мешает процессору дойти до исполнения кода, написанного на Си
(например нужно какую-нибудь ногу подтянуть к питанию (предположим TMS или TDI, чего на плате не сделано) или еще что-нибудь в этом же роде)
2) Может у кого-нибудь есть HEX файл, который заведомо мигает этим светодиодом на ADuC7020, а я что-нибудь неправильно странслировал?
3) Или все-таки мне достался битый процессор, хотя он явно загружается, и после нажатия кнопки RUN в ARMWSD,
тот пишет running. Кроме того MRST, ведет себя адекватно и после появления питания или отпускания Reset-a переходит c правильной задержкой в 1.