Linux驅動:驅動編譯流程了解

要求

1、開發板中的linux的zImage必須是自己編譯的
2、內核源碼樹,其實就是一個經過了配置編譯之后的內核源碼。
3、nfs掛載的rootfs,主機ubuntu中必須搭建一個nfs服務器。

內核源碼樹

在這里插入圖片描述
解壓

 tar -jxvf x210kernel.tar.bz2 

在這里插入圖片描述
編譯

make x210ii_qt_defconfig

在這里插入圖片描述

make

Can’t use ‘defined(@array)’ (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373.
make[1]: *** [/home/aston/workspace/driver/kernel/kernel/Makefile:138: kernel/timeconst.h] Error 255
make: *** [Makefile:883: kernel] Error 2
在這里插入圖片描述

make

編譯完成
在這里插入圖片描述
內核源碼樹目錄:
在這里插入圖片描述
zImage目錄:
在這里插入圖片描述

常用的模塊操作命令

  1. lsmod(list module)
    功能:此命令會把當前內核中已經安裝的模塊列表打印出來。它讀取 /proc/modules 文件,該文件會記錄當前內核加載的所有模塊信息。
    用法示例:在終端輸入 lsmod 即可。
lsmod

輸出示例:

Module                  Size  Used by
nls_iso8859_1          16384  1
ext4                  786432  1
jbd2                  131072  1 ext4

輸出解釋:輸出內容包含三列,第一列是模塊名,第二列是模塊占用的內存大小(單位為字節),第三列是使用該模塊的其他模塊數量。

  1. insmod(install module)
    功能:該命令的作用是向當前內核中安裝一個模塊。不過它不會處理模塊之間的依賴關系,若模塊有依賴項,需手動先加載這些依賴模塊。
    用法示例:假設存在一個名為 my_module.ko 的內核模塊,可使用以下命令進行加載:
insmod my_module.ko

注意事項:運行此命令需要有 root 權限,否則會提示權限不足的錯誤。

  1. modinfo(module information)
    功能:此命令能打印出一個內核模塊的自帶信息,像模塊的作者、描述、版本、依賴項等內容。
    用法示例:若要查看 my_module.ko 模塊的信息,可使用如下命令:
modinfo my_module.ko

輸出示例:

filename:       /lib/modules/5.15.0-72-generic/kernel/drivers/net/wireless/intel

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/905157.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/905157.shtml
英文地址,請注明出處:http://en.pswp.cn/news/905157.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Redis集群模式、持久化、過期策略、淘汰策略、緩存穿透雪崩擊穿問題

Redis四種模式 單節點模式 架構??:單個Redis實例運行在單臺服務器。 ??優點??: ??簡單??:部署和配置容易,適合開發和測試。 ??低延遲??:無網絡通信開銷。 ??缺點??: ??單點故障??&…

1.2 函數

函數的本質是描述變量間的依賴關系:??一個變量(自變量)的變化會唯一確定另一個變量(因變量)的值??。 ??基本構成??:通過符號(如YF(X))表達規則,X輸入 → F處理 …

2025數字孿生技術全景洞察:從工業革命到智慧城市的跨越式發展

引言 數字孿生技術,這一融合物理世界與虛擬鏡像的革新性工具,正以驚人的速度重塑產業格局。2025年,中國數字孿生市場規模預計達214億元,工業制造領域占比超40%,其技術深度與行業落地成果令人矚目。本文將結合最新數據與…

RabbitMQ 工作模式

RabbitMQ 一共有 7 中工作模式,可以先去官網上了解一下(一下截圖均來自官網):RabbitMQ 官網 Simple P:生產者,要發送消息的程序;C:消費者,消息的接受者;hell…

VBA會被Python代替嗎

VBA不會完全被Python取代、但Python在自動化、數據分析與跨平臺開發等方面的優勢使其越來越受歡迎、兩者將長期并存且各具優勢。 Python以其易于學習的語法、強大的開源生態系統和跨平臺支持,逐漸成為自動化和數據分析領域的主流工具。然而,VBA依舊在Exc…

【開源工具】深度解析:基于PyQt6的Windows時間校時同步工具開發全攻略

🕒 【開源工具】深度解析:基于PyQt6的Windows時間校時同步工具開發全攻略 🌈 個人主頁:創客白澤 - CSDN博客 🔥 系列專欄:🐍《Python開源項目實戰》 💡 熱愛不止于代碼,熱…

大模型項目:普通藍牙音響接入DeepSeek,解鎖語音交互新玩法

本文附帶視頻講解 【代碼宇宙019】技術方案:藍牙音響接入DeepSeek,解鎖語音交互新玩法_嗶哩嗶哩_bilibili 目錄 效果演示 核心邏輯 技術實現 大模型對話(技術: LangChain4j 接入 DeepSeek) 語音識別(…

qt命名空間演示

#ifndef CIR_H #define CIR_Hnamespace cir {double PI3.141592653;//獲取圓行周長double getLenthOfCircle(double radius){return 2*PI*radius;}//獲取圓形面積double getAreaOfCircle(double radius){return PI*radius*radius;}} #endif // CIR_H#include <iostream> …

使用 Java 反射動態加載和操作類

Java 的反射機制(Reflection)是 Java 語言的一大特色,它允許程序在運行時檢查、加載和操作類、方法、字段等元信息。通過 java.lang.Class 和 java.lang.reflect 包,開發者可以動態加載類、創建實例、調用方法,甚至在運行時構造新類。反射是 Java 靈活性的核心,廣泛應用于…

《 C++ 點滴漫談: 三十七 》左值?右值?完美轉發?C++ 引用的真相超乎你想象!

摘要 本文全面系統地講解了 C 中的引用機制&#xff0c;涵蓋左值引用、右值引用、引用折疊、完美轉發等核心概念&#xff0c;并深入探討其底層實現原理及工程實踐應用。通過詳細的示例與對比&#xff0c;讀者不僅能掌握引用的語法規則和使用技巧&#xff0c;還能理解引用在性能…

【AutoGen深度解析】下一代AI代理編程框架實戰指南

目錄 &#x1f31f; 前言&#x1f3d7;? 技術背景與價值&#x1f6a7; 當前技術痛點&#x1f6e0;? 解決方案概述&#x1f465; 目標讀者說明 &#x1f50d; 一、技術原理剖析&#x1f5bc;? 核心概念圖解&#x1f4a1; 核心作用講解?? 關鍵技術模塊說明&#x1f504; 技術…

Python-AI調用大模型 給出大模型人格案例

Python調用通義千問模擬原神雷電將軍口吻 最近在用AI編輯器寫AI對話 嘗試給AI對話增加人格 以下是使用阿里通義千問大模型模擬《原神》中雷電將軍(雷電影)口吻的代碼案例&#xff0c;包含典型的高傲威嚴、略帶古風的說話風格。 完整后端代碼示例 import dashscope from dash…

csdn博客打賞功能

CSDN_專業開發者社區_已接入DeepSeekR1滿血版 官網: 最右下角 耳機 就是客服 可以轉人工 開啟打賞功能如下: 1.因為博主本人不可以對本人賬號文章進行打賞&#xff0c;因此本人賬號打開文章詳情頁不顯示打賞按鈕。為了驗證賬號設置的打賞功能是否生效所以讓您使用無痕模式模…

【深度學習】目標檢測算法大全

目錄 一、R-CNN 1、R-CNN概述 2、R-CNN 模型總體流程 3、核心模塊詳解 &#xff08;1&#xff09;候選框生成&#xff08;Selective Search&#xff09; &#xff08;2&#xff09;深度特征提取與微調 2.1 特征提取 2.2 網絡微調&#xff08;Fine-tuning&#xff09; …

26考研——中央處理器_指令流水線_指令流水線的基本概念 流水線的基本實現(5)

408答疑 文章目錄 六、指令流水線指令流水線的基本概念流水線的基本實現流水線設計的原則流水線的邏輯結構流水線的時空圖表示 八、參考資料鮑魚科技課件26王道考研書 六、指令流水線 前面介紹的指令都是在單周期處理機中采用串行方法執行的&#xff0c;同一時刻 CPU 中只有一…

配置集群(yarn)

在配置 YARN 集群前&#xff0c;要先完成以下準備工作&#xff1a; 集群環境規劃&#xff1a;明確各節點的角色&#xff0c;如 ResourceManager、NodeManager 等。網絡環境搭建&#xff1a;保證各個節點之間能夠通過網絡互通。時間同步設置&#xff1a;安裝 NTP 服務&#xff0…

vue實現與后臺springboot傳遞數據【傳值/取值 Axios 】

vue實現與后臺springboot傳遞數據【傳值/取值】 提示&#xff1a;幫幫志會陸續更新非常多的IT技術知識&#xff0c;希望分享的內容對您有用。本章分享的是node.js和vue的使用。前后每一小節的內容是存在的有&#xff1a;學習and理解的關聯性。【幫幫志系列文章】&#xff1a;每…

二叉樹路徑總和

一、給你二叉樹的根節點 root 和一個表示目標和的整數 targetSum 。判斷該樹中是否存在根節點到葉子節點的路徑&#xff0c;這條路徑上所有節點值相加等于目標和 targetSum 。如果存在&#xff0c;返回 true &#xff1b;否則&#xff0c;返回 false 。 112. 路徑總和 - 力扣&…

Matlab 模糊控制平行側邊自動泊車

1、內容簡介 Matlab 233-模糊控制平行側邊自動泊車 可以交流、咨詢、答疑 2、內容說明 略 3、仿真分析 略 4、參考論文 略

M0G3507完美移植江科大軟件IIC MPU6050

經過兩天兩夜的查閱文獻資料、整理學習&#xff0c;成功的把江科大的軟件IIC讀寫MPU6050移植到MSPM0G3507&#xff0c;親測有效&#xff01;&#xff01;包的&#xff0c;為了讓大家直觀地感受下&#xff0c;先上圖。記得點個贊哦&#xff01; 學過江科大的STM32的小伙伴是不是…