nios eclipse提示LED_PIO_BASE没有声明,怎么回事?
阅读原文时间:2023年07月12日阅读:1

这是因为名字不一致引起的比如,在生成SOPC系统时,双击PIO(Parallel I/O)(在Avalon Modules -> Other 下),为系统添加输出接口,你没有把该组件改名成LED_PIO,而是保留了原始的名字:PIO_0;但你又通过IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, led);这个函数肯定是你从别人的工程复制过来的,来向该组件写入数据,就会导致上述错误。

打开Qsys,open?之前的.qsys文件,发现确实pio IP核没有改名字,所以在eclipse中system.h头文件,打开可以发现

#define ALT_MODULE_CLASS_pio_0 altera_avalon_pio
#define PIO_0_BASE
0x1800

是这样的,所以这就解释了这一系列问题。

解决办法:1.可以修改sopc系统,为该PIO改名为LED_PIO ;(这个比较麻烦,还得另外构建一遍nios,不推荐)

2.IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE ,
led);这样就行了,把LED_PIO_BASE改为PIO_0_BASE

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章