国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

如何將BusyBox移植到RT-Thread Smart下

RTThread物聯網操作系統 ? 來源:RTThread物聯網操作系統 ? 作者:RTThread物聯網操作 ? 2021-07-02 11:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

BusyBox 是一個集成了數百個常用Linux/Unix命令和工具的軟件。BusyBox 包含了一些簡單的工具,例如ls、cat和echo等等,還包含了一些更大、更復雜的工具,例grep、find、mount以及telnet。有些人將 BusyBox 稱為 Linux 工具里的瑞士軍刀。簡單的說BusyBox就好像是個大工具箱,它集成壓縮了 Linux 的許多工具和命令,也包含了 Android 系統的自帶的shell。

這篇文章將介紹把BusyBox移植到RT-Thread Smart下。

準備工作

以busybox-1.32.0為例,下載源碼包:

1$ mkdir -p userapps/gnu-apps/busybox

2$ wget https://busybox.net/downloads/busybox-1.32.0.tar.bz2

移植腳本

與上篇文章有些許不同的是,busybox自帶Makefile,所以需要給Makefile里面的一些變量替換成交叉編譯環境變量,下面會通過一個patch文件實現。

首先還是創建一份簡單的build.sh腳本:

1#!/bin/sh

2 3APP_NAME=“busybox” 4VERSION=“1.32.0” 5APP_DIR=${APP_NAME}-${VERSION}

6 7# userapps is ROOTDIR

8ROOTDIR=${PWD}/。./。.

910# set env

11export RTT_EXEC_PATH=${ROOTDIR}/。./tools/gnu_gcc/arm-linux-musleabi_for_x86_64-pc-linux-gnu/bin

12export PATH=$PATH:$RTT_EXEC_PATH:$RTT_EXEC_PATH/。./arm-linux-musleabi/bin

1314# get src

15tar xjf ${APP_DIR}.tar.bz2

16cd ${APP_DIR}

1718# patch Makefile

19patch -Np1 -i 。./makefile.patch

2021# get default config

22cp 。./def_config .config

2324make V=1

makefile.patch文件如下:

1--- busybox-1.32.0/Makefile.orig 2020-12-24 12:51:40.752730739 +0800 2+++ busybox-1.32.0/Makefile 2020-12-24 12:55:44.162093866 +0800 3@@ -4,6 +4,21 @@

4 EXTRAVERSION =

5 NAME = Unnamed

6 7+

8+CROSS_COMPILE= arm-linux-musleabi-

9+

10+PWD := $(shell pwd)

11+# userapp dir

12+ROOTDIR := $(PWD)/。./。./。.

13+RT_DIR=$(ROOTDIR)/sdk/rt-thread

14+INC_DIR=${ROOTDIR}/sdk/include

15+LIB_DIR=${ROOTDIR}/sdk/lib

16+

17+CFLAGS = -march=armv7-a -marm -msoft-float -D__RTTHREAD__ -Wall -O2 -n --static -I. -I$(RT_DIR)/include -I$(RT_DIR)/components/dfs -I$(RT_DIR)/components/drivers -I$(RT_DIR)/components/finsh -I$(RT_DIR)/components/net -I${INC_DIR}

18+

19+LDFLAGS = -L. -L${LIB_DIR} -T $(ROOTDIR)/linker_scripts/arm/cortex-a/link.lds -march=armv7-a -marm -msoft-float -L$(RT_DIR)/lib -Wl,--whole-archive -lrtthread -Wl,--no-whole-archive -n --static -Wl,--start-group -lrtthread -Wl,--end-group

20+

21+

22 # *DOCUMENTATION*

23 # To see a list of typical targets execute “make help”24 # More info can be located in 。/README

Busybox在編譯之前最好通過“make menuconfig”配置一下需要編譯的指令,這里為了方便提供一個配置好的def_config文件,在上面的build.sh腳本里面會用到。

文件比較長,請將以下鏈接復制至外部瀏覽器打開,打開后可直接下載文件:

https://gitee.com/rtthread/rt-smart-notes/tree/master/examples/busybox

編譯:

1userapps/gnu-apps/busybox$ ls

2build.sh busybox-1.32.0.tar.bz2 def_config makefile.patch

3userapps/gnu-apps/busybox$ sh build.sh

使用BusyBox

在Linux上使用BusyBox,一般的方式會是建立一個個的符號鏈接,例如把ls通過符號鏈接的方式鏈接到busybox,這樣在調用ls時,實際上會被調用到busybox。只是對于main(int argc, char** argv)來說,這個argv[0]是‘ls’。

當然busybox也支持直接調用busybox,并把命令附加在后面的方式,例如:

1msh /》 busybox.elf ls -l

因為RT-Thread及RT-Thread Smart并不支持符號鏈接,所以還只能采用后面的形式。

BusyBox包含有很多個指令,可以通過執行“make menuconfig”來配置需要編譯的指令。

查看busybox當前可使用的命令可以使用`--help‘ 選項:

查看具體某個指令的使用幫助,如 ls 的:

更多指令

為確保一些特定的指令正常運行,需要在kernel配置里面打開null、random、zero等設備;并確保/etc/resolv.com和/etc/hosts文件存在。

1msh /》 busybox.elf cat /etc/resolv.conf

2nameserver 114.114.114.11434msh /》 busybox.elf cat /etc/hosts

5127.0.0.1 localhost

busybox是一套很精簡的工具集,已經在rt-smart上驗證過的命令包括(但不限于):

歸檔類工具,例如 tar/unzip/bzip2/bunzip2/bzcat/gzip/gunzip/zcat/xz/unxz/xzcat 等;

核心類工具,例如 cat/cp/dd/echo/head/ls/mv/mkdir/pwd/rm/tail/uname/wc 等;

編輯類工具,例如 vi/diff/cmp/awk/sed 等;

網絡類工具,例如ftpd/tcpsvd/ftpgt/ftpput/tftp/nslookup/telnet/httpd/wget 等

文章出處:【微信公眾號:RTThread物聯網操作系統

責任編輯:gt


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

    關注

    2945

    文章

    47819

    瀏覽量

    414845
  • Linux
    +關注

    關注

    88

    文章

    11758

    瀏覽量

    219009
  • 操作系統
    +關注

    關注

    37

    文章

    7401

    瀏覽量

    129284

原文標題:如何把Linux工具里的“軍刀”BusyBox移植到RT-Thread Smart?

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    恩智浦亮相RT-Thread 20周年開發者大會

    日前,“開源向實·生產力進化啟示錄”全球峰會暨RT-Thread 20周年開發者大會在上海成功舉辦,恩智浦作為RT-Thread的緊密合作伙伴,在活動中重磅亮相,展示雙方在共建RT-Thread OS開發生態方面的新成果、新方案
    的頭像 發表于 01-26 09:07 ?553次閱讀

    移植最新版的rt-thread nano時程序進入entry就報錯,為什么?

    我在移植最新版的rt-thread nano時發現程序只要一進去entry函數就直接跳到一個死循環里,我使用的編譯器是armgcc10.2版本。然而我移植舊版的rt-thread na
    發表于 10-09 07:17

    如何移植rt-thread野火imx6ull開發板上?

    求助如何將rt-thread移植野火imx6ull(coretex-A7)開發板上,官方的bsp中沒有imx6ull
    發表于 09-29 06:25

    2025年RT-Thread開發者巡回培訓報名正式啟動!

    RT-Thread技術專家面對面答疑解惑的絕佳機會。在這里你體驗豐富的理論課程、精彩Demo演示與動手實踐!歡迎報名參加,與我們攜手探索技術的更多可能!日期城市10月
    的頭像 發表于 09-27 10:39 ?1964次閱讀
    2025年<b class='flag-5'>RT-Thread</b>開發者巡回培訓報名正式啟動!

    CubeMX移植RT-Thread 3.1.5文件重復怎么解決?

    CubeMX6.7.0內移植RT-Thread Nano3.1.5文件重復,主要是兩個部分 1、 和 兩個地方重復rtconfig.h 2、shell相關的文件也會重復 和 請問下各位有沒有辦法可以解決這個問題的?
    發表于 09-24 07:11

    移植網絡PHY芯片驅動,如何融入 rt-thread 的網絡體系,并添加新的以太網類型的報文?

    我需要移植一個 PHY 芯片(IS32CG5317,通過 SPI 與單板通信),當單板與 PHY 芯片的 SPI 通信驅動移植完后: 我如何將 PHY 芯片融入 rt-thread
    發表于 09-22 06:11

    RT-Thread Nano移植后動態創建線程創建不了怎么解決?

    RT-Thread Nano 移植后動態創建線程創建不了,靜態可以.直接燒錄DEMO也一樣,RT_USING_HEAP開起來,使用動態創建就創建不起來,
    發表于 09-19 06:28

    【好書推薦】RT-Thread第20本相關書籍!《嵌入式實時操作系統RT-Thread原理與應用》| 技術集結

    01內容簡介ContentSummary本書為讀者提供了一個全面、系統的RT-Thread學習指南,旨在幫助初學者及有經驗的開發者掌握RT-Thread實時操作系統和STM32嵌入式微控制器的核心
    的頭像 發表于 08-24 10:05 ?1024次閱讀
    【好書推薦】<b class='flag-5'>RT-Thread</b>第20本相關書籍!《嵌入式實時操作系統<b class='flag-5'>RT-Thread</b>原理與應用》| 技術集結

    恩智浦MCU教程 基于MCUXpresso和FRDM-MCXA346的RT-Thread Nano移植

    本篇還是以移植RT-Thread NanoMCUXpresso IDE為主,移植的代碼可以在nxpic.org.cn論壇搜索
    的頭像 發表于 08-21 09:49 ?6758次閱讀
    恩智浦MCU教程 基于MCUXpresso和FRDM-MCXA346的<b class='flag-5'>RT-Thread</b> Nano<b class='flag-5'>移植</b>

    如何移植 RT-Thread Nano 并創建 2 個線程?

    基于 BSP 中的 GPIO_OutputInput 演示,展示了如何移植 RT-Thread Nano 并創建 2 個線程。
    發表于 08-19 07:45

    揭秘!基于RT-Thread探究“優先級反轉”的任務調度究竟是什么樣的?| 技術集結

    本文基于RT-Thread,結合RT-Trace調試器細化實際任務調度的粒度,來調試并逐步講解“優先級反轉”的調度和運行邏輯。如果對RT
    的頭像 發表于 08-17 10:07 ?3261次閱讀
    揭秘!基于<b class='flag-5'>RT-Thread</b>探究“優先級反轉”<b class='flag-5'>下</b>的任務調度究竟是什么樣的?| 技術集結

    RT-Thread Nano硬核移植指南:手把手實現VGLite圖形驅動適配 | 技術集結

    VGLite是NXP提供的輕量級2D圖形API,本文手把手帶你實現VGLite圖形驅動適配RT-Thread。文章分為上、兩篇,手把手教您移植
    的頭像 發表于 07-17 14:40 ?3388次閱讀
    <b class='flag-5'>RT-Thread</b> Nano硬核<b class='flag-5'>移植</b>指南:手把手實現VGLite圖形驅動適配 | 技術集結

    RT-Thread榮獲2025優秀開源項目 | 新聞速遞

    6月底,RT-Thread睿賽德受邀參與由上海開源信息技術協會主辦的2025上海開源創新精英薈。上海市商委副主任張杰出席會議并致辭。RT-Thread嵌入式操作系統項目憑借其卓越的技術創新與開源生態
    的頭像 發表于 07-04 09:04 ?2642次閱讀
    <b class='flag-5'>RT-Thread</b>榮獲2025優秀開源項目 | 新聞速遞

    RT-Thread Nano移植后動態創建線程創建不了怎么處理?

    RT-Thread Nano移植后動態創建線程創建不了,靜態可以.直接燒錄DEMO也一樣,RT_USING_HEAP開起來,使用動態創建就創建不起來,
    發表于 06-11 06:36

    RT-Thread審核團招募: 深度參與開源RTOS社區治理與演進

    全球開發者招募:RT-Thread審核團(ReviewTeam)正式開放申請!在開源的世界里,代碼審查(CodeReview)是保證軟件質量、促進技術交流的關鍵環節。RT-Thread作為全球領先
    的頭像 發表于 05-21 18:02 ?1255次閱讀
    <b class='flag-5'>RT-Thread</b>審核團招募: 深度參與開源RTOS社區治理與演進