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

 
 
> AT91RM9200 ST interrupt, как заставить его работать?
vvj
сообщение Sep 27 2005, 09:21
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 46
Регистрация: 20-01-05
Пользователь №: 2 090



захотел воспользоваться embedded srvc'ом для XModem'а
сделал как в loder'е для UBoot'а:
/* Init of ROM services structure */
pAT91 = AT91C_ROM_BOOT_ADDRESS;
/* Tempo Initialization */
pAT91->OpenCtlTempo(&ctlTempo, (void *) &(pAT91->SYSTIMER_DESC));
ctlTempo.CtlTempoStart((void *) &(pAT91->SYSTIMER_DESC));
/* Xmodem Initialization */
pXmBuffer = pAT91->OpenSBuffer(&sXmBuffer);
pSvcXmodem = pAT91->OpenSvcXmodem(&svcXmodem, (AT91PS_USART)AT91C_BASE_DBGU, &ctlTempo);
pAT91->OpenPipe(&xmodemPipe, pSvcXmodem, pXmBuffer);
/* System Timer initialization */
AT91F_AIC_ConfigureIt ( AT91C_BASE_AIC, /* AIC base address */
AT91C_ID_SYS, /* System peripheral ID */
AT91C_AIC_PRIOR_HIGHEST, /* Max priority */
AT91C_AIC_SRCTYPE_INT_LEVEL_SENSITIVE, /* Level sensitive */
(void(*)())AT91F_ST_HANDLER); // (!)так объявлен этот аргумент(указатель на обработчик) в lib_AT91RM9200.h

/* Enable ST interrupt */
AT91F_AIC_EnableIt(AT91C_BASE_AIC, AT91C_ID_SYS);
AT91F_DBGU_Printk(CLRSCREEN);
AT91F_DBGU_Printk("n\r"LOADER_VERSION" ("__DATE__ " - " __TIME__ ")\n\n\r");
AT91F_DBGU_Printk("XMODEM: Download U-BOOT\n\r");
xmodemPipe.Read(&xmodemPipe, (char *)AT91C_UBOOT_BASE_ADDRESS, AT91C_UBOOT_MAXSIZE, AT91F_XmodemProtocol, 0);
while(XmodemComplete !=1);
AT91F_DBGU_Printk("\n\rU-Boot downloaded successfully\n\r");
пример для MULTI2000 и прерыванию там назначается функция AT91F_ST_ASM_HANDLER - завёрнутая в ассемблер AT91F_ST_HANDLER,
а я пока просто перед декларацией AT91F_ST_HANDLER поставил __irq __arm.
XModem 'C' не шлёт,и вообще я посмотрел обработчик не вызывается...
регистр AT91C_ST_CRTR обновляется (раз в две секунды)
Следовательно прерывание с таймера отсутствует?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 21:45
Рейтинг@Mail.ru


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