chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux Kernel 6.1 tools目錄全解析?| RK平臺(tái)ARM64交叉編譯實(shí)戰(zhàn)指南

jf_44130326 ? 來源:Linux1024 ? 作者:Linux1024 ? 2026-04-16 18:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

瑞芯微RKARM64平臺(tái)嵌入式Linux開發(fā)、內(nèi)核調(diào)試與硬件外設(shè)測(cè)試中,Linux內(nèi)核源碼自帶的tools目錄是官方標(biāo)配的工具集合,涵蓋性能分析、設(shè)備調(diào)試、系統(tǒng)管理、硬件測(cè)試等全場(chǎng)景能力。

本文完整拆解Linux Kernel 6.1 tools目錄所有模塊功能,并給出RK平臺(tái)ARM64架構(gòu)交叉編譯的標(biāo)準(zhǔn)指令,一站式解決內(nèi)核工具使用與編譯問題,適合內(nèi)核開發(fā)者、嵌入式工程師直接參考使用。

一、tools目錄核心定位

toolsLinux內(nèi)核源碼的核心工具目錄,集成了內(nèi)核開發(fā)、系統(tǒng)調(diào)試、性能分析、設(shè)備測(cè)試、虛擬化管理等各類專用工具,是內(nèi)核開發(fā)者、系統(tǒng)管理員、性能優(yōu)化工程師的必備工具庫,可直接用于開發(fā)調(diào)試與生產(chǎn)環(huán)境運(yùn)維。

二、tools目錄結(jié)構(gòu)與模塊總覽

Linux Kernel 6.1tools目錄共包含35個(gè)功能模塊,各模塊分工明確,核心功能如下:

模塊

主要功能

accounting

系統(tǒng)記賬和資源使用跟蹤工具

arch

架構(gòu)相關(guān)工具和庫

bootconfig

啟動(dòng)配置工具

bpf

BPF相關(guān)工具和實(shí)用程序

build

構(gòu)建系統(tǒng)工具

cgroup

控制組管理工具

counter

計(jì)數(shù)器工具

debugging

調(diào)試工具

edid

顯示器EDID數(shù)據(jù)文件

firewire

IEEE-1394流量嗅探工具

firmware

固件管理工具

gpio

GPIO管理和測(cè)試工具

hv

Hyper-V客戶端工具

iio

工業(yè)I/O工具

include

共享頭文件

io_uring

io_uring相關(guān)工具

kvm

KVM虛擬化工具

laptop

筆記本電腦相關(guān)工具

leds

LED管理工具

lib

共享庫

memory-model

內(nèi)存模型定義

objtool

ELF對(duì)象分析工具

pci

PCI設(shè)備測(cè)試工具

pcmcia

PCMCIA工具

perf

性能分析工具

power

電源管理工具

rcu

RCU相關(guān)工具

scripts

構(gòu)建和輔助腳本

spi

SPI設(shè)備測(cè)試工具

testing

測(cè)試工具集

thermal

熱管理工具

time

時(shí)間相關(guān)工具

tracing

系統(tǒng)跟蹤工具

usb

USB設(shè)備測(cè)試工具

virtio

virtio相關(guān)工具

三、tools目錄全模塊詳細(xì)分析

1. accounting

系統(tǒng)資源使用跟蹤工具,用于監(jiān)控和分析進(jìn)程的資源消耗情況。

?getdelays.c:測(cè)量進(jìn)程等待各種資源的時(shí)間

?procacct.c:處理進(jìn)程會(huì)計(jì)信息

2. arch

特定架構(gòu)的工具和庫,當(dāng)前主要包含x86架構(gòu)相關(guān)工具。

?x86/libx86架構(gòu)庫文件,包含指令分析工具

3. bootconfig

內(nèi)核啟動(dòng)參數(shù)管理工具,用于配置內(nèi)核啟動(dòng)項(xiàng)。

?main.c:?jiǎn)?dòng)配置工具主實(shí)現(xiàn)

4. bpf

BPFBerkeley Packet Filter)核心工具集,內(nèi)核核心功能模塊。

?bpftoolBPF程序管理與調(diào)試工具

?runqslower:運(yùn)行隊(duì)列延遲檢測(cè)工具

?bpf_asm.cBPF匯編

?bpf_dbg.cBPF調(diào)試工具

5. build

構(gòu)建系統(tǒng)配套工具與測(cè)試組件。

?feature:特性檢測(cè)工具

?tests:構(gòu)建系統(tǒng)測(cè)試用例

6. cgroup

控制組資源管理與監(jiān)控工具,用于cgroup資源管控。

7. counter

系統(tǒng)計(jì)數(shù)器管理、監(jiān)控工具。

8. debugging

內(nèi)核問題診斷、調(diào)試工具集,用于定位解決內(nèi)核故障。

9. edid

顯示器EDID配置文件,定義不同分辨率顯示器參數(shù)。

?包含800x600.S1024x768.S、1920x1080.S等分辨率文件

10. firewire

IEEE-1394FireWire)流量嗅探工具,nosy嗅探器用戶端組件。

?decode-fcp.cFireWire控制協(xié)議解碼

?nosy-dump.cFireWire流量捕獲與分析

11. firmware

設(shè)備固件處理工具,用于固件格式轉(zhuǎn)換與管理。

?ihex2fw.cIntel HEX格式轉(zhuǎn)固件格式

12. gpio

GPIO通用輸入輸出管理、測(cè)試工具,嵌入式開發(fā)高頻使用。

?lsgpio.c:列出系統(tǒng)GPIO設(shè)備

?gpio-event-mon.c:監(jiān)控GPIO事件

?gpio-hammer.cGPIO壓力測(cè)試

?gpio-watch.c:監(jiān)控GPIO狀態(tài)變化

13. hv

Hyper-V虛擬機(jī)Linux客戶端工具。

?hv_fcopy_daemon.c:文件復(fù)制守護(hù)進(jìn)程

?hv_kvp_daemon.c:鍵值對(duì)守護(hù)進(jìn)程

?hv_vss_daemon.c:卷影復(fù)制服務(wù)守護(hù)進(jìn)程

?lsvmbus:列出VMBus設(shè)備

14. iio

工業(yè)I/O設(shè)備管理工具。

?lsiio.c:列出系統(tǒng)IIO設(shè)備

15. include

tools目錄共享頭文件集合。

?asm:匯編相關(guān)頭文件

?linuxLinux內(nèi)核相關(guān)頭文件

?nolibc:無庫依賴頭文件

?tools:工具專屬頭文件

?uapi:用戶空間API頭文件

16. io_uring

Linux 5.1引入的高性能I/O接口配套工具。

?liburing.hio_uring庫頭文件

?queue.c:隊(duì)列管理

?setup.c:初始化配置

?syscall.c:系統(tǒng)調(diào)用封裝

17. kvm

KVM虛擬化監(jiān)控工具。

?kvm_stat:類top工具,展示KVM運(yùn)行統(tǒng)計(jì)

18. laptop

筆記本電腦專屬工具。

?dslm:數(shù)字傳感器鏈路管理器

?freefall:加速度計(jì)磁盤保護(hù)程序

19. leds

LED設(shè)備管理工具。

?uledmon.cLED狀態(tài)監(jiān)控

20. lib

tools目錄通用共享庫,提供基礎(chǔ)能力支撐。

?api:通用API

?bpfBPF專用庫

?perf:性能分析庫

?subcmd:子命令處理庫

?symbol:符號(hào)處理庫

?thermal:熱管理庫

?traceevent:跟蹤事件庫

?通用函數(shù):bitmap.c、list_sort.crbtree.c

21. memory-model

內(nèi)存一致性測(cè)試模型定義。

?lock.cat:內(nèi)存模型定義文件

22. objtool

ELF對(duì)象文件分析、修改工具。

?check.cELF文件檢查

?elf.cELF文件處理

?objtool.c:工具主實(shí)現(xiàn)

?orc_dump.cORC unwind信息轉(zhuǎn)儲(chǔ)

?orc_gen.cORC unwind信息生成

23. pci

PCI設(shè)備測(cè)試工具。

?pcitest.cPCI設(shè)備測(cè)試程序

24. pcmcia

PCMCIA設(shè)備配套工具。

?crc32hash.cCRC32哈希計(jì)算

25. perf

Linux核心性能分析工具,tools目錄最復(fù)雜模塊。

核心功能:性能事件采集、系統(tǒng)調(diào)用跟蹤、硬件計(jì)數(shù)器監(jiān)控、函數(shù)調(diào)用圖分析、內(nèi)存訪問分析、調(diào)度器行為分析

核心工具

?perf record:記錄性能事件

?perf report:性能數(shù)據(jù)解析

?perf top:實(shí)時(shí)熱點(diǎn)函數(shù)

?perf stat:性能計(jì)數(shù)器統(tǒng)計(jì)

?perf trace:系統(tǒng)調(diào)用跟蹤

?perf script:性能數(shù)據(jù)腳本處理

26. power

電源管理工具集。

?acpiACPI工具

?cpupowerCPU電源管理

?pm-graph:電源管理圖形分析

?x86x86專屬工具(turbostat、x86_energy_perf_policy

27. rcu

RCURead-Copy Update)行為分析工具。

?[extract-stall.sh](extract-stall.sh):提取RCU Stall信息

?[rcu-cbs.py](rcu-cbs.py)RCU回調(diào)分析

28. scripts

內(nèi)核構(gòu)建、輔助執(zhí)行腳本集合。

29. spi

SPI設(shè)備測(cè)試工具。

?spidev_test.cSPI設(shè)備測(cè)試

?spidev_fdx.cSPI全雙工測(cè)試

30. testing

內(nèi)核測(cè)試工具與框架。

?cxlCXL測(cè)試

?ktest:內(nèi)核測(cè)試框架

?kunit:內(nèi)核單元測(cè)試

?memblock:內(nèi)存塊測(cè)試

?nvdimm:非易失性內(nèi)存測(cè)試

?vsockvsock測(cè)試

31. thermal

熱管理監(jiān)控與調(diào)優(yōu)工具。

?lib:熱管理庫

?tmon:熱監(jiān)控調(diào)優(yōu)

?thermometer:溫度捕獲

?thermal-engine:熱監(jiān)控引擎

32. time

時(shí)間相關(guān)測(cè)試工具。

?[udelay_test.sh](udelay_test.sh):微延遲測(cè)試

33. tracing

系統(tǒng)實(shí)時(shí)跟蹤工具。

?rtla:實(shí)時(shí)延遲分析

34. usb

USB設(shè)備測(cè)試與共享工具。

?usbip:網(wǎng)絡(luò)USB設(shè)備共享

?testusb.cUSB設(shè)備測(cè)試

?ffs-test.c:功能文件系統(tǒng)測(cè)試

35. virtio

虛擬化設(shè)備接口標(biāo)準(zhǔn)virtio配套工具。

四、tools目錄原生構(gòu)建與安裝

tools目錄通過Makefile統(tǒng)一管理構(gòu)建流程,原生本地編譯命令如下:

?make tools/:構(gòu)建指定工具

?make tools/_install:構(gòu)建并安裝指定工具

?make tools/all:構(gòu)建所有工具

?make tools/install:構(gòu)建并安裝所有工具

?make tools/_clean:清理指定工具編譯產(chǎn)物

?make tools/clean:清理所有工具編譯產(chǎn)物

五、RK平臺(tái)ARM64交叉編譯實(shí)戰(zhàn)

瑞芯微RK3568/RK3588ARM64平臺(tái),不可使用原生頂層編譯命令,需采用以下標(biāo)準(zhǔn)指令交叉編譯,以GPIO工具為例:

1.編譯前提

?執(zhí)行目錄:Linux Kernel 6.1源碼根目錄

?安裝ARM64交叉編譯工具鏈

Bash
sudo apt install gcc-aarch64-linux-gnu

2. RK平臺(tái)標(biāo)準(zhǔn)編譯指令

# 清理舊編譯產(chǎn)物make -C tools/gpio clean CROSS_COMPILE=aarch64-linux-gnu-# 編譯生成ARM64架構(gòu)GPIO工具make -C tools/gpio CROSS_COMPILE=aarch64-linux-gnu-# 自定義目錄輸出產(chǎn)物make -C tools/gpio install CROSS_COMPILE=aarch64-linux-gnu- DESTDIR=./rk_gpio_output

3.通用編譯模板

tools目錄所有模塊均可套用以下指令:

make-C tools/[模塊名] CROSS_COMPILE=aarch64-linux-gnu-

4.編譯產(chǎn)物

編譯完成后,在tools/gpio/目錄生成可直接在RK開發(fā)板運(yùn)行的工具:

?lsgpio

?gpio-event-mon

?gpio-hammer

?gpio-watch

wKgZO2ngu1WAEyZjAAAmtOyz8Qg696.png

六、總結(jié)

Linux Kernel 6.1tools目錄是內(nèi)核官方提供的全能工具集,覆蓋嵌入式開發(fā)、內(nèi)核調(diào)試、性能分析、硬件測(cè)試全場(chǎng)景,在RK ARM64平臺(tái)開發(fā)中,必須使用-C進(jìn)入子目錄+指定交叉編譯器的方式編譯,才能生成適配開發(fā)板的可執(zhí)行文件。

熟練掌握tools目錄的功能與編譯方法,可大幅提升RK平臺(tái)內(nèi)核開發(fā)、硬件調(diào)試、系統(tǒng)運(yùn)維的效率。

附:Linux Kernel 6.1 tools目錄 功能腦圖

wKgZO2ngu1aAQvgQAARSXvKzK3Q764.png

本文適用于瑞芯微RK3568/RK3588ARM64平臺(tái)內(nèi)核開發(fā)與調(diào)試,核心編譯指令可直接復(fù)制使用。

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

    關(guān)注

    135

    文章

    9582

    瀏覽量

    393429
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11806

    瀏覽量

    219486
  • 交叉編譯
    +關(guān)注

    關(guān)注

    0

    文章

    38

    瀏覽量

    13052
  • 瑞芯微
    +關(guān)注

    關(guān)注

    27

    文章

    838

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    入門篇:瑞芯微?RK?平臺(tái)編譯工具鏈自動(dòng)適配原理解析

    在瑞芯微RK系列平臺(tái)RK3576/RV1126/RK3588/RV1109等)嵌入式開發(fā)中, 交叉編譯
    的頭像 發(fā)表于 02-11 07:10 ?3470次閱讀
    入門篇:瑞芯微?<b class='flag-5'>RK</b>?<b class='flag-5'>平臺(tái)</b><b class='flag-5'>編譯</b>工具鏈自動(dòng)適配原理<b class='flag-5'>全</b><b class='flag-5'>解析</b>

    初次編譯rk3568(rk3576)Linux 6.1內(nèi)核踩坑記錄:從報(bào)錯(cuò)終止到成功解決的完整流程

    很多剛接觸瑞芯微 rk 系列芯片開發(fā)的小伙伴,在初次編譯基于 Linux 6.1 內(nèi)核的系統(tǒng)時(shí),很容易因?yàn)榄h(huán)境依賴問題卡殼。最近我在編譯
    的頭像 發(fā)表于 02-06 16:47 ?3121次閱讀
    初次<b class='flag-5'>編譯</b><b class='flag-5'>rk</b>3568(<b class='flag-5'>rk</b>3576)<b class='flag-5'>Linux</b> <b class='flag-5'>6.1</b>內(nèi)核踩坑記錄:從報(bào)錯(cuò)終止到成功解決的完整流程

    RK平臺(tái)ROS2適配指南:從編譯到運(yùn)行,手把手搞定嵌入式機(jī)器人開發(fā)

    在嵌入式機(jī)器人與智能硬件領(lǐng)域,瑞芯微(Rockchip)的 RK356x、RK3588 等 arm64 芯片憑借高性能、低功耗的優(yōu)勢(shì),成為眾多開發(fā)者的首選硬件平臺(tái);而 ROS2(Rob
    的頭像 發(fā)表于 02-06 16:42 ?5112次閱讀
    <b class='flag-5'>RK</b><b class='flag-5'>平臺(tái)</b>ROS2適配<b class='flag-5'>全</b><b class='flag-5'>指南</b>:從<b class='flag-5'>編譯</b>到運(yùn)行,手把手搞定嵌入式機(jī)器人開發(fā)

    深入剖析ARM64內(nèi)核關(guān)鍵文件:kernel-6.1/arch/arm64/kernel/head.S

    ARM64 架構(gòu)的 Linux 內(nèi)核開發(fā)中,arch/arm64/kernel/head.S是一個(gè)繞不開的關(guān)鍵文件—— 它是內(nèi)核啟動(dòng)早期的 “橋梁”,承接 Bootloader 與
    的頭像 發(fā)表于 02-04 17:35 ?1351次閱讀
    深入剖析<b class='flag-5'>ARM64</b>內(nèi)核關(guān)鍵文件:<b class='flag-5'>kernel-6.1</b>/arch/<b class='flag-5'>arm64</b>/<b class='flag-5'>kernel</b>/head.S

    RK平臺(tái)Linux IOMMU開發(fā):從原理到實(shí)戰(zhàn)

    顯示(VOP)、編解碼(VPU/HEVC)等場(chǎng)景。今天就從原理、驅(qū)動(dòng)、實(shí)戰(zhàn)、問題排查、Linux 內(nèi)存管理支撐五個(gè)維度,帶大家快速上手 RK 平臺(tái) IOMMU 開發(fā)。
    的頭像 發(fā)表于 02-04 16:24 ?2612次閱讀
    <b class='flag-5'>RK</b><b class='flag-5'>平臺(tái)</b><b class='flag-5'>Linux</b> IOMMU開發(fā):從原理到<b class='flag-5'>實(shí)戰(zhàn)</b>

    深入RK3588內(nèi)核:rockchip_linux_defconfig的作用與調(diào)試價(jià)值

    RK3588 芯片的 Linux 開發(fā)中,有一個(gè)文件始終是開發(fā)者繞不開的核心 ——kernel/arch/arm64/configs/rockchip_
    的頭像 發(fā)表于 02-03 15:56 ?1348次閱讀
    深入<b class='flag-5'>RK</b>3588內(nèi)核:rockchip_<b class='flag-5'>linux</b>_defconfig的作用與調(diào)試價(jià)值

    調(diào)試RK3588必看!這個(gè)臨時(shí)設(shè)備樹文件,藏著你要的所有配置答案

    RK3588 芯片開發(fā)的小伙伴,肯定在kernel/arch/arm64/boot/dts/rockchip/目錄下見過一個(gè)“長名字文件
    的頭像 發(fā)表于 02-03 15:55 ?1403次閱讀
    調(diào)試<b class='flag-5'>RK</b>3588必看!這個(gè)臨時(shí)設(shè)備樹文件,藏著你要的所有配置答案

    保姆級(jí)教程!RK3588 Linux6.1?固件簽名完整實(shí)現(xiàn)方案(不含rootfs)

    ? ? ? 在嵌入式 Linux 開發(fā)中,固件簽名是保障設(shè)備安全的關(guān)鍵環(huán)節(jié) —— 它能有效防止惡意固件篡改、非法刷入,從源頭筑牢設(shè)備的系統(tǒng)安全防線。最近在 RK3588 平臺(tái)Linux6.
    的頭像 發(fā)表于 01-14 17:21 ?2237次閱讀
    保姆級(jí)教程!<b class='flag-5'>RK</b>3588 <b class='flag-5'>Linux6.1</b>?固件簽名完整實(shí)現(xiàn)方案(不含rootfs)

    技術(shù)分享 | RK3506如何交叉編譯frp wireguard

    RK3506擁有著不錯(cuò)的性價(jià)比以及與之相匹配的性能優(yōu)勢(shì),非常適合用來做邊緣計(jì)算網(wǎng)關(guān)、小型數(shù)據(jù)收集端點(diǎn)等。今天給大家?guī)韮煽顑?nèi)網(wǎng)穿透工具的交叉編譯移植,方便在RK3506上搭建相關(guān)應(yīng)用。
    的頭像 發(fā)表于 12-25 17:29 ?764次閱讀
    技術(shù)分享 | <b class='flag-5'>RK</b>3506如何<b class='flag-5'>交叉</b><b class='flag-5'>編譯</b>frp wireguard

    深入剖析ARM64異常處理:開發(fā)者必須掌握的底層核心邏輯

    ARM64架構(gòu)的開發(fā)領(lǐng)域,異常處理絕非單純的理論知識(shí)點(diǎn),而是直接決定系統(tǒng)穩(wěn)定性、調(diào)試效率和功能實(shí)現(xiàn)的關(guān)鍵技術(shù)。無論是嵌入式開發(fā)、Linux內(nèi)核移植,還是驅(qū)動(dòng)開發(fā)與芯片調(diào)試,理解異常發(fā)生后CPU
    的頭像 發(fā)表于 12-24 07:05 ?1311次閱讀
    深入剖析<b class='flag-5'>ARM64</b>異常處理:開發(fā)者必須掌握的底層核心邏輯

    【HZ-RK3568開發(fā)板免費(fèi)體驗(yàn)】HZ-RK3568開發(fā)板操作系統(tǒng)編譯

    RK_KERNEL_CFG=rockchip_linux_defconfig RK_KERNEL_DTB=kernel/arch/arm64
    發(fā)表于 08-17 09:15

    【HZ-RK3568開發(fā)板免費(fèi)體驗(yàn)】3、開啟Linux Kernel RT功能

    /aarch64-none-linux-gnu- make ARCH=arm64 rockchip_linux_defconfig rockchip_rt.config make -C /path/to/SDK/
    發(fā)表于 07-22 14:03

    【HZ-RK3568開發(fā)板免費(fèi)體驗(yàn)】03 使用SDK編譯Debian系統(tǒng)并配置

    defconfig arch/arm64/configs/rockchip_linux_defconfig 然后回到SDK根目錄 2.4 開始編譯
    發(fā)表于 07-01 12:08

    RK3576 Android 14.0 SDK開發(fā)指南(第一集)

    kernel,kernel源碼在工程中kernel-6.1目錄下 Lunch項(xiàng)說明 一鍵編譯命令 ./build.sh -UKAupSo
    發(fā)表于 05-20 08:43

    迅為RK3568開發(fā)板內(nèi)核模塊實(shí)現(xiàn)-設(shè)置交叉編譯

    1 下載網(wǎng)盤資料下的交叉編譯器,網(wǎng)盤路徑為:“iTOP-3568 開發(fā)板\\\\03_【iTOP-RK3568 開 發(fā)板】指南教程\\\\02_Li
    發(fā)表于 04-21 16:45