IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> ZYNQ - 嵌入式Linux开发 -08- linux应用程序开发 -> 正文阅读

[系统运维]ZYNQ - 嵌入式Linux开发 -08- linux应用程序开发

写在前面

本文主要介绍了关于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。

使用sdk进行DEBUG

对于linux的程序在sdk中也可以进行debug,在target TCF Agent,进行建立连接,双击 Linux Agent

修改主机地址,端口默认,连接前可以进行测试连接,

点击测试按钮,可看到测试成功建立连接。

关闭当前界面,再点击OK,即可建立连接。

右键项目名进行launch debug,

可以看到成功进入debug界面,方法和裸核开发类似。

scp命令进行远程拷贝

通过scp命令进行远程拷贝,将可执行文件从Ubuntu系统拷贝到开发板根文件系统。

在终端中输入下面指令 :

scp linuxdemo root@192.168.1.55:/home/root

提示是否继续输入yes,并输入root密码。可见传输已经完成,在板卡的linux系统上可以看到已经传输来的可执行文件:

挂载NFS网络文件系统

NFS网络文件系统:可以通过网络的方式进行远程挂载mount

在Ubuntu系统下搭建NFS文件系统,将可执行文件拷贝到NFS文件系统目录下,在开发板这端通过mount命令将Ubuntu系统的NFS文件系统挂载到开发板根文件系统目录下,这样就可以在开发板这端去访问到远程Ubuntu系统下的nfs文件系统,就可以直接运行可执行文件。

之前已经完成了NFS文件系统的搭建,先创建一个nfs目录,然后将可执行文件拷贝到之前的nfs目录下:

mkdir -p ~/server/nfs

终端中输入:

 cp -a linuxdemo ~/server/nfs/

在开发板这端通过mount命令去挂载Ubuntu系统的NFS文件系统。

mount -t nfs -o nolock 192.168.1.128:/home/vuko/server/nfs /mnt
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-05-25 11:45:26  更:2022-05-25 11:46:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 14:02:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码