一个关于 NIOS II processor 的问题
while (1) { mask=IORD_ALTERA_AVALON_PIO_DATA(PIO_BUTTON_BASE); switch (mask) { case 0x01: led=clBlu[i & 0x07];break; case 0x02: led=clRed[i & 0x07];break; case 0x04: led=clGre[i & 0x07];break; default : led=0x000000; } IOWR(PIO_LED_BASE,0,led); }
mask=IORD_ALTERA_AVALON_PIO_DATA(PIO_BUTTON_BASE);IOWR(PIO_LED_BASE,0,mask);
#define PIO_BUTTON_NAME "/dev/pio_button"#define PIO_BUTTON_TYPE "altera_avalon_pio"#define PIO_BUTTON_BASE 0x00000040#define PIO_BUTTON_SPAN 16#define PIO_BUTTON_IRQ 3#define PIO_BUTTON_IRQ_INTERRUPT_CONTROLLER_ID 0#define PIO_BUTTON_DO_TEST_BENCH_WIRING 0#define PIO_BUTTON_DRIVEN_SIM_VALUE 0#define PIO_BUTTON_HAS_TRI 0#define PIO_BUTTON_HAS_OUT 0#define PIO_BUTTON_HAS_IN 1#define PIO_BUTTON_CAPTURE 1#define PIO_BUTTON_DATA_WIDTH 4#define PIO_BUTTON_RESET_VALUE 0#define PIO_BUTTON_EDGE_TYPE "RISING"#define PIO_BUTTON_IRQ_TYPE "EDGE"#define PIO_BUTTON_BIT_CLEARING_EDGE_REGISTER 0#define PIO_BUTTON_BIT_MODIFYING_OUTPUT_REGISTER 0#define PIO_BUTTON_FREQ 10000000#define ALT_MODULE_CLASS_pio_button altera_avalon_pio#define PIO_SLIDE_SWITCH_NAME "/dev/pio_slide_switch"#define PIO_SLIDE_SWITCH_TYPE "altera_avalon_pio"#define PIO_SLIDE_SWITCH_BASE 0x00000060#define PIO_SLIDE_SWITCH_SPAN 16#define PIO_SLIDE_SWITCH_DO_TEST_BENCH_WIRING 0#define PIO_SLIDE_SWITCH_DRIVEN_SIM_VALUE 0#define PIO_SLIDE_SWITCH_HAS_TRI 0#define PIO_SLIDE_SWITCH_HAS_OUT 0#define PIO_SLIDE_SWITCH_HAS_IN 1#define PIO_SLIDE_SWITCH_CAPTURE 0#define PIO_SLIDE_SWITCH_DATA_WIDTH 4#define PIO_SLIDE_SWITCH_RESET_VALUE 0#define PIO_SLIDE_SWITCH_EDGE_TYPE "NONE"#define PIO_SLIDE_SWITCH_IRQ_TYPE "NONE"#define PIO_SLIDE_SWITCH_BIT_CLEARING_EDGE_REGISTER 0#define PIO_SLIDE_SWITCH_BIT_MODIFYING_OUTPUT_REGISTER 0#define PIO_SLIDE_SWITCH_FREQ 10000000#define ALT_MODULE_CLASS_pio_slide_switch altera_avalon_pio