0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

英创信息技术Linux脚本启动应用程序方法简介

英创信息技术 来源:英创信息技术 作者:英创信息技术 2020-01-17 10:23 次阅读

在英创Linux主板的使用必读中,已经详细的介绍了使用userinfo.txt来配置系统开机自动执行程序的方法,详情可以参见英创Linux主板的使用必读手册。

还有一种方法是在终端下使用命令行来自动执行程序,如果客户比较习惯使用Linux命令行模式就可以使用这种方法。这种方法的好处是比较灵活,用户可自主配置,即在执行程序之前,可以自己编辑输入一些其他命令或者设置一些专用的环境变量。

在英创的嵌入式Linux板卡中集成了相应启动管理程序,用户只需要编辑一个名为user.sh的Linux脚本文件,然后将user.sh放在英创Linux主板的/mnt/nandflash目录下即可实现脚本自动启动应用程序的功能。当userinfo.txt和user.sh同时存在的情况下,系统会优先选择读取user.sh,同时userinfo.txt文件中指定的启动程序不起作用了。下面来详细介绍如何使用这种方法。

首先需要编辑user.sh,因为user.sh是一个Linux脚本文件,所以在Linux系统环境下就可以进行编辑。将user.sh拷贝到装有Linux系统的主机中,使用cd命令进入响应的目录,再使用命令gedit user.sh编辑脚本文件。在脚本文件中,输入需要执行的命令即可。

编辑脚本

如图所示,只是输入了一个最简单的执行程序命令,进入到nandflash中,然后执行hello这个程序。编辑好之后,保存。

如果没有搭建好的Linux系统环境,要在Windows系统的环境下编辑这个脚本文件,那就需要使用单独的编辑器。这是因为Windows下DOS文本格式的换行符和Linux系统中格式使用的换行符不同,所以使用Windows自带的文本编辑器编辑,在Linux下会出现不能识别换行符的情况。

这里可以推荐给客户两款很方便软件使用:Notepad2和PSPad。在Windows下使用这两款软件编辑这个脚本文件就行,下面分别是使用这两款软件的编辑界面。

使用Notepad2编辑界面

使用PSPad编辑界面

将编辑好的user.sh放到英创Linux主板的/mnt/nandflash/目录下,同时要将需要执行的程序放在user.sh中指定的运行路径。

复制user.sh到nandflash目录下

断开JP1,重新启动主板进入运行模式,便能够自动执行user.sh中的命令,来启动设置好的程序。

可以看到系统开机后,自动执行了hello这个程序。

如果使用了Windows自带的文字编辑器,比如写字板,编辑了user.sh脚本文件。会出现错误提示。

错误提示

这是因为前面提到过的,Linux不能识别DOS文本下的换行符。使用VI打开/mnt/nandflash/中的user.sh查看,会发现换行符的地方多了^M这个符号。

换行的地方多了^M

如果遇见这种情况,进入到/mnt/nandflash/目录中,使用命令dos2unix user.sh可以将DOS文本格式user.sh转换成Linux格式。转换以后,再使用VI进行查看,已经正确。

经过转换的user.sh已经正确

再重启主板,就能够正确的执行程序了。

正确启动程序

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • WINDOWS
    +关注

    关注

    3

    文章

    3515

    浏览量

    88275
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6084

    浏览量

    35137
收藏 人收藏

    评论

    相关推荐

    中科达荣获2024年软件和信息技术服务优秀企业

    及前百家企业”名单。中科达凭借非凡的技术实力与持续的创新能力,成功入选“2024年度软件和信息技术服务竞争力百强企业”以及“2024年软件和信息技术服务优秀企业”。
    的头像 发表于 10-30 11:44 252次阅读

    Linux计划任务crontab运行脚本不正确的问题

    写好的程序希望在崩溃之后能够自启动,于是利用linux的crontab功能,添加一个计划任务,每分钟执行一个脚本查看需要监控的进程是否还在,如果不在则
    的头像 发表于 10-23 13:36 150次阅读

    linux驱动程序的编译方法是什么

    Linux驱动程序的编译方法主要包括两种: 与内核一起编译 和 编译成独立的内核模块 。以下是对这两种方法的介绍: 一、与内核一起编译 与内核一起编译意味着将驱动
    的头像 发表于 08-30 14:46 320次阅读

    4.3s,Linux快速启动优化方法分享,基于全志T113-i国产平台!

    的时间为4.3秒,从上电至显示Qt界面的时间为7.7秒。详细数据请参考如下表格: 图1 T113-i系统快速启动优化方法本节内容对T113-i(其他嵌入式平台亦可参考)Linux系统快速
    发表于 07-09 11:50

    Linux开机启动方案

    不管组件是否已经安装为系统服务,可以通过开机启动脚本实现 注意,以下操作,均需要设置相关脚本的可执行权限,即 chmod +x 启动脚本 方法一:追加
    发表于 04-22 09:45 231次阅读

    RX78M组 EtherCAT ETG.5003示例程序固件信息技术

    电子发烧友网站提供《RX78M组 EtherCAT ETG.5003示例程序固件信息技术.pdf》资料免费下载
    发表于 02-21 14:22 1次下载
    RX78M组  EtherCAT ETG.5003示例<b class='flag-5'>程序</b>固件<b class='flag-5'>信息技术</b>

    DFU PSOC4 Bootloader无法启动应用程序怎么解决?

    3.0 生成的可引导加载程序会自行启动。 MDT 2.4 和 MDT 3.0 项目中的链接脚本没有区别(文件顶部的版本除外)。 我想说该应用程序尚未经过验证(cy_dfu_valid
    发表于 01-30 07:43

    PSoC4固件更新,应用程序无法启动是为什么?

    正常工作,我正在使用 SHA256 哈希来验证写入 Flash 的图像。但是,当我在 ram common 中设置应用程序编号后重置系统时,应用程序无法启动引导加载程序。 有几个问题:
    发表于 01-30 06:38

    如何构建linux开发环境和编译软件工程、应用程序

    前文介绍了如何使用官方提供的镜像文件启动开发板,本文将说明如何构建linux开发环境和编译软件工程、应用程序
    的头像 发表于 01-03 12:31 1837次阅读
    如何构建<b class='flag-5'>linux</b>开发环境和编译软件工程、<b class='flag-5'>应用程序</b>

    通过JTAG启动Linux方法脚本

    存储器(QSPI Flash,eMMC 等)上的镜像,直接启动Linux。但当板子调试时,经常需要通过 JTAG 把 SoC 器件启动Linux。这篇文章将分享通过 JTAG
    的头像 发表于 12-22 10:27 1335次阅读
    通过JTAG<b class='flag-5'>启动</b><b class='flag-5'>Linux</b>的<b class='flag-5'>方法</b>和<b class='flag-5'>脚本</b>

    Linux系统中调用脚本的常见方法

    linux系统中有多种方法可以在系统启动后调用脚本,接下来介绍几种常见的方法
    的头像 发表于 12-13 18:16 957次阅读

    安装Linux后windows在哪启动

    操作系统引导加载程序,可以管理多个操作系统的启动。它允许用户在系统启动时选择要运行的操作系统。本文将详细介绍 Linux 安装后 Windows 的
    的头像 发表于 11-28 15:02 1067次阅读

    嵌入式Linux应用程序开发详解-第3章

    电子发烧友网站提供《嵌入式Linux应用程序开发详解-第3章.pdf》资料免费下载
    发表于 11-16 11:19 0次下载
    嵌入式<b class='flag-5'>Linux</b><b class='flag-5'>应用程序</b>开发详解-第3章

    嵌入式Linux应用程序开发详解-第2章

    电子发烧友网站提供《嵌入式Linux应用程序开发详解-第2章.pdf》资料免费下载
    发表于 11-16 11:18 0次下载
    嵌入式<b class='flag-5'>Linux</b><b class='flag-5'>应用程序</b>开发详解-第2章

    全志Tina Linux下busybox init 简介

    ,用户自定义启动脚本。 用户可在tina/packge/busybox-init-base-files/files/etc/init.d/下创建一个rc.final脚本,自定义启动应用程序
    发表于 11-15 09:36