当前位置:首页>Linux>嵌入式Linux--LinuxIIO驱动实验:

嵌入式Linux--LinuxIIO驱动实验:

  • 2026-08-18 23:10:45
嵌入式Linux--LinuxIIO驱动实验:
ICM20608传感器驱动开发详解
Linux IIO子系统驱动框架的搭建,并结合正点原子I.MX6ULL开发板上的ICM20608六轴传感器,详细讲解了IIO驱动从基础框架建立、核心功能实现到用户空间测试的完整开发流程,涵盖了ADC类传感器(如陀螺仪、加速度计等)驱动开发的核心要点。
一、IIO驱动框架创建基础
IIO(Industrial I/O)框架专为ADC类传感器设计,广泛应用于陀螺仪、加速度计、磁力计、光强度计等设备,这些设备通常采用I2C或SPI接口,部分SoC内部ADC也会依托platform框架运行。搭建IIO驱动框架时,需依据传感器接口特性,将IIO框架与底层总线(如SPI、I2C)结合,必要时还可集成regmap实现寄存器操作的高效管理。
二、IIO驱动框架的核心构建步骤
(一)基础驱动框架建立
IIO驱动的基础框架需先依托底层总线(以SPI为例)完成搭建,其核心是标准的SPI驱动结构,包含驱动注册、匹配、probe和remove函数,整体框架如下:
1. 核心函数支撑:probe函数负责驱动与设备匹配后的初始化操作,成功返回0,失败返回错误码;remove函数用于驱动移除时的资源释放,规范返回处理结果。
2. 匹配机制定义:通过spi_device_id列表实现传统匹配,同时依托of_device_id列表适配设备树匹配,确保驱动能精准识别对应硬件设备。
3. 驱动结构体配置:构建spi_driver结构体,明确驱动的probe、remove回调函数,指定模块所有者、驱动名称,绑定设备树匹配表和ID表,为驱动与设备的匹配绑定提供核心依据。
4. 驱动生命周期管理:在init入口函数中调用spi_register_driver注册SPI驱动,在exit出口函数中调用spi_unregister_driver注销驱动,依托module_init和module_exit宏完成驱动的加载与卸载流程。
(二)IIO设备申请与初始化
IIO设备的全流程管理需在probe函数中完成申请、初始化与注册,在remove函数中完成注销与资源释放,核心操作如下:
1. 自定义设备结构体设计:定义包含spi设备指针、regmap及配置信息、互斥锁等成员的结构体,满足设备驱动运行的资源需求,保障核心数据的有序管理。
2. IIO通道数组配置:依据传感器通道特性设置通道数组,明确每个通道的类型、共享信息掩码、独立信息掩码、扫描索引等参数,适配传感器多通道的数据管理需求。
3. 核心回调函数实现:
- 读回调函数:当应用程序读取sysfs文件时触发,负责从传感器获取数据并上传至应用层,是实现数据上传的核心逻辑。
- 写回调函数:当应用程序向sysfs文件写入数据时触发,用于完成传感器参数(如量程)的配置,实现对传感器工作状态的调整。
- 数据格式设置函数:用于明确用户空间写入数据的格式,保障应用层与驱动层数据传输格式的统一性,确保参数配置的精准性。
4. iio_info结构体配置:定义iio_info结构体变量,绑定上述读、写、数据格式设置回调函数,为IIO设备初始化提供操作逻辑支撑。
5. IIO设备全流程管理:
- 资源申请:在probe函数中调用devm_iio_device_alloc申请iio_dev及自定义设备结构体内存,同时提取私有数据并初始化关键成员,筑牢资源基础。
- 设备初始化:配置iio_dev的父设备、info成员、名称、工作模式、通道数组及通道数量,完成设备的参数化配置。
- 设备注册:调用iio_device_register向内核注册iio_dev,实现设备纳入内核管理体系;在remove函数中调用iio_device_unregister注销设备,借助devm接口释放资源,保障资源管理的规范性。
三、ICM20608的IIO驱动实战
(一)内核配置准备
编译驱动前需确保内核IIO子系统相关配置已启用,通过make menuconfig选中“Industrial I/O support”“Enable buffer support within IIO”等选项,同时启用Accelerometers、Magnetometer sensors、Inertial measurement units等IIO模块,避免因内核配置缺失导致编译报错,为驱动运行提供内核环境支持。
(二)驱动框架搭建
1. 文件与基础配置:新建icm20608.c驱动文件,包含标准头文件(内核核心头文件、SPI头文件、IIO头文件、regmap头文件等),定义ICM20608驱动名称,为驱动开发搭建基础文件结构。
2. 核心宏与数据结构定义:
- 通道宏定义:定义ICM20608_CHAN宏,整合传感器类型、通道修饰符、共享与独立信息掩码、扫描索引、数据格式等核心参数,统一通道配置逻辑。
- 扫描索引枚举:定义扫描元素枚举类型,涵盖三轴加速度计、三轴陀螺仪、温度传感器及时间戳通道,明确多传感器数据的扫描管理维度。
- 通道数组配置:定义icm20608_channels数组,分别配置温度通道、陀螺仪三轴通道、加速度计三轴通道,明确各通道的类型、信息掩码、扫描索引、数据格式,精准适配传感器硬件特性。
- 设备结构体设计:设计包含spi设备指针、regmap及其配置、互斥锁的icm20608_dev结构体,整合设备运行所需的全部核心资源。
3. 核心操作函数实现:
- 底层寄存器操作:实现icm20608_read_onereg和icm20608_write_onereg函数,依托regmap完成单寄存器的读写操作,筑牢底层硬件交互基础。
- 寄存器初始化:编写icm20608_reginit函数,按芯片规范初始化电源管理、量程配置、中断配置等寄存器,确保芯片进入正常工作状态。
- 核心回调函数逻辑:
- 读回调函数:通过mask区分操作类型,依据通道类型对应获取原始数据、比例值、偏移量,实现多类型数据的按需读取。
- 写回调函数:针对量程和校准值配置需求,通过mask和通道类型判断,调用对应函数通过regmap写入传感器寄存器,实现传感器参数的动态配置。
- 格式设置函数:按传感器类型明确数据写入格式,陀螺仪数据采用IIO_VAL_INT_PLUS_MICRO格式,加速度计数据采用IIO_VAL_INT_PLUS_NANO格式,保障用户空间与驱动层数据传输的格式统一。
4. probe与remove函数完善:在icm20608_probe函数中完成iio_dev申请、私有数据提取、设备成员初始化、iio_dev注册,同时配置regmap参数并初始化SPI regmap,最后调用寄存器初始化函数;在icm20608_remove函数中完成regmap释放和iio_dev注销,确保资源管理的完整性。
5. 驱动注册与匹配:配置spi_driver结构体,绑定probe、remove函数及匹配信息,在模块初始化和卸载函数中完成驱动注册与注销,实现驱动与硬件设备的精准匹配。
(三)用户空间测试验证
1. sysfs文件系统验证:驱动加载成功后,/sys/bus/iio/devices/目录下会生成对应IIO设备目录,包含加速度计、陀螺仪的原始值、量程、校准值及温度传感器相关文件。这些文件命名遵循[direction]_[type]_[modifier]_[info_mask]规则,例如加速度计X轴原始值文件为in_accel_x_raw,清晰对应传感器数据类型与属性。
2. 文件读写测试:用户空间读取对应文件时,会触发驱动中的读回调函数,实现数据读取;写入参数类文件时,会触发写回调函数完成传感器配置。
3. 测试应用程序开发:
- 文件流操作基础:IIO sysfs文件为流文件,需采用fopen、fclose、fread、fscanf等标准文件流函数操作,读取的字符串需转换为对应数值,保障数据读取的准确性。
- 测试App核心逻辑:定义文件路径数组和索引枚举,编写文件读取宏简化操作;在sensor_read函数中读取传感器原始值、比例值和偏移量,完成实际物理值换算;在main函数循环中持续读取并打印原始值与实际值,实现传感器数据的动态展示。
4. 测试结果验证:运行测试App后,系统会持续输出陀螺仪、加速度计原始数据及转换后的实际数值和温度值,通过数据观测验证驱动功能的正确性。
四、本章核心总结
本章围绕IIO驱动开发,从框架搭建到ICM20608实战,构建了完整的开发体系。核心要点在于依托底层总线建立框架,精准配置通道、实现核心回调函数,依托sysfs实现应用层与驱动层的交互,最终通过测试程序验证驱动功能。掌握这些内容,可有效适配各类ADC类传感器的IIO驱动开发,满足嵌入式Linux传感器驱动开发的核心需求。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-21 13:37:07 HTTP/2.0 GET : https://f.mffb.com.cn/a/505814.html
  2. 运行时间 : 0.256524s [ 吞吐率:3.90req/s ] 内存消耗:4,575.96kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=56db3a28c6b68614d201bef45d709956
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001030s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001769s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000775s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000661s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001275s ]
  6. SELECT * FROM `set` [ RunTime:0.000540s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001260s ]
  8. SELECT * FROM `article` WHERE `id` = 505814 LIMIT 1 [ RunTime:0.000981s ]
  9. UPDATE `article` SET `lasttime` = 1787290628 WHERE `id` = 505814 [ RunTime:0.069436s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000978s ]
  11. SELECT * FROM `article` WHERE `id` < 505814 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001581s ]
  12. SELECT * FROM `article` WHERE `id` > 505814 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001070s ]
  13. SELECT * FROM `article` WHERE `id` < 505814 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.009550s ]
  14. SELECT * FROM `article` WHERE `id` < 505814 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001771s ]
  15. SELECT * FROM `article` WHERE `id` < 505814 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001796s ]
0.260238s