ZYNQ - 嵌入式Linux开发 -08- linux应用程序开发(一)

简介: ZYNQ - 嵌入式Linux开发 -08- linux应用程序开发

写在前面


本文主要介绍了关于zynq的linux应用程序的开发,主要介绍了三种工程应用程序开发的方法,以及三种进行传输应用程序进行板卡验证的方法。

linux应用程序开发


Windows下建立linux工程


Ubuntu下的XSDK,在Windows下使用Xsdk基本大同小异,所以在该工程Windows下进行建立工程,打开sdk软件,然后进行新建项目。

image.png

配置文件路径和项目名称,所使用的OS平台选择linux,点击next,

image.png

可以选择空工程或者选择helloworld模板工程,这里可以默认模板工程进行建立,点击finish完成创建。

image.png

出现helloworld的文件表示工程创建完成。

Ubuntu下使用petalinux建立工程


进入到petalinux工程路径下,运行创建app工程命令:

petalinux-create -t apps -n linuxdemo --template  c

上述命令表示建立一个工程名为linuxdemo,c 的模板工程。

image.png

执行完成后在终端中返回工程路径。

在上述文件夹中可以找到源文件,可以对源文件进行编写代码增加功能。

image.png

image.png

完成代码编写后,进行编译工程,使用build命令:

petalinux-build -c linuxdemo -x do_compile

上述命令表示对linuxdemo工程进行编译。

在下面路径下可以找到我们的编译后的可执行文件,

build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/linuxdemo/1.0-r0/

image.png

编译完成后可以远程拷贝执行文件到板卡上。

使用交叉编译进行工程开发


首先依旧是完成源代码的编写,这里就复制了模板工程里的helloworld的c文件,然后进行交叉编译。在petalinux工程目录下新建一个文件夹,将c文件拷贝到该文件夹下。

image.png

在Ubuntu的终端中,输入arm后点击两次tab键会出现和arm相关的交叉编译的工具,输入

arm-linux-gnueabihf-gcc linuxdemo.c -o demo

编译后输出了默认文件名,可以对输出文件进行指定命名。这里我指定命名为了demo,输出的可执行文件可以使用上面的几种方式在开发板上进行运行。

程序功能验证的途径方法


使用FileZilla传输访问


打开FileZilla,新建站点,

image.png

将elf文件复制到home/root路径下,

image.png

修改文件权限,使得elf可执行。

chmod a+x zynqlinux.elf

此时在终端中运行该程序将会打印hello world。

image.png

目录
相关文章
|
4天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
40 13
|
1月前
|
缓存 Linux 开发者
Linux内核中的并发控制机制:深入理解与应用####
【10月更文挑战第21天】 本文旨在为读者提供一个全面的指南,探讨Linux操作系统中用于实现多线程和进程间同步的关键技术——并发控制机制。通过剖析互斥锁、自旋锁、读写锁等核心概念及其在实际场景中的应用,本文将帮助开发者更好地理解和运用这些工具来构建高效且稳定的应用程序。 ####
41 5
|
1月前
|
存储 安全 关系型数据库
Linux系统在服务器领域的应用与优势###
本文深入探讨了Linux操作系统在服务器领域的广泛应用及其显著优势。通过分析其开源性、安全性、稳定性和高效性,揭示了为何Linux成为众多企业和开发者的首选服务器操作系统。文章还列举了Linux在服务器管理、性能优化和社区支持等方面的具体优势,为读者提供了全面而深入的理解。 ###
|
2月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
110 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
2月前
|
监控 安全 Java
linux服务器上启动framework应用程序流程
【10月更文挑战第17天】在Linux服务器上启动Framework应用程序需经过准备工作、部署、启动、监控及访问五个步骤。首先确保服务器满足系统要求并安装依赖项;接着上传应用文件,编译构建,配置参数;然后通过脚本、命令行或系统服务启动应用;启动后检查日志,监控性能;最后确认访问地址,验证应用运行状态。具体操作应参照应用文档。
|
2月前
|
监控 Java Linux
linux服务器上启动framework应用程序流程
【10月更文挑战第18天】在 Linux 服务器上启动框架应用程序的流程包括:准备工作(确保访问权限、上传部署文件、了解启动要求)、检查依赖项、配置环境变量、切换到应用程序目录、启动应用程序、监控启动过程以及验证应用程序是否正常运行。具体步骤可能因应用程序类型和框架而异。
|
3月前
|
存储 Linux 开发工具
如何进行Linux内核开发【ChatGPT】
如何进行Linux内核开发【ChatGPT】
|
4月前
|
Java Linux API
Linux设备驱动开发详解2
Linux设备驱动开发详解
54 6
|
4月前
|
消息中间件 算法 Unix
Linux设备驱动开发详解1
Linux设备驱动开发详解
58 5
|
4月前
|
Unix Linux Ruby
在windows和linux上高效快捷地发布Dash应用
在windows和linux上高效快捷地发布Dash应用
下一篇
DataWorks