Имеется отладочная плата ARGUSSOFT AS-9200 v1.0
Настроил SPI и все зависящие модули, запускаю программу тестирования чтения/записи
буфера данных используя PDC. SPI настроил с loсal loopback Enable. Все работает, данные из буффера передаются, перерывания генерируются. Когда пытаюсь работать с внешними (loсal loopback disable) выходами(подрублена dataflash) ничего не получается, смотрю осциллографом, с SPI ниче не лезет, клока нет, данных нет. Возможно где-то я накосячил, подскажите пожалуйста где копать.
Вот настройки:
REG(AT91RM9200_PMC|PMC_PCER) = PID_MASK(PID_SPI)|PID_MASK(PID_PIOA);
REG(AT91RM9200_PIOA|PIO_PER) = SETBIT(0)|SETBIT(1)|SETBIT(2)|SETBIT(3)|
SETBIT(4)|SETBIT(5)|SETBIT(6);
REG(AT91RM9200_PIOA|PIO_ASR) = SETBIT(0)|SETBIT(1)|SETBIT(2)|SETBIT(3)|
SETBIT(4)|SETBIT(5)|SETBIT(6);
REG(AT91RM9200_SPI|SPI_CR) = SETBIT(1)|SETBIT(7);
REG(AT91RM9200_SPI|SPI_MR) = 0x9|SETBIT(4)|(0xE<<16)|(0xff<<24);
REG(AT91RM9200_SPI|SPI_CSR0) = 0xA|(0x0<<4)|(0xFF<<8);
REG(AT91RM9200_SPI|SPI_CR) = SETBIT(0);
REG(AT91RM3400_SPI|PERIPH_RPR) = (unsigned long)&buff_rx;
REG(AT91RM3400_SPI|PERIPH_RCR) = BUFF_SIZE;
REG(AT91RM3400_SPI|PERIPH_TPR) = (unsigned long)&buff_tx;
REG(AT91RM3400_SPI|PERIPH_TCR) = BUFF_SIZE;
REG(AT91RM3400_SPI|PERIPH_PTCR) = SETBIT(0)|SETBIT(8); // Enable PDC TX, Rx
REG(AT91RM3400_SPI|SPI_CR) = SETBIT(0); // Enable SPI