自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 linux USB驱动分析(五)usb-skeleton驱动分析

"./drivers/usb/usb-skeleton.c"是内核提供给usb设备驱动开发者的海量存储mass storage usb设备的模板程序, 程序不长, 通用性却很强,十分经典, 深入理解这个文件可以帮助我们更好的理解usb子系统以及usb设备驱动框架, 写出更好的usb海量存储设备驱动。关键词:linux、驱动、usb、usb-skeleton.c。

2024-02-26 16:41:43 255 1

原创 linux USB驱动分析(四)USB hub集线器驱动分析

关键词:linux、驱动、usb、usb hub、集线器、热插拔每当有设备连接到USB接口时,USB总线在查询hub状态信息的时候会触发hub的中断服务程序hub_irq, 在该函数中置位event_bits,运行工作队列。进入hub_event函数,该函数用来处理端口变化的事件。然后通过一个for循环来检测每个端口的状态信息。利用usb_port_status获取端口信息,如果发生变化就调用hub_port_connect_change函数来配置端口等。

2024-02-26 16:32:20 888 1

原创 linux USB驱动分析(三)USB host controller驱动分析

关键词:linux、驱动、usb、usb host controller、usb主机控制器在rk3128 的 TRM 文件《Rockchip RK312X TRM V1.0 Part2 20160630.pdf》中,USB主机控制器 USB HOST CONTROLLER 通过 UTMI 接口与 USB HOST PHY 连接,USB HOST PHY 通过 USB 线与其它设备连接,USB 的 PHY 与以太网的 PHY 类似,用于数字信号和电气信号的转换。

2024-02-26 16:15:23 1007 1

原创 linux USB驱动分析(二)USB core驱动分析

而HCD只有一个客户,对一个人负责,就是咱们的USB Core,USB Core将用户的请求映射到相关的HCD,用户不能直接访问HCD。usb core 驱动linux-rk3128\drivers\usb\core\usb.c 主要注册USB总线 struct bus_type usb_bus_type,对应目录 /sys/bus/usb,同时创建 调试目录/sys/kernel/debug/usb,以及调用。至于USB Core、USB主机控制器和USB设备驱动三者之间的关系,如图7所示。

2024-02-26 15:35:22 268 1

原创 linux USB驱动分析(一)USB PHY驱动分析

关键词:linux、驱动、usb、phy同以太网类似,USB芯片也分为Host Controller部分(主机控制器/设备控制器)和PHY部分(收发器) 两大部分组成。USB 的 PHY 与以太网的 PHY 类似,用于数字信号和电气信号的转换。主机控制器Controller部分主要实现USB的协议和控制,内部逻辑主要有 MAC层,CSR层,FIFO层等。USB PHY负责最底层的信号转换,作用类似于网口的PHY。主要实现 并转串的功能,把控制器通过UTMI或ULPI总线。

2024-02-26 15:14:53 1763 1

原创 fastcgi 更改环境变量environ引起的段错误(四)gdb调试fcgi进程

fastcgi在收到HTTP服务器(例如 nginx)新请求后,FCGI_Accept为全局变量stdin、stdout、stderr和environ 赋新值,即改变存放环境变量的全局变量 char **environ ,如果进程的线程使用 C库函数getenv()读取环境变量全局变量 char **environ会引起段错误。

2024-02-24 05:44:15 766

原创 fastcgi 更改环境变量environ引起的段错误(五)glibc的入口函数和环境变量

存放环境变量的 glibc 可执行文件的全局变量 char ** __environ 或者 char **(environ) 在函数中赋值。

2024-02-24 05:37:47 730

原创 fastcgi 更改环境变量environ引起的段错误(三)getenv函数的使用

getenv的用法也可能参见网址。

2024-02-24 05:11:25 868

原创 fastcgi 更改环境变量environ引起的段错误(二)修改libfcgi库源码解决getenv段错误问题

让函数FCGI_Accept()不修改全局变量 extern char **envrion,而是创建一个新的全局变量 extern char ** mxl_environ,在文件 libfcgi-2.4.2/include/fcgi_stdio.h 定义全局变量 DLLAPI extern char ** mxl_environ;在文件 libfcgi-2.4.2/cgi-fcgi/cgi-fcgi.c 中声明全局变量 char **mxl_environ;

2024-02-24 05:03:58 250

原创 fastcgi 更改环境变量environ引起的段错误(一)fcgi库代码分析

关键词:fcgi、environ、getenv、段错误、FCGI_Acceptfacgi库源码在网址,遇到fcgi相关的问题时可以查看这个仓库的git commit信息,以确认新版本的库是否已解决所遇到的问题:fastcgi在收到HTTP服务器(例如 nginx)新请求后,FCGI_Accept为全局变量stdin、stdout、stderr和environ。

2024-02-23 09:21:55 725 1

原创 一文让你更了解linux设备树

自创设备树的经典例子目录自创设备树的经典例子编写设备树文件 fdt_example.dts编写设备树文件 fdt_example.dtsi使用dtc工具将生成的设备树二进制文件fdt_example.dtb 转换为 dts 的文件格式:使用fdtdump解析二进制设备树文件二进制设备树文件dtb的解析驱动程序parse_fdt.c应用测试程序test_dtb_example.c下面用经典的设备树例子来讲解设备树生成与解析应用过程,在网络上搜索得来并加以改进定制。编写设

2022-04-06 15:34:57 4272

原创 QML与C++交互的简单例子

开发环境:ubuntu-16.04 + Qt5.14参考链接:1、QML如何与C++交互 - 青衣守旧人 - 博客园QML与C++交互:在qml中使用QSqlQueryModel显示数据库数据_jdh99的专栏-CSDN博客创建一个名为 qml_call_cpp 的Qt Quick Application-Empty 工程:正在上传…重新上传取消然后右键点击下图中的 Sources ,在弹出的选项中选择 Add New…,选择创建一个新的C++ Class,新的类名设.

2021-11-05 17:35:17 1445

Eclipse,OpenOCD,OpenJTAGv3.1嵌入式开发教程版本4

在线单步调试linux内核,uboot等

2014-08-21

空空如也

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

TA关注的人

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