• [笔记].为何在Nios II SBTE中,直接拖放到工程文件夹的文件,编译会出错?


    我平时创建新的Nios II工程时,都是选择从空模板创建app+bsp工程(图1、图2)。

    image 图1

    image 图2

    有时候,我直接从其他工程里或文件夹复制c,然后直接粘贴到我的app工程里。图3所示的main.c,就是我直接拖过来的。代码(代码1)很简单,但是编译却出现报错(图4)。

    image 图3

    代码1 main.c

    #include "system.h"
    #include "altera_avalon_pio_regs.h"
    
    int main(void)
    {
      while(1)
      {
        IOWR_ALTERA_AVALON_PIO_DATA(LED_BASE, 0x55);
      }
      return 0;
    }

    image 图4

    图4的意思就是讲,我的c没有main()入口。我就奇了怪。双击打开markfile看看,原来的SRCS的列表都是空(图5)。

    image 图5

    我把main.c手动加入SRCS列表中。刷新一下工程,发现一个现象(图6),看,main.c左边的图标的右上角的那个圆,亮了;对比一下图3。

    image 图6

    我重新编译工程,成功(图7)。

    image 图7

    那么如果发现有的c或h文件,没有亮,怎么办呢?

    1. 手动修改makefile;
    2. 单击该文件,在弹出的菜单中,选择Add to Nios II Build(图8)。

    image 图8

    想要去除不想引用的文件,可单击发亮的c或h文件,选择Remove from Nios II Build。

    虽然乏味可陈,但是让我明白了两件事情:

    1. 如果出现图3所示错误,先查看makefile,找找main()所在的文件是否被引用。
    2. 可用手动切换某c或h是否需要引用到工程中。
     安德鲁® / CC BY 2.5     FPGA Run!
  • 相关阅读:
    值类型和引用类型
    0513二分查找练习
    0512随机4位验证码
    0511java 随机6个不同的彩票数
    随机数的产生机制
    0510Java 练习
    0509java练习题
    java循环作业
    字符集的由来及发展
    hdu2577_键入字母
  • 原文地址:https://www.cnblogs.com/yuphone/p/2222207.html
Copyright © 2020-2023  润新知