程序无法解析头文件管理器中的符号

时间:2019-01-12 15:43:41

标签: include eclipse-cdt

我遇到一个奇怪的问题。在我的程序中,我包含一个名为“ system.h”的头文件,其中包含某些寄存器的地址定义。问题是,当我尝试使用这些定义的符号之一时,收到错误消息“无法解析符号的符号名称”。当我在源文件中重新定义符号时,它起作用。这不是一个好的解决方案,因为我使用的是“ NIOS2” CPU,因此无论何时我在QSYS中进行更改,地址都会更改。有谁知道如何解决这个问题?

预先感谢, 干杯。

#include "DISPLAY_7SEG.h"

#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "stdint.h"

//#define SEGMENT_BASE 0x11020
//#define DIGIT_BASE 0x11040
//#define OFF 100

void display(int display)
{
    switch(display)
    {
    case 100:
        IOWR_ALTERA_AVALON_PIO_DATA(SEGMENT_BASE,0x0);
        break;
    case 0:
        IOWR_ALTERA_AVALON_PIO_DATA(SEGMENT_BASE,0x1);
        IOWR_ALTERA_AVALON_PIO_CLEAR_BITS(LED_BASE,0xF);
        break;
    case 1:
        IOWR_ALTERA_AVALON_PIO_DATA(SEGMENT_BASE,0x2);
        IOWR_ALTERA_AVALON_PIO_SET_BITS(LED_BASE,0xF);
        break;
    case 2:
        IOWR_ALTERA_AVALON_PIO_DATA(SEGMENT_BASE,0x4);
        IOWR_ALTERA_AVALON_PIO_CLEAR_BITS(LED_BASE,0xF);
        break;
    case 3:
        IOWR_ALTERA_AVALON_PIO_DATA(SEGMENT_BASE,0x8);
        IOWR_ALTERA_AVALON_PIO_SET_BITS(LED_BASE,0xF);
        break;
    default:
        IOWR_ALTERA_AVALON_PIO_DATA(SEGMENT_BASE,0x0);
        break;
    }
}


0 个答案:

没有答案