写在前面
本文主要介绍了关于zynq的linux应用程序的开发,主要介绍了三种工程应用程序开发的方法,以及三种进行传输应用程序进行板卡验证的方法。
linux应用程序开发
Windows下建立linux工程
Ubuntu下的XSDK,在Windows下使用Xsdk基本大同小异,所以在该工程Windows下进行建立工程,打开sdk软件,然后进行新建项目。
配置文件路径和项目名称,所使用的OS平台选择linux,点击next,
可以选择空工程或者选择helloworld模板工程,这里可以默认模板工程进行建立,点击finish完成创建。
出现helloworld的文件表示工程创建完成。
Ubuntu下使用petalinux建立工程
进入到petalinux工程路径下,运行创建app工程命令:
petalinux-create -t apps -n linuxdemo --template c
上述命令表示建立一个工程名为linuxdemo,c 的模板工程。
执行完成后在终端中返回工程路径。
在上述文件夹中可以找到源文件,可以对源文件进行编写代码增加功能。
完成代码编写后,进行编译工程,使用build命令:
petalinux-build -c linuxdemo -x do_compile
上述命令表示对linuxdemo工程进行编译。
在下面路径下可以找到我们的编译后的可执行文件,
build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/linuxdemo/1.0-r0/
编译完成后可以远程拷贝执行文件到板卡上。
使用交叉编译进行工程开发
首先依旧是完成源代码的编写,这里就复制了模板工程里的helloworld的c文件,然后进行交叉编译。在petalinux工程目录下新建一个文件夹,将c文件拷贝到该文件夹下。
在Ubuntu的终端中,输入arm后点击两次tab键会出现和arm相关的交叉编译的工具,输入
arm-linux-gnueabihf-gcc linuxdemo.c -o demo
编译后输出了默认文件名,可以对输出文件进行指定命名。这里我指定命名为了demo,输出的可执行文件可以使用上面的几种方式在开发板上进行运行。
程序功能验证的途径方法
使用FileZilla传输访问
打开FileZilla,新建站点,
将elf文件复制到home/root路径下,
修改文件权限,使得elf可执行。
chmod a+x zynqlinux.elf
此时在终端中运行该程序将会打印hello world。