Устройство должно обеспечивать считывание данных из Compact Flash. В связи с чем в SOPC включено ядро Compact Flash Interface. Для считывания 0 -го сектора написала следующее:
int main() { alt_avalon_ide_cf_init( void* base ) IOWR_ALTERA_AVALON_CF_IDE_COMMAND(CF_IDE_BASE, 0x20); IOWR_ALTERA_AVALON_CF_IDE_DEVICE_HEAD(CF_IDE_BASE, 0xE0); IOWR_ALTERA_AVALON_CF_IDE_CYLINDER_HIGH(CF_IDE_BASE, 0); IOWR_ALTERA_AVALON_CF_IDE_CYLINDER_LOW(CF_IDE_BASE, 0); IOWR_ALTERA_AVALON_CF_IDE_SECTOR_NUMBER(CF_IDE_BASE, 0); IOWR_ALTERA_AVALON_CF_IDE_SECTOR_COUNT(CF_IDE_BASE, 1); IORD_ALTERA_AVALON_CF_IDE_DATA(CF_IDE_BASE);
return 0; }
Это правильно? Важен ли порядок обращения к регистрам порта IDE?
Сообщение отредактировал Rifenshtal - Jul 24 2008, 18:08
|