赞
踩
Hello world创建流程
参考教程的
打开SoC EDS Command shell软件,在命令行中输入eclipse&
打开DS-5软件。
小梅哥寄语:尽量不要直接通过
Eclipse for DS-5 v5.27.1
快捷方式打开
注意:出现证书没有找到的,可以先不用理会!
依次点击FIle->New->C Project
接着输入工程名,选择编译器,如下图
Altera Baremetal GCC是编译HPS的裸机程序,即不是基于Linux的程序。
最后点击Finish即可
新建工程完毕后,接下来便可以添加源文件了。右键创建的hello_world工程,然后依次选择New->Source File
接着输入源文件名(注意.c后缀也要加),然后点击Finish即可。
在main.c中加入如下代码,如下图
#include <stdio.h>
int main(int argc, char* argv[])
{
printf("Hello World");
return 0;
}
接着右击所在工程,选择Build Project进行编译。
或者先选中工程,然后
ctrl+B
快捷键进行编译
编译好的工程如下图所示,其中的Debug里面的hello_world(好像和Binaries里面的hello_world一样?)即是要放到开发板进行运行的程序。
编译好的Linux应用程序,如何放到开发板运行呢?SOC FPGA开发中,将程序放到板子常用的有两种方法:
要想让Linux应用程序在开发板上运行,需要先要保证开发板上的Linux系统要能够正常的运行起来,那么如何让开发板运行Linux系统呢?
①、首先解压开发板光盘下SD卡镜像中的AC501-SoC.rar
到桌面,如下图
②、然后解压开发板光盘下配套软件中的win32diskimager-binary.rar
到桌面,如下图
③、打开解压到桌面(注意路径尽量不要有中文)win32diskimager-binary
文件夹中的Win32DiskImager.exe
④、插入SD卡,选择对应的镜像文件和盘符,如下图【再提醒一下,镜像文件路径同样不要有中文】
注意:正式向SD卡烧录镜像前,最好使用SDFormatter将其进行格式化。【若出现格式化失败,再格式化一遍即可!】
烧写成功如下图所示
注意,系统烧写成功后会弹出格式化的提示,这里直接关闭即可
SD卡分成了三个分区
soc_system.rbf
、设备树文件socfpga.dtb
、u-boot.scr
、Linux内核文件zImage
配置FPGA两种方式
.sof
文件(用来配置FPGA的文件),然后再通过下载器下载到FPGA。.rbf
文件,然后写入到FPGA
.rbf
文件是通过.sof
文件通过简单的脚本得到的!拷贝编译生成的hello_world到SD卡中,如下图所示
接着弹出SD卡,如下图所示,而后将SD卡重新插回到开发板。
连接串口到PC,连接串口如下图所示
而后打开PC端的串口软件,这里使用MobaXterm,选择相应的COM口,波特率选择为115200,配置如下图所示
需要注意的一点,MobaXterm的Flow control需要设置为None,否则你将无法在 MobaXterm 中向串口输入数据
配置完毕后,开发板上电启动,可看到如下图所示串口打印信息
登录用户名输入:root
,即可登录到开发板,如下图所示
在串口终端输入fdisk -l
可查看SD卡相关信息,如下图所示
由上图可以看出/dev/mmcblk0设备,该设备就是我们的SD卡。
其中SD卡有三个分区:mmcblk0p1
、mmcblk0p2
、mmcblk0p3
,我们拷贝的程序就在W95 FAT32格式的第一个分区中,即/dev/mmcblk0p1
中!
现在想要看到mmcblk0p1
分区的内容,需要先进行挂载,输入mount -t vfat /dev/mmcblk0p1 /mnt
进行挂载,然后输入ls /mnt
,即可查看到我们的hello_world程序,如下图所示
最后,输入cd /mnt
进入挂载目录,然后输入./hello_world
,即可运行该程序,如下图
网络拷贝之前,需要先配置合适的网络参数。
①、配置网络
将电脑和开发板通过网线连接到路由器上,如下图所示,要确保三者处于同一个局域网。
【注意,如果电脑既有有线网卡,又有无线网卡,最好禁用无线网卡】
Windows的IP一般都是由路由器DHCP自动分配的,在命令行执行:ipconfig
,查看它的IP。
为了防止IP频繁更改,我们将IP设置为固定IP,设置方法如下:
而后在windows的cmd终端输入ipconfig
查看IP地址,若和上述设置一致,则表示设置成功,如下图所示
下面是设置永久生效的静态IP,若想实现临时生效的静态IP,也可以使用如下命令:
ifconifg eth0 192.168.10.103
vi /etc/network/interfaces # 编辑这个文件
#iface eth0 inet dhcp #找到这行代码,并在其加上#
#在其下面添加以下代码,设为静态IP
iface eh0 inet static
address 192.168.10.103
netmask 255.255.255.0
gateway 192.168.10.1
配置完成后,如下图所示
然后保存退出,输入reboot
进行重启,而后在终端输入ifconifg
,若可以查看到上述设置信息,则表示开发板设置成功,如下图
②、ping测试
一般windows有防火墙,开发板(运行Linux系统)PING Windows是PING不通的,这个不要紧,只要windows能PING通对方即可。在windows的cmd终端输入ping 192.168.10.103
,若有数据包回应,则表示网络设置成功,如下图所示
接着我们如何将PC端编译好的应用程序拷贝到开发板呢?这里使用FileZilla软件,具体设置如下。
首先在开发板的终端输入passwd
,设置开发板的root密码(注意,输入过程中密码不会显示),如下图所示
接着在FileZilla的上端,输入设置好的参数,如下图
点击快速连接,即可登录到开发板(传输文件直接拖曳即可),如下图
拖曳其中的hello_world拷贝到/home/root目录下,然后在终端的/home/root目录即可看到该文件,如下图
接着输入chmod 777 hello_world
,将该文件赋予可执行权限,而后输入./hello_world
即可运行该文件,如下图
至此,两种拷贝程序到开发板的方法便介绍完毕!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。