Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не запускается Management Data interface (MDC, MDIO)
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Гвоздик
Здравствуйте. Включаю АРМ с сетевым контроллером Am79c874. Пытаюсь записать с АРМа данные в контроллер по выводам MDC, MDIO. После настройки ножек на периферию на MDC = 0, MDIO = 1. В чем может быть дело? Привожу текст подпрограммы, настраивающей ножки:
#include "AT91SAM9260.h"
#include "lan_init.h"

int LanInit(void)
{
AT91_REG RegValue = 0x0;

/* read initial output enable */
/* 0 - input only mode */
/* 1 - I/O mode */
RegValue = *AT91C_PIOA_OSR;

/* enable outputs */
*AT91C_PIOA_OER = 0xFFFFFFFF;
RegValue = *AT91C_PIOA_OSR;
*AT91C_PIOA_ODR = 0x0;
RegValue = *AT91C_PIOA_OSR;

/* read initial value */
/* 0 - peripherial mode */
/* 1 - I/O mode */
RegValue = *AT91C_PIOA_PSR;

/* set PA lines to peripherial functions */
*AT91C_PIOA_PER = 0x0;
RegValue = *AT91C_PIOA_PSR;
*AT91C_PIOA_PDR = 0xFFFFFFFF;
RegValue = *AT91C_PIOA_PSR;

/* 0 - A-mode of peripherial */
/* 1 - B-mode of peripherial */
RegValue = *AT91C_PIOA_ABSR;

/* enable managment interface */
*(AT91_REG*)(AT91C_BASE_EMACB) |= AT91C_EMAC_MPE;

/* configure network: MDC = CLK/32 */
*(AT91C_EMACB_NCFGR) = 0x81F;

/* operations with PHY interface register */
*(AT91C_EMACB_MAN) = 0x50022100;

return 0;
}
aaarrr
Клоки EMAC'у включить не забыли?
Гвоздик
Возможно, что вопрос ламерский: где их включать? Все прерывания запрещены и зациклены внутри обработчиков. Контроллер СДРАМ только перед вышеприведенной подпрограммой запускается (работает исправно). Куда копать, можете сказать поточнее?
aaarrr
Включать в Power Management Controller'е (PMC).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.