日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于RK3576開發(fā)板的應用程序開機自啟動方法

ljx2016 ? 來源:ljx2016 ? 作者:ljx2016 ? 2025-05-06 10:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 簡要介紹:

Systemd 是一個系統(tǒng)和服務管理器,也是 Linux 操作系統(tǒng)中最常用的【初始化系統(tǒng)】之一。最早是為了代替?zhèn)鹘y(tǒng)的初始化系統(tǒng)(init)而開發(fā)的,相較于傳統(tǒng) init,systemd 具有支持并行啟動,【可同時啟動多個服務】,提高系統(tǒng)啟動速度的優(yōu)勢,可以更好地管理系統(tǒng)和服務進程。目前,許多主流 Linux 發(fā)行版都采用了 systemd 作為其默認的初始化系統(tǒng),包括 Ubuntu、Debian、Fedora、CentOS、Arch Linux 等。

1.1 服務單元文件

Systemd通過【服務單元文件】進行開機啟動管理。【服務單元文件】指的是在 /etc/systemd/system 目錄中以“.service”后綴的結尾的文件。

2. 操作指導:

2.1 配置開機啟動服務

建立adb連接(不清楚如何操作,可參考《入門指南/調試方式介紹/adb調試》)

執(zhí)行命令,切換到板卡環(huán)境:

adb shell
wKgZPGgZepKAWwNoAABZ6_UM3RI296.png

首先我們在 /etc/systemd/system/ 創(chuàng)建一個自己的【服務單元文件(Systemd Service)】:myservice.service。

cd /etc/systemd/system/ 
vim myservice.service
wKgZO2gZepKAZiD9AAFZUnaxZSA361.png

注意:Systemd Service 既可位于 /etc/systemd/system(供系統(tǒng)管理員和用戶使用),也可以位于/usr/lib/systemd/system(供發(fā)行版打包者使用),我們一般使用前者即可。

【服務單元文件】腳本文件以 .service 結尾,由 Unit、Service 和 Install 三個區(qū)塊組成,以下為 service 文件腳本樣例:

wKgZPGgZepKAIC1WAABfwRrU3h8731.png

注意:GUI應用需要在桌面系統(tǒng)啟動后再啟動ExecStart為指定啟動單元的命令或者腳本,是配置文件里面最重要的字段,下面來演示如何創(chuàng)建并編輯腳本。

2.2 創(chuàng)建并編輯腳本

創(chuàng)建一個可執(zhí)行的腳本用于啟動Service進程,用戶可根據(jù)需求向腳本寫入需要執(zhí)行的可執(zhí)行文件,此處的腳本僅服務于演示需要。

執(zhí)行命令,先定位到/userdata目錄:

cd /userdata

然后通過vim命令,可以創(chuàng)建start_app.sh腳本進行編輯:

touch start.sh
chmod 755 start.sh
vim start_app.sh
wKgZO2gZepKAcvKRAAAf2043sPs804.png

注意:這里簡單地通過編譯hellomonster.c生成了hellomonster可執(zhí)行文件,僅為在此進行說明演示。用戶需根據(jù)自己需求向腳本寫入需要執(zhí)行的可執(zhí)行文件。

2.3 驗證開機啟動:

在創(chuàng)建或修改任何【服務單元文件】后,我們必須讓 systemd 知道有新的【服務單元文件被創(chuàng)建】或者【服務單元文件被修改】,可通過下方命令讓systemd執(zhí)行查找與同步:

systemctl daemon-reload

此時,我們新的【服務單元文件】應該已經(jīng)被識別,我們可通過下方命令啟動它:

systemctl start myservice.service

最后,告訴 systemd 使能新的【服務單元文件】,以便每次開機啟動時它都會啟動:

systemctl enable myservice.service

注意:您不會從此命令中獲得反饋,因為它所做的只是向 systemd 發(fā)送一條消息,告訴它啟動您的服務。您鍵入的命令不會停留以查看接下來會發(fā)生什么。

我們可以用以下命令來檢查我們的服務,確保它看起來沒問題

systemctl status myservice.service
wKgZPGgZepOAXWqgAADnQsf2wzI330.png

Loaded行:配置文件的位置,是否設為開機啟動

Active行:表示正在運行

Main PID行:主進程ID

CGroup塊:應用的所有子進程

日志塊:應用的日志

下面我們進行軟件重啟,在adb shell環(huán)境下輸入重啟命令

reboot

進入板卡環(huán)境

adb shell

最終程序運行后,可在ps -x進程列表中看到進程在啟動運行

ps -x
wKgZO2gZepOASFDhAAFzb5qrDrk471.png

注意:要在該程序源代碼中加入死循環(huán),否則無法看到該程序正在運行

3. 詳細說明

wKgZPGgZepOAT_c3AABfwRrU3h8302.png

3.1 [Unit] 啟動順序與依賴關系

定義控制單元 [Unit]

所有引導過程中 Systemd 要控制的東西都是一個單元?;镜挠梅ㄈ缦拢?/p>

Description:代表整個單元的描述,可根據(jù)需要簡單填寫。

Environment:環(huán)境變量或參數(shù)(系統(tǒng)環(huán)境變量此時無法使用)

After:描述服務類別,表示本服務需要在某服個務(*.service)或多個服務啟動后再啟動,也可以表示需要在某個服務組(*.target)啟動后再啟動。【注意:GUI應用需要在桌面系統(tǒng)啟動后再啟動】

Before:表示本服務需要在某些服務啟動之前啟動。

Defaultdependencies=no 可以禁止默認依賴的注入,是為了【減少錯誤】 和 【減少單元配置文件的體量】。

Wants:本單元啟動了,它“想要”的單元也會被啟動。但是這個單元若啟動不成功,對本單元沒有影響。

Requires: 這個設定并不能控制啟動順序,它表示"強依賴"關系,即如果該服務啟動失敗或異常退出,則本單元也無法啟動,所以不建議使用這個字段。

OnFailure:若本單元啟動失敗了,那么啟動這個單元作為折衷。

3.2 [Service] 啟動行為

定義服務本體 [service]

在定義完了 Systemd 用來識別服務的單元后,我們來定義服務本體?;镜挠梅ㄈ缦拢?/p>

Type:服務的類型,各種類型的區(qū)別如下所示

simple:默認,這是最簡單的服務類型。ExecStart字段啟動的進程為主進程

forking:ExecStart 字段將以 fork() 方式啟動,此時父進程將會退出,子進程將成為主進程(例如用 shell 腳本啟動服務進程)。

oneshot:適用于那些被一次性執(zhí)行的任務或者命令,它運行完成后便了無痕跡。類似于simple,但只執(zhí)行一次,Systemd 會等它執(zhí)行完,才啟動其他服務。

dbus:這個程序啟動時需要獲取一塊 DBus 空間,所以需要和 BusName= 一起用。只有它成功獲得了 DBus 空間,依賴它的程序才會被啟動。

ExecStart:在輸入的命令是start時候執(zhí)行的命令,這里的命令啟動的程序必須使用絕對路徑,比如你必須用/sbin/arp而不能簡單的以環(huán)境變量直接使用arp。

ExecStop:在輸入的命令是stop時候執(zhí)行的命令,要求同上。

ExecReload:這個不是必需,如果不寫則你的service就不支持restart命令。ExecStart和ExecStop是必須要有的。

3.3 [Install] 安裝服務

安裝服務 [install]

服務編寫完之后還需要被systemd裝載,定義安裝單元各個字段如下:

WantedBy:設置服務被誰裝載,一般設置為multi-user.target

執(zhí)行以下命令可查看multi-user.target所包含的所有服務

systemctl list-dependencies multi-user.target
wKgZO2gZepOAaHNvAAFdb4oe-jY703.png

3.4 關于TARGET

Target 的含義是【服務組】,如 WantedBy=multi-user.target 指的是該服務所屬于 multi-user.target。當執(zhí)行以下命令時,xxx.service 的符號鏈接就會被創(chuàng)建在 /etc/systemd/system/multi-user.target 目錄下。

systemctl enable xxx.service

可以通過以下命令查看系統(tǒng)默認啟動的 target

systemctl get-default

一般為 multi-user 或者是 graphical。因此配置好相應的 WantedBy 字段,可以實現(xiàn)服務的開機啟動。

注意:常用的 Target 有兩個:一個是multi-user.target,表示多用戶命令行狀態(tài);另一個是graphical.target,表示圖形用戶狀態(tài),它依賴于multi-user.target。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 開發(fā)板
    +關注

    關注

    26

    文章

    6446

    瀏覽量

    121253
  • rk3576
    +關注

    關注

    1

    文章

    306

    瀏覽量

    1701
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    維護成本直降!RK3576核心/開發(fā)板OTA升級功能詳解,觸覺智能瑞芯微RK方案商

    觸覺智能旗下瑞芯微RK3576核心/開發(fā)板產(chǎn)品方案,已新增支持【OTA升級功能】。下文將為大家?guī)碓敿毜?b class='flag-5'>RK3576OTA升級操作指南。
    的頭像 發(fā)表于 04-21 10:30 ?287次閱讀
    維護成本直降!<b class='flag-5'>RK3576</b>核心<b class='flag-5'>板</b>/<b class='flag-5'>開發(fā)板</b>OTA升級功能詳解,觸覺智能瑞芯微<b class='flag-5'>RK</b>方案商

    【硬核拆解】從“芯”開始,一臺工業(yè)級迅為RK3576開發(fā)板的自我修養(yǎng)

    【硬核拆解】從“芯”開始,一臺工業(yè)級迅為RK3576開發(fā)板的自我修養(yǎng)
    的頭像 發(fā)表于 03-02 15:43 ?527次閱讀
    【硬核拆解】從“芯”開始,一臺工業(yè)級迅為<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>的自我修養(yǎng)

    RK3576開發(fā)板OpenGL性能大起底,這數(shù)據(jù)我真的服了

    瑞芯微RK3576芯片作為一款中高端的八核Arm架構嵌入式處理器,集成Mali-G52MC3的GPU。本次OpenGL性能測試,基于觸覺智能RK3576開發(fā)板PurplePiOH2演示。為了回饋大家
    的頭像 發(fā)表于 01-16 17:20 ?1835次閱讀
    <b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>OpenGL性能大起底,這數(shù)據(jù)我真的服了

    迅為如何在RK3576上部署YOLOv5;基于RK3576構建智能門禁系統(tǒng)

    迅為如何在RK3576開發(fā)板上部署YOLOv5;基于RK3576構建智能門禁系統(tǒng)
    的頭像 發(fā)表于 11-25 14:06 ?2019次閱讀
    迅為如何在<b class='flag-5'>RK3576</b>上部署YOLOv5;基于<b class='flag-5'>RK3576</b>構建智能門禁系統(tǒng)

    如何移植EtherCAT Igh--基于米爾RK3576開發(fā)板

    本文將介紹基于米爾電子MYD-LR3576開發(fā)板(米爾基于瑞芯微RK3576開發(fā)板)的端移植EtherCATIgh方案的
    的頭像 發(fā)表于 09-26 08:04 ?1w次閱讀
    如何移植EtherCAT Igh--基于米爾<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>

    【作品合集】米爾RK3576開發(fā)板測評

    米爾RK3576開發(fā)板測評作品合集 產(chǎn)品介紹: RK3576 是瑞芯微一款面向AI市場推出的高性能處理器,它配備了四核Cortex-A72和四 核Cortex-A53 的 CPU,集成了6TOPS
    發(fā)表于 09-11 10:19

    【作品合集】靈眸科技EASY EAI Orin Nano(RK3576開發(fā)板測評

    EASY EAI Orin Nano(RK3576開發(fā)板測評作品合集 產(chǎn)品介紹: EASY EAI Orin Nano(RK3576)是廣州靈眸科技有限公司的旗艦級硬件產(chǎn)品?;谌鹦疚?/div>
    發(fā)表于 09-09 09:59

    如何在RK3576開發(fā)板端編譯OpenCV并搭建應用

    本文將介紹基于米爾電子MYD-LR3576開發(fā)板(米爾基于瑞芯微RK3576開發(fā)板)的端編譯OpenCV及環(huán)境搭建方案的
    的頭像 發(fā)表于 08-08 08:04 ?3707次閱讀
    如何在<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>上<b class='flag-5'>板</b>端編譯OpenCV并搭建應用

    迅為RK3576開發(fā)板攝像頭實時推理測試-ppseg?圖像分割

    迅為RK3576開發(fā)板攝像頭實時推理測試-ppseg 圖像分割
    的頭像 發(fā)表于 07-11 14:31 ?1072次閱讀
    迅為<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>攝像頭實時推理測試-ppseg?圖像分割

    ElfBoard技術貼|【RK3588】ELF 2開發(fā)板開機自啟動詳解

    在嵌入式系統(tǒng)開發(fā)中,合理管理開機自啟動項目能夠優(yōu)化系統(tǒng)啟動流程,確保關鍵服務和應用按時加載運行。本文將詳細介紹在ELF2開發(fā)板Linux5.
    的頭像 發(fā)表于 06-27 16:20 ?2261次閱讀
    ElfBoard技術貼|【<b class='flag-5'>RK</b>3588】ELF 2<b class='flag-5'>開發(fā)板</b><b class='flag-5'>開機</b><b class='flag-5'>自啟動</b>詳解

    迅為RK3576開發(fā)板NPUrknn-toolkit2環(huán)境搭建和使用docker環(huán)境安裝

    迅為RK3576開發(fā)板NPUrknn-toolkit2環(huán)境搭建和使用docker環(huán)境安裝
    的頭像 發(fā)表于 06-18 15:22 ?1524次閱讀
    迅為<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>NPUrknn-toolkit2環(huán)境搭建和使用docker環(huán)境安裝

    迅為RK3576開發(fā)板NPU例程測試-rknn-toolkit2環(huán)境搭建和使用

    迅為RK3576開發(fā)板NPU例程測試-rknn-toolkit2環(huán)境搭建和使用
    的頭像 發(fā)表于 06-17 13:46 ?2059次閱讀
    迅為<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>NPU例程測試-rknn-toolkit2環(huán)境搭建和使用

    迅為RK3576核心高算力AI開發(fā)板開啟智能應用新時代

    迅為RK3576核心高算力AI開發(fā)板開啟智能應用新時代
    的頭像 發(fā)表于 06-10 14:13 ?1897次閱讀
    迅為<b class='flag-5'>RK3576</b>核心<b class='flag-5'>板</b>高算力AI<b class='flag-5'>開發(fā)板</b>開啟智能應用新時代

    迅為RK3576開發(fā)板高算力低成本工業(yè)級核心板卡開發(fā)平臺

    迅為RK3576開發(fā)板高算力低成本工業(yè)級核心板卡開發(fā)平臺
    的頭像 發(fā)表于 06-09 15:13 ?2145次閱讀
    迅為<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>高算力低成本工業(yè)級核心板卡<b class='flag-5'>開發(fā)</b>平臺

    基于RK3576開發(fā)板的QT GUI例程

    EASYEAI Orin-Nano開發(fā)板搭載了帶有xfce桌面環(huán)境的Debian系統(tǒng),支持Qt應用程序開發(fā)和運行。開發(fā)板采用RK3576
    的頭像 發(fā)表于 05-14 10:26 ?1687次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>的QT GUI例程
    武乡县| 宣威市| 东宁县| 阳朔县| 余庆县| 洛隆县| 永德县| 汕头市| 桐城市| 溧水县| 吴忠市| 永丰县| 聂拉木县| 临海市| 寿阳县| 曲阜市| 卢龙县| 嘉禾县| 静安区| 上杭县| 南平市| 桂阳县| 同心县| 天峻县| 静宁县| 买车| 共和县| 贡山| 潞城市| 若羌县| 乌兰县| 治多县| 宜城市| 浠水县| 达拉特旗| 二连浩特市| 上犹县| 基隆市| 江西省| 子长县| 林西县|