petalinux 2018.2 下的helloworld 实验

在我们用petalinux 建立好了 zynq 7000的工程后,我就迫切想做一个简单的程序测试一下。我们就来一个petalinux 下的helloworld 实验。

1: 工程建立

打开 xilinx sdk2018.2, 新建工程,出现如下界面。 取工程名 hello_linux, Os Platform 选择为linux。

petalinux 2018.2 下的helloworld 实验_第1张图片

点击Next, 在界面里选择 Linux Hello World 模板。然后Finish。

工程文件就建立好了。打开source 下的helloworld.c 文件,内容如下:

#include

int main()
{
    printf("Hello World\n");

    return 0;
}

2:调试环境,TCF 代理连接的建立

有些文档说建立petalinux工程应该使能 TCF 代理,我没专门设置,可能缺省是使能的。

在sdk 界面的左下角有个Target Connections 界面,在这里新建连接或者点+ 快捷。 参考下图:

petalinux 2018.2 下的helloworld 实验_第2张图片

我这个界面实际上建立好了的。

新建连接对话框如下:

petalinux 2018.2 下的helloworld 实验_第3张图片

在这里给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,上面命名的。


petalinux 2018.2 下的helloworld 实验_第4张图片

然后转到 Application ,这里要设置好 Local File path 和 Remote file Path。

petalinux 2018.2 下的helloworld 实验_第5张图片

4: 运行或调试程序

右键点击工程 Debug As 或者Run As,然后Launch on hardware。 如下界面是 Run AS 的结果,在 TCF Debug Process Console 下显示 hello world 。 这就确定petalinux 下的第一个程序运行成功了。

petalinux 2018.2 下的helloworld 实验_第6张图片

打开petalinux 的串口终端, 查看到 /mnt 下确实有hello_linux.elf 文件。

在这里还有重要一点,当你多次修改并Debug 程序的时候,会报错。

我开始一直很疑惑,后来别人告诉我。 修改文件后, 由于这个文件的老版本还在,使他无法下载,需要手工删除,或者你要改名字。总之不能有同名的文件存在。如果不修改,只是多次debug 也可能不会有问题。

好的,petalinux 下的第一个程序 hello world 就介绍到此。

你可能感兴趣的:(fpga,zynq,arm,c++)