Здравствуйте.
Пытаюсь разобраться с микроконверторами ADUC7060/7061 от Analog Devices, на ядре ARM7. Решил использовать среду разработки Keil, язык Си. Но возникли некоторые трудности, и вынужден обратиться за помощью. Имею опыт работы с микроконтроллерами AVR, работал в AVR Studio, а на этих что-то застопорился.
Итак, создаю в Кейле новый проект, выбираю нужный мне контроллер, создается проект с одним файлом ADuC706x.s, в нем находится ассемблерный код, как я понял это начальный загрузчик. Далее я создаю в проекте еще одну папку, называю ее например Source Code и в ней файл, например main.c. Пишу простейшую программу, чтоб дергала один из выводов (даже не пишу, а передираю из другого проекта, оптимизировав имена регистров:
Пытаюсь откомпилировать - выдает ошибки:
Если из проекта выкинуть файл ADuC706x.s, созданный автоматически, в самом начале, тогда компилируется без ошибок, но не работает в симуляторе. При чем курсор даже не становится на функцию main. Вроде как симуляция идет, но в портах ничего не происходит.
Проекты-примеры из Кейла, в симуляторе работают, но они под немного другой контроллер, под ADuC7024.
Подскажите пожалуйста, кто работал с этими контроллерами, что я делаю не так, и еще может есть какая-нибудь русскоязычная литература по ним, а то что-то не нашел в интернете. Мне для начала запустить программу в симуляторе, а потом попробовать залить в контроллер, там думаю тоже вопросы возникнут.
Заранее всем спасибо.
Раздел: МК для начинающих
Пытаюсь разобраться с микроконверторами ADUC7060/7061 от Analog Devices, на ядре ARM7. Решил использовать среду разработки Keil, язык Си. Но возникли некоторые трудности, и вынужден обратиться за помощью. Имею опыт работы с микроконтроллерами AVR, работал в AVR Studio, а на этих что-то застопорился.
Итак, создаю в Кейле новый проект, выбираю нужный мне контроллер, создается проект с одним файлом ADuC706x.s, в нем находится ассемблерный код, как я понял это начальный загрузчик. Далее я создаю в проекте еще одну папку, называю ее например Source Code и в ней файл, например main.c. Пишу простейшую программу, чтоб дергала один из выводов (даже не пишу, а передираю из другого проекта, оптимизировав имена регистров:
#include <ADuC7061.H>
void wait (void) { //Типа функция задержки
unsigned long i;
for (i = 0; i < 100000; ) {
i++;
}
}
int main (void) {
GP1DAT = 0xFF000000; // Все ножки - выходы
while (1) {
GP1DAT ^= 0x00040000; // Передернуть вывод 2
wait (); // Ждем...
}
}
Пытаюсь откомпилировать - выдает ошибки:
.\blink.axf: Error: L6218E: Undefined symbol DAbt_Handler (referred from aduc706x.o).
.\blink.axf: Error: L6218E: Undefined symbol FIQ_Handler (referred from aduc706x.o).
.\blink.axf: Error: L6218E: Undefined symbol IRQ_Handler (referred from aduc706x.o).
.\blink.axf: Error: L6218E: Undefined symbol PAbt_Handler (referred from aduc706x.o).
.\blink.axf: Error: L6218E: Undefined symbol SWI_Handler (referred from aduc706x.o).
.\blink.axf: Error: L6218E: Undefined symbol Undef_Handler (referred from aduc706x.o).
Если из проекта выкинуть файл ADuC706x.s, созданный автоматически, в самом начале, тогда компилируется без ошибок, но не работает в симуляторе. При чем курсор даже не становится на функцию main. Вроде как симуляция идет, но в портах ничего не происходит.
Проекты-примеры из Кейла, в симуляторе работают, но они под немного другой контроллер, под ADuC7024.
Подскажите пожалуйста, кто работал с этими контроллерами, что я делаю не так, и еще может есть какая-нибудь русскоязычная литература по ним, а то что-то не нашел в интернете. Мне для начала запустить программу в симуляторе, а потом попробовать залить в контроллер, там думаю тоже вопросы возникнут.
Заранее всем спасибо.
Раздел: МК для начинающих