自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 linux 休眠时打印GPIO的状态

我们知道cat /sys/kernel/debug/gpio节点,可以打印当前gpio的状态信息,输出输入、输出高低、输入高低、上拉下拉浮空、gpio func配置等信息。提示:以下是本篇文章正文内容,下面案例可供参考。

2025-07-26 11:37:42 112

原创 linux内核dump之Use-After-Free问题分析

Use-After-Free,即释放后使用,是指程序在释放了某块动态分配的内存后,继续使用该内存。这种操作会导致访问已释放的内存区域,可能引发严重的运行时错误和安全问题。对于Use-After-Free,如果是本模块继续使用了释放的内存,那么这个问题就比较好进行排查。如果是非本模块使用了该段内存,那么只能在茫茫的内核代码中大海捞针,比较难排查和定位了。下面介绍一个内核Use-After-Free的案例。

2025-06-27 12:15:26 591

原创 qcom平台uart配置:qcom,wakeup-byte和qcom,auto-suspend-disable总结

调用queue_delayed_work执行中断的后半部:msm_geni_wakeup_work函数。接收数据时会判断RX收到的第一帧是否是qcom,wakeup-byte定义的字节。这个会把串口的唤醒起来2s,从而接收数据。msm_geni_serial_get_irq_pinctrl->执行。当串口休眠的时候,拉高RX,从而产生中断来接收RX的数据。

2025-06-26 17:13:18 196

原创 nandflash型号大小节点打印

【代码】nandflash型号大小节点打印。

2025-02-10 17:50:15 144

原创 linux设备节点/dev的创建总结

内核共提供了三个函数来注册一组字符设备编号,这三个函数分别是 ​​register_chrdev_region()​​​、​​alloc_chrdev_region()​​​和 ​​register_chrdev()​​。1、register_chrdev_region()​​​、​​alloc_chrdev_region()​​​和 ​​register_chrdev()​​。3、 /*class_device_create 在/dev下创建 noddev0设备*//*删除创建的设备文件*/

2025-02-08 09:21:41 248

原创 高通平台linux pinctl的GPIO配置

最近遇到一个问题,在spi控制器的驱动当中,在probe函数看到有通过devm_pinctrl_get获取到spi的pinctl配置,在驱动当中有一处代码是配置了spi pinctl为active状态,但是加打印,这段代码并没有跑到,我就有点疑惑。如果在传输的时候,没有配置spi为spi功能的话,怎么去传输数据呢?带走这个疑问,让我们看看pinctl的配置和选择到底是怎么样的?

2025-02-07 10:40:26 897

原创 Linux iio子系统框架学习

ADC芯片;DAC芯片;温度传感器;光感器;陀螺仪;加速度计;CDCs;IMUs压力传感器等等描述一个iio device//表示iio device支持的模式//iio buffer,与iio设备绑定。针对连续采集数据模式//可使用的channel的掩码//iio trigger触发//trigger触发中断函数//event的中断处理函数//iio device所有channel的相关参数信息//channel的读写回调函数。

2025-01-15 17:35:08 1173

原创 linux设备树,dts、dtsi、dtb、dtbo、dtc的区别

dtbo:(Device Tree Overlay)是一种动态加载的设备树扩展,对基础DTB的增量或局部修改描述。它可以添加、修改或删除设备树中的节点和属性,以适应不同的硬件配置或需求。dtbo文件可以通过设备树覆盖机制加载到运行中的设备树中。dtb: 被dtc编译生成的二进制文件,用于在Linux内核启动时传递给内核。它是设备树源文件(.dts)编译生成的二进制文件,包含了设备树的所有信息。dtb是完整的系统设备树,而dtbo则是对dtb的一种补充或覆盖。

2024-08-16 12:11:04 1448

原创 关于emmc挂载后如何umount

把进程kill掉之后,可能会又在次起来,这时候就需要把拉起进程的服务给stop掉。我们想要umont emmc的时候,常会遇到:target is busy.这种情况是有进程在读写emmc挂载的目录,我们需要把他给停掉,才能umont。1、mount | grep mmc查看emmc挂载到那个目录下。2、fuser -m 查看哪些进程在占用它。利用systemctl stop命令,停掉服务。3、kill 掉占用的进程。

2024-05-24 15:03:35 300 1

原创 以太网RGMII/MII/RMII接口回环测试方案

1、模组的MAC通过RGMII/MII/RMII接口与PHY连接2、MAC层数据经过RGMII到达PHY的PCS层3、设置PHY的PCS层回环,使PCS层数据回到MAC层4、判断MAC层TX与RX接收的数据。如果MAC能接收到数据,测试PASS,否则失败。

2023-12-15 16:05:06 2515

原创 linux设备、驱动、总线匹配流程

Linux设备驱动模型中,需要我们关心总线、设备、驱动三个实体,总线将设备和驱动进行绑定,在内核每注册一个设备的时候,会寻找与之匹配的驱动;相反的,在系统每注册一个驱动的时候,也会寻找与之匹配的设备,而匹配由总线完成。一般而言,一个现实的Linux设备和驱动需要挂接在一种总线上。记得有次面试的时候,面试官问我linux设备和驱动具体是如何匹配的。当时没有很详细的回答出来,我们可能就知道是通过设备树中的compatible熟悉进行匹配,但具体的匹配流程可能不知道。

2023-07-21 14:42:07 1292 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除