DE1-SoC软件实验(一)——hello_fpga(解决 undefined reference to `main‘ 的错误以及Program “make” not found in PATH)

软件设计部分就是采用DS-5软件来进行软件应用程序的编写,然后将其下载到开发板运行。
系统要求:
DE1-SoC开发板、带Linux系统的可启动的SD卡,USB口(mini转接线)或者网口(路由器),SOC EDS,通用文档编译器,串口终端软件putty。
在这里插入图片描述

1、使用 Intel 版的 DS-5 软件编写C程序
2、使用编译器生成可执行文件
3、在DE1-SoC上启动Linux
4、将可执行文件在Linux中执行

具体操作如下:

开始菜单栏打开已安装好的 SoC EDS Command Shell,在命令行后输入eclipse& 后回车可打开DS-5软件
在这里插入图片描述
在这里插入图片描述
打开后,新建一个C/C++工程
在这里插入图片描述
给出项目名
选择GCC4.x编译器
——next——finish
在这里插入图片描述
新建Source File,编写C程序,此程序是基于Linux系统的应用程序
在这里插入图片描述
格式不会自动识别,要加入后缀.c——finish在这里插入图片描述
编写如下C代码

#include <stdio.h>

int main(int argc, char*argv[]) //main函数标准格式

{
    printf("hello_fpga");

    return 0;

}

注意:编写完成后一定要保存,不然可能出现undefined reference to `main’ 的错误。

保存后即可build project 可编译或选中工程 ctrl+B 编译

如下界面说明编译成功,且生成了hello_fpga可执行程序,此程序即可在开发板上运行。

在这里插入图片描述
首先将可执行程序复制到SD卡(I盘),直接在该可执行程序上右键复制即可。
在这里插入图片描述
然后将SD卡插入到开发板,电脑连接开发板,并打开putty。

root用户登录进来,并通过命令cd 和 ls 找到我们放置 hello_fpga的文件路径。

cd / 进入根目录

如下图,找到了hello_fpga 可执行文件
在这里插入图片描述
将该可执行文件复制到根目录

f复制文件到根目录
cp xxx /root
复制文件夹到根目录
cp -a xxx /root

在这里插入图片描述
此时回到根目录下,可看到我们复制过来的hello_fpga可执行程序
在这里插入图片描述
采用命令修改可执行文件的权限

chmod 777 hello_fpga

采用命令运行 可执行文件

./hello_fpga

由下图可看到出现hello_fpga。由于c程序中输出没使用换行,所以看起来不美观,之后可以加入换行符。
在这里插入图片描述

到这里,基于DE1-SoC的软件实验(一)——hello_fpga 完成。


出现如下错误应该怎么解决:

  • 编写完 c 程序后进行编译,可能出现以下错误在这里插入图片描述
    解决方法:
    在建立的工程上,右击选择properties—>C/C++Build—>Tool Chain Editor—>Current builder即可。
    在这里插入图片描述
  • 出现 undefined reference to `main’ 的错误
    我这里因为main.c处一直有个 * 号,所以是没有保存,将其保存后重新编译即成功(离谱)。
    在这里插入图片描述
    碎碎念:
    咱也不知道什么时候一个 “hello_world(hello_fpga)” 也这么难了,一直都没成功运行。
    各种DE1-SoC上不能成功运行Linux,然后运行了找不到自己复制到SD卡的可执行文件各种问题,以及可执行文件如何获得。

DE1-SoC的教程给出来的软件实验一步骤真的好多,不仅要写C程序,还要写Makefile,不过最后还是采用了小梅哥的方法,直接写完C程序,编译后将可执行文件直接复制的方法,简单了很多。

昨天跟着学弟学了几个Linux命令,才能正确找到可执行文件,并将其复制到根目录,才能正确运行,多亏学弟,不然一个hello_world想实现都是难上加难,简直是直接放弃了。但是这个成功的话,后面还可以继续尝试的就比较多了,不过我操作或许又要出现各种问题了!!!

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fighting_FPGA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值