在我们用petalinux 建立好了 zynq 7000的工程后,我就迫切想做一个简单的程序测试一下。我们就来一个petalinux 下的helloworld 实验。
1: 工程建立
打开 xilinx sdk2018.2, 新建工程,出现如下界面。 取工程名 hello_linux, Os Platform 选择为linux。
点击Next, 在界面里选择 Linux Hello World 模板。然后Finish。
工程文件就建立好了。打开source 下的helloworld.c 文件,内容如下:
#include <stdio.h>
int main()
{
printf("Hello World\n");
return 0;
}
2:调试环境,TCF 代理连接的建立
有些文档说建立petalinux工程应该使能 TCF 代理,我没专门设置,可能缺省是使能的。
在sdk 界面的左下角有个Target Connections 界面,在这里新建连接或者点+ 快捷。 参考下图:
我这个界面实际上建立好了的。
新建连接对话框如下:
在这里给target 取名,这里为mz701,
Type 选择 Linux TCF Agent,
Host 为主机ip 地址,这里是 192.168.1.100. 这个地址是petalinux 目标机的地址,可以在petalinux串口终端 ifconfig 看到。
Port 是端口号,这个固定为1534
这些参数输入好后, 可以点击 Test Connection 。 上图中的下面对话框就是点击后显示的。
3: Debug 配置的设置
在测试代理连接建立好后,菜单 Run -> Debug Configurations, 或者右键打开也可以。
首先设置 Target Setup, 选择 Debug Type 为 Linux Application Debug, 然后选择上面建立好的Connection 为 mz701,上面命名的。
然后转到 Application ,这里要设置好 Local File path 和 Remote file Path。
4: 运行或调试程序
右键点击工程 Debug As 或者Run As,然后Launch on hardware。 如下界面是 Run AS 的结果,在 TCF Debug Process Console 下显示 hello world 。 这就确定petalinux 下的第一个程序运行成功了。
打开petalinux 的串口终端, 查看到 /mnt 下确实有hello_linux.elf 文件。
在这里还有重要一点,当你多次修改并Debug 程序的时候,会报错。
我开始一直很疑惑,后来别人告诉我。 修改文件后, 由于这个文件的老版本还在,使他无法下载,需要手工删除,或者你要改名字。总之不能有同名的文件存在。如果不修改,只是多次debug 也可能不会有问题。
好的,petalinux 下的第一个程序 hello world 就介绍到此。