petalinux自动登录(开机自动运行APP)

[复制链接]
2165|2
手机看帖
扫描二维码
随时随地手机跟帖
zhangmangui|  楼主 | 2019-5-7 23:32 | 显示全部楼层 |阅读模式
创建一个新的app,并做如下修改:

#修改app内容
#include <unistd.h>
#include <stdio.h>
int main()
{   
    execlp( "login", "login", "-f", "root", 0);
}
#修改makefile 的install 目标内容,这样可以开机自动运行
$(TARGETINST) -d -p 0755 autologin /etc/init.d/autologin
$(TARGETINST) -s /etc/init.d/autologin /etc/rc5.d/S99autologin

使用特权

评论回复

相关帖子

zhangmangui|  楼主 | 2019-5-7 23:42 | 显示全部楼层
在我们用petalinux 建立好了 zynq 7000的工程后,我就迫切想做一个简单的程序测试一下。我们就来一个petalinux 下的helloworld 实验。
1: 工程建立
打开 xilinx sdk2018.2, 新建工程,出现如下界面。 取工程名 hello_linux, Os Platform 选择为linux。
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xlb25femVuZzA=,size_16,color_FFFFFF,t_70.jpg
点击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 界面,在这里新建连接或者点+ 快捷。 参考下图:
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xlb25femVuZzA=,size_16,color_FFFFFF,t_70.jpg
我这个界面实际上建立好了的。
新建连接对话框如下:
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xlb25femVuZzA=,size_16,color_FFFFFF,t_70.jpg
在这里给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,上面命名的。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xlb25femVuZzA=,size_16,color_FFFFFF,t_70.jpg
然后转到 Application ,这里要设置好 Local File path 和 Remote file Path。
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xlb25femVuZzA=,size_16,color_FFFFFF,t_70.jpg
4: 运行或调试程序
右键点击工程 Debug As 或者Run As,然后Launch on hardware。 如下界面是 Run AS 的结果,在 TCF Debug Process Console 下显示 hello world 。 这就确定petalinux 下的第一个程序运行成功了。
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xlb25femVuZzA=,size_16,color_FFFFFF,t_70.jpg
打开petalinux 的串口终端, 查看到 /mnt 下确实有hello_linux.elf 文件。

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

使用特权

评论回复
q973979162| | 2020-2-22 19:44 | 显示全部楼层
你可是难得来坐坐啊~~~

使用特权

评论回复
发新帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:欢迎进入【TI DSP 论坛】 & 【DSP 技术】           TI忠诚粉丝!

934

主题

26374

帖子

585

粉丝