单片机
返回首页

arm-linux之为开发板写上电自启动程序之方法

2020-04-06 来源:eefocus

开发环境


开发板:AM335

虚拟机:ubuntu 14.04

编译器:gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf

开发板内核:linux 4.4.12


首先开发板的文件使用的是systemd 并没有/etc/rc.local文件 所以要想修改rc.local这一简单的操作已经不存在 但是也是可以用systemd和initd两种方式解决这个问题

1.systemd

我这里是修改自带的service


root@am335x-evm:/etc/rc5.d# ls /lib/systemd/system/rc-local.service 

/lib/systemd/system/rc-local.service


在开发板这个目录我找到了rc-local.service文件 查看其内容


root@am335x-evm:/etc/rc5.d# cat /lib/systemd/system/rc-local.service   

#  This file is part of systemd.

#

#  systemd is free software; you can redistribute it and/or modify it

#  under the terms of the GNU Lesser General Public License as published by

#  the Free Software Foundation; either version 2.1 of the License, or

#  (at your option) any later version.


# This unit gets pulled automatically into multi-user.target by

# systemd-rc-local-generator if /etc/rc.local is executable.

[Unit]

Description=/etc/rc.local Compatibility

ConditionFileIsExecutable=/etc/rc.local

After=network.target


[Service]

Type=forking

ExecStart=/etc/rc.local start

TimeoutSec=0

RemainAfterExit=yes


可见开发板是支持/etc/rc.local文件的使用的 但是开发板下又没有/etc/rc.local文件 所以我们只能自己去建立了

在/lib/systemd/system/rc-local.service下加多一段文字


[Install]

WantedBy=multi-user.target


multi-user.target指明的是非图形界面的多用户方式


然后就去创建rc.local文件


vi /etc/rc.cal


然后加入以下代码


#!/bin/sh

case '$1' in

start)

/file_creat Tronlong                          

;;

stop)

exit 0;;      

esac


然后就输入以下命令


    # chmod +x /etc/rc.local

    # systemctl   enable   rc-local.service

    # systemctl   --system  daemon-reload

    # systemctl   start  rc-local.service


然后重启后就可以看到Tronlong这个文件了


2.initd

首先创建/etc/init.d/helloworld文件

vi /etc/init.d/helloworld

内容为


#!/bin/sh

xxxxxxxx //你要启动的程序命令


#  chmod +x /etc/init.d/helloworld  //加可执行权限

#  ln -sf /etc/init.d/helloworld /etc/rc5.d/S99helloworld  //建立链接

#  update-rc.d helloworld start 99 2 .  //设置成开机启动项


然后重启就能看到程序运行了

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 基于IC555的可变PWM振荡器电路

  • 优化电路板布局的简单方法

  • 如何使用LED驱动器LM3915制作振动计

  • 分享一个电网倾角计电路

  • 电谐波图形均衡器示意图

  • 一种构建12V和230V双直流电源的简单方法

    相关电子头条文章