当前位置: 首页 > news >正文

linux_kernel驱动开发_驱动调试_debug

整体框架

调试思路

  • 对比开发板检查差异性。
  • 用试波器或万用表调试。
  • 配合硬件工程师共同解决问题。

开发思路

  • 先在config中打开相应宏开关。
  • 设备树中加入相应配置即可。(可以扩展讲解宏开关有无生效)

驱动开发

pcie

先lspci查看是否注册成功。然后才能看到其pcie设备 。

usb

使用lsusb查看

led

使用的是led子系统,可以在/sys/class/leds/中设置。

can

can盒子+candump cansend.

rtc

使用hwclock进行读写。

uart

I2c

I2ctools进行读写。

ethernet调试。

驱动分为两部分 mdio与gmac,配置完设备树后可以查看/sys/platform/mido/到相应设备。网卡模式为rgmii-rxid因此仅需要设置tx 延迟即可。

1、如果mdio下没有设备或读phyid错误检查网卡复位脚MDIO硬件连接。

2、如果网卡不能up需要检查gamc线。

3、如果能up但无法ping通需要检查TX延迟与晶振问题。 

switchRTL8370MB调试

硬件连接为spi+gmac,

spi 采样条件没有限制。

gmac中需要将延迟设置为0并强制设置成1000M。

8370的驱动是应用层通过open、ioctl调用进行spi通信。满足于系统的完整度与实时性,需要集成至kernel。

1、设备树spi中增加8370参数

2、gmac完成后即刻调用 rtl8370。

目的完成内核实时性。

显示设备调试。

虚拟网卡

思路:忽略对硬件的操作在内核中创建虚拟串口,应用层操作串口, 驱动中收发。

uart数据结构与系统调用, 注册中断用于接收数据。

网络为TcpClient, 通过ioctl传入server ip mac信息,创建网络数据包struct sk_buff进行 TCP三次握手,中间需要序号、检验和、长度。再发送数据 。

驱动调试

根据pc指向的函数地址

分为两种 1、驱动已集成内核中查看 /proc/kallsyms查看 或通过System.map查看。

2、使用obj-dump驱动查看地址 在/sys/module/ 中查看到偏移的 bss. data  .txt。 查看.txt就可以了

mipi与dp屏开发

内核开发

中断
  • 概念与作用:中断是硬件或软件向处理器发出的信号,用于通知CPU有紧急事件需要处理,打断当前运行的任务,从而实现异步事件的处理。
  • 在内核中的应用:内核中断处理程序(ISR)负责响应外设的中断请求,处理设备数据,并唤醒等待该事件的进程。
  • 深入理解:包括中断向量、中断优先级、嵌套中断、软中断与硬中断的区别,以及在 SMP(对称多处理)环境下中断处理的优化和锁的使用。

MMU

cache、多核等机制; 

相关文章:

  • 【HUSTOJ 判题机源码解读系列02】judged 守护进程工作流程
  • 能源物联网数据采集网关 多协议对接解决方案
  • 基于LVS负载均衡练习
  • WPS接入DeepSeek模型
  • 【Python3教程】Python3基础篇之条件控制
  • AI驱动的直播带货电商APP开发:个性化推荐、智能剪辑与互动玩法
  • MySQL索引和其底层数据结构介绍
  • 深入理解 MyBatis 框架的核心对象:SqlSession
  • DeepSeek 的 API 服务引入 WPS Office
  • Openssl的使用,CA证书,中间证书,服务器证书的生成与使用
  • RocketMQ和Kafka如何实现顺序写入和顺序消费?
  • 01、单片机上电后没有正常运行怎么办
  • C#使用实体类Entity Framework Core操作mysql入门:从数据库反向生成模型2 处理连接字符串
  • 2D小游戏-创新设计——《弹射挑战》
  • 【数据处理】使用python收集网络数据--爬虫基础
  • 【学习笔记】计算机网络(三)
  • Conda 虚拟环境与 venv、virtualenv、pipenv 的对比
  • 名词解释:npm,cnpm,yarn,vite,vue,electron
  • oracle dbms_sqltune 使用
  • 软件测试常见面试题
  • 嘉定南翔网站建设/如何创建网站平台
  • 网站 栏目管理/百度平台电话
  • 本地拖拽网站建设/公司管理培训课程大全
  • 58同城推广技巧/搜索引擎优化什么意思
  • 网站改版服务/西安seo网站建设
  • 建设部网站 绿色建筑评价表/网站建设方案外包