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

目录
相关文章
|
7月前
|
安全 应用服务中间件 网络安全
在Linux环境部署Flask应用并启用SSL/TLS安全协议
至此,你的Flask应用应该能够通过安全的HTTPS协议提供服务了。记得定期更新SSL证书,Certbot可以帮你自动更新证书。可以设定cronjob以实现这一点。
525 10
|
7月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
754 13
|
6月前
|
存储 数据采集 监控
ubuntu(linux)系统主要应用于哪些工业场景中?研维三防ubuntu系统的手持工业三防平板电脑在哪些行业中有实际应用
Ubuntu 系统凭借其独特的优势,在众多工业场景中得到了广泛应用,为工业数字化、智能化发展提供了有力支持。而研维三防基于 Ubuntu 定制系统的手持工业三防平板电脑,更是将 Ubuntu 系统的优势与工业级的性能、坚固耐用性完美结合,在电力、物流、制造等多个行业中展现出强大的应用价值,助力企业提高生产效率、优化管理流程、提升产品质量,成为推动工业现代化发展的重要力量。随着技术的不断进步与创新,相信 Ubuntu 系统以及研维三防这类工业级设备将在更多的工业领域中发挥更大的作用,为工业发展带来更多的机遇与变革。
|
9月前
|
Ubuntu 搜索推荐 Linux
详解Ubuntu的strings与grep命令:Linux开发的实用工具。
这就是Ubuntu中的strings和grep命令,透明且强大。我希望你喜欢这个神奇的世界,并能在你的Linux开发旅程上,通过它们找到你的方向。记住,你的电脑是你的舞台,在上面你可以做任何你想做的事,只要你敢于尝试。
457 32
|
11月前
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
3163 77
|
9月前
|
安全 测试技术 Linux
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
313 2
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
|
机器学习/深度学习 安全 Linux
Linux 主要应用领域的归纳
服务器领域 Linux在服务器领域的应用是其最为广泛和成熟的领域之一。由于其开源、稳定、高效和安全的特性,Linux成为许多企业服务器的首选操作系统。 Web服务器:Linux是Web服务器的理想选择,因为它支持Apache、Nginx等流行的Web服务器软件,这些软件在Linux上运行稳定且性能卓越。Linux服务器可以高效地处理大量并发请求,提供快速、可靠的Web服务。 数据库服务器:Linux也广泛用于数据库服务器,如MySQL、PostgreSQL和Oracle等数据库管理系统在Linux上运行良好。Linux的稳定性和安全性使得它成为存储和管理敏感数据的理想平台。 邮件服务器:Lin
691 5
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
717 15
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
616 13
|
缓存 Linux 开发者
Linux内核中的并发控制机制:深入理解与应用####
【10月更文挑战第21天】 本文旨在为读者提供一个全面的指南,探讨Linux操作系统中用于实现多线程和进程间同步的关键技术——并发控制机制。通过剖析互斥锁、自旋锁、读写锁等核心概念及其在实际场景中的应用,本文将帮助开发者更好地理解和运用这些工具来构建高效且稳定的应用程序。 ####
300 5