ZYNQ-Linux学习笔记(5)-Linux应用程序-前言 Petalinux 2018.2

前言

应用程序的编写,主要有两种方法。可以通过在终端中petalinux-create新建一个app,然后在里面编写,最后通过petalinux-build进行编译,但是这样会造成时间很长,并且调试起来会比较麻烦。这种方式适合编译一些比较小的app并且希望加入到文件系统里面的情况。在调试的阶段我推荐用下面的一种方式来进行开发应用程序,就是通过SDK来开发应用程序。这种开发方式的前提是可以通过网络远程登录到开发板上,如果不行,退而求其次通过串口登录到开发板也可以,但是会稍微麻烦,就需要通过某种方式将编译的可执行文件放到系统文件里面,可以是U盘,或者直接通过串口传输。

step1.远程登录目标板

首先将目标板跟PC保证在同一个网段下,我这里是192.168.31.8是PC,192.168.31.14是目标板,在ubuntu虚拟机下通过执行

ssh root@192.168.31.14

在这里插入图片描述
进行登录,再输入yes,然后输入你的目标板的登录密码,这里是root。
在这里插入图片描述
成功登录之后就可以远程操作目标板了。
注意:这里有可能下次登陆的时候出现以下的情况:
在这里插入图片描述
这时候可以将图片中红线的的地方复制下来在终端上输入,然后在正常登录就可以了。

step2.安装SDK,新建工程

确保登上去之后,我们需要在ubuntu下面安装SDK 2018.2具体的安装教程可以参考网上其他教程。安装完成之后打开SDK,指定一个workspace。
在这里插入图片描述
在这里插入图片描述
依次点击file->new->application project
在这里插入图片描述
按照如图所示设置app:
在这里插入图片描述
注意:这里的Linux System Root的路径是这样得到的。在之前的步骤中生成在petalinux的工程中,会用到petalinux-build来编译工程,在编译完成之后,就会的到image.ub。确保工程可以正常编译的情况下,通过执行:

petalinux-build --sdk

编译整个工程,编译完成之后,在执行:

petalinux-package --sysroot

后就可以在image.ub的目录下找到sysroot文件夹,这个文件夹就是上边路径的那个sysroot文件夹,再按照那个路径进行配置。
另外一个LinuxToolchain路径是安装petalinux2018.2的路径,如上图配置即可。

step3.编译工程

配置完成之后点击next,选择helloworld 在选择完成,就可以看到在SDK中新建的一个工程。完成之后会发现出现了许多的错误:
在这里插入图片描述
这是因为还没有设置连接导致的,通过右击工程,选择properties,在根据下图进行修改:
在这里插入图片描述
Linker FGlags就是之前填写的sysroot的路径,点击OK再编译就没有错误了。
编译生成的二进制文件在左侧的Binaries下面这个elf文件:
在这里插入图片描述

step4.在目标板上运行

编译完成之后如果想试验下,可以在ubuntu终端上先登录到目标板,然后通过执行:

scp wang@192.168.31.8:/home/wang/workspace/my_first_linux_app/Debug/my_first_linux_app.elf .

在这里插入图片描述
这样就把可执行文件拷贝到目标板了,在目标板上通过执行:

./my_first_linux_app.elf

可以看到执行成功了:
在这里插入图片描述

step5.单步调试,断点调试,debug

如果需要单步调试或者断点调试的话,要通过TCF-AGENT实现,首先在工程上右击,选择debug as->debug configration
在这里插入图片描述
显示连接成功即可
在这里插入图片描述
然后点击debug进入到debug的界面,之后就可以设置断点以及单步调试了。

总结

到这里就所有在应用程序开发之前的准备工作都已经做好了,总的来说就是通过SDK编写app,然后在板子上执行,观察效果,这个流程。
这里要说明几个需要注意的地方:
1.在每次修改完petalinux的文件系统,比如说增加文件,增加库等等,都需要重新执行petalinux-build --sdk 以及petalinux-package --sysroot来生成对应的sysroot,然后在你的app中引用这个路径,如果不重新生成,在编译的时候会说找不到库的链接。
2.编译sysroot会相对来说耗费很长时间,请耐心等待,这个跟网络也有一定的关系。
联系方式:839089604@qq.com

  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网布

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值