当前位置:首页>Linux>瑞芯微Linux驱动套装,含实战项目!

瑞芯微Linux驱动套装,含实战项目!

  • 2026-02-03 20:17:18
瑞芯微Linux驱动套装,含实战项目!

大家好,我是杂烩君。

如果你正卡在从单片机到Linux底层驱动的转型路上,苦于没有方向、缺乏实战、或担心学完找不到工作,那么本次大促的“瑞芯微Linux驱动终极套装”就是为你量身定制的解决方案。

🎁 2026 驱动课程核心福利:

  • 一对一学习辅导: 扫清知识盲区,学习效率翻倍。
  • 一对一就业辅导: 简历优化、赛道选择、谈薪技巧,我们帮你谋划。
  • 一对一项目模拟面试: 直面资深面试官拷问,提前拿到offer感觉。

一、课程覆盖内容

需要看完整版内容,加入群即可了解,课程现在还有活动,可以加微信了解。(加微信需要留言:“嵌入式大杂烩+Linux课程”

二、课程详细介绍

三、实战项目介绍

项目:智能楼宇广告机终端

一、项目描述: 基于瑞芯微 RK3568 平台开发,使用LVGL UI框架进行显示,楼宇广告机终端界面UI 分为七个板块,支持显示网络实时时间、支持电梯温度的实时采集及显示,支持电梯的运转次数记录、支持广告图片的轮询播放,支持,电梯内wifi 二维码的实时显示等。

二、项目负责的内容:

应用部分:

  1. LVGL 工程的移植
  2. 楼宇广告机界面的UI布局控制
  3. NTP 实时获取网络时间
  4. LVGL 图片、汉字库的加载

驱动部分:

  1. DHT11温度传感器底层驱动的移植
  2. RTL8822CE 无线WIFI的驱动移植
  3. MPU6050 加速度传感器的驱动移植,以及加速度方向业务代码的实现
  4. 烟雾传感器的驱动移植,已经实时监控业务代码的实现。
  5. Linux 系统定制裁剪。
  6. 舵机的控制,使用到了PWM驱动子系统。
  7. RGMII接口以太网的驱动移植。
  8. HDMI显示输出驱动内容的使能,及使用。

四、课程的各个阶段学习内容

4.1、基础核心能力(必学)

01 Linux模块化编程

  • 详细描述:理解Linux内核如何用一种统一、层次化的模型来管理所有的设备。核心对象包括 kobject(提供基础功能如引用计数、sysfs接口)、kset(kobject的集合)、ktype(定义kobject的类型)。sysfs 虚拟文件系统是此模型在用户空间的直观体现(/sys/目录)。udev 守护进程则基于 sysfs 提供的信息,在用户空间动态地管理设备节点。
  • 学习目标:理解设备模型的基本概念和组成关系;能够通过 sysfs 查看设备信息;理解 udev 规则的工作原理。
  • 重要性:这是理解所有现代Linux驱动子系统(如platformI2C等)如何组织和工作的理论基础。没有它,看驱动代码会感觉“只见树木,不见森林”。

02 中断及异常

  • 详细描述:硬件与CPU通信的主要方式是中断。学习如何通过 request_irq 函数向内核注册一个中断处理程序。理解“顶半部”和“底半部”机制至关重要:顶半部负责快速响应硬件中断,执行最紧急的任务(如清除中断标志),而将耗时的处理工作推迟到底半部执行。常见的底半部机制包括软中断、tasklet(小任务,原子性执行)和 workqueue(工作队列,可以睡眠)。
  • 学习目标:掌握中断的注册、处理和释放流程;深刻理解为何要区分顶半部/底半部,并能根据场景选择合适的底半部机制。
  • 重要性:处理来自硬件的异步事件(如按键按下、数据到达、传感器触发)的唯一高效方式。不会中断处理,就无法编写响应迅速的驱动。

05 内核互斥技术

  • 详细描述:在多核处理器或多线程环境中,驱动代码的多个执行路径可能同时访问共享数据(全局变量、硬件寄存器),从而导致竞态条件。内核提供多种同步机制来保护临界区:
    • 自旋锁:在短期内等待时使用,请求锁的线程会忙等待,不可睡眠。适用于中断上下文和持有时间极短的场景。
    • 信号量:允许线程在获取不到锁时进入睡眠,适用于持有锁时间较长的场景。
    • 互斥体:是信号量的一个简化版本,用法更直观,使用场景与信号量类似,但限制更多(如只能由持有者解锁)。
    • RCU:读-拷贝-更新,一种无锁的同步机制,对于读多写少的场景性能极高,但实现和使用较为复杂。
  • 学习目标:能够准确分析驱动中的并发风险,并根据场景选择最合适的同步机制。
  • 重要性:是保证驱动在多核环境下稳定、可靠运行的生命线。也是嵌入式/Linux内核面试中必考的知识点。

03 字符设备驱动模型

  • 详细描述:字符设备(如LED、按键、串口)是指那些以字节流形式被顺序访问的设备。此模型的核心是 file_operations 结构体,它填充了一系列函数指针(如 openreleasereadwrite),定义了用户空间应用程序通过文件操作(openclosereadwrite)来访问设备时,内核应该调用的具体驱动函数。同时,需要学习设备号的申请与分配(alloc_chrdev_region)以及字符设备的注册(cdev_initcdev_add)。
  • 学习目标:能够构建一个完整的字符设备驱动,实现基本的文件操作,并在用户空间通过设备文件进行访问。
  • 重要性:这是最基础、最经典的驱动模型,绝大多数简单的、非存储类的硬件外设都采用此模型。是理解Linux驱动与VFS(虚拟文件系统)接口的基石。

04 高级字符设备进阶

  • 详细描述:在基础字符设备之上,为了提供更高效、更灵活的交互方式,需要掌握一系列高级特性。
    • ioctl:用于实现自定义的命令,进行设备的特定配置或操作(如设置波特率、读取寄存器值)。
    • poll / select / epoll:支持多路复用I/O,允许应用程序同时监视多个设备,并在某个设备就绪(可读、可写)时得到通知,实现非阻塞I/O。
    • 异步通知:类似于信号,允许驱动在事件发生时(如数据到达)主动通知应用程序,使其无需轮询。
    • mmap:将设备的内存或驱动缓冲区直接映射到用户进程的地址空间。这实现了“零拷贝”数据传输,极大地提升了大数据量交换的效率。
  • 学习目标:理解并能在驱动中实现这些高级特性,以优化驱动的性能和易用性。
  • 重要性:这些是构建高性能、低延迟驱动的关键技术,尤其在数据采集、音视频处理等场景中不可或缺。

4.2、Linux驱动子系统(重点必学)

01 Linux设备模型

  • 详细描述:理解Linux内核如何用一种统一、层次化的模型来管理所有的设备。核心对象包括 kobject(提供基础功能如引用计数、sysfs接口)、kset(kobject的集合)、ktype(定义kobject的类型)。sysfs 虚拟文件系统是此模型在用户空间的直观体现(/sys/目录)。udev 守护进程则基于 sysfs 提供的信息,在用户空间动态地管理设备节点。
  • 学习目标:理解设备模型的基本概念和组成关系;能够通过 sysfs 查看设备信息;理解 udev 规则的工作原理。
  • 重要性:这是理解所有现代Linux驱动子系统(如platformI2C等)如何组织和工作的理论基础。没有它,看驱动代码会感觉“只见树木,不见森林”。

02 设备树

  • 详细描述:一种描述硬件配置数据的树形结构语言,以 .dts 源文件和 .dtb 二进制文件存在。它完全将硬件信息(如内存映射、中断号、外设连接关系)从内核驱动代码中分离出来。学习内容包括设备树的基本语法(节点、属性、兼容性compatible)、编译方法(dtc)以及内核如何解析设备树并生成platform_device等。
  • 学习目标:能够阅读、修改和编写简单的设备树文件;理解驱动代码如何通过OF API(Open Firmware API)从设备树中获取资源。
  • 重要性:现代嵌入式开发(ARM, PowerPC等)的绝对标准,已全面替代板级文件(board-*.c)中的硬编码。不掌握设备树,几乎无法进行新的嵌入式Linux开发。

03 设备树overlay

  • 详细描述:一种动态修改、叠加到基础设备树上的机制。它允许在系统运行时(或启动时)动态地添加、修改或覆盖设备节点的属性,而无需重新编译整个内核或基础设备树。
  • 学习目标:理解overlay的概念,能够编写和加载overlay文件。
  • 重要性:对于支持可插拔的扩展硬件(如树莓派的HAT扩展板)至关重要,提供了极大的硬件适配灵活性。

04 Platform虚拟总线驱动

  • 必要性:platform_driverplatform_device分离设计。
  • 详细描述:一种虚拟的“总线”,用于将那些不直接挂在物理总线(如I2C, SPI)上的片上外设纳入Linux设备模型。它严格遵循“驱动与设备分离”的思想:platform_device 描述设备本身(资源、名称等),通常由设备树解析生成;platform_driver 描述如何操作设备(驱动函数、兼容性匹配)。总线核心负责在匹配时将它们绑定。
  • 学习目标:掌握如何编写一个 platform_driver,并理解其与 platform_device 的分离和匹配机制。
  • 重要性:是理解Linux驱动框架设计思想的典范。绝大多数片上系统外设(如GPIO控制器、看门狗、ADC)都采用此模型,是面试高频考点。

05 GPIO子系统

  • 详细描述:内核提供的用于通用输入/输出引脚控制的统一接口。通过 gpiod_get 系列函数获取GPIO描述符,然后可以设置其方向(输入/输出)、读取输入值、设置输出值、以及将GPIO配置为中断源。
  • 学习目标:能够使用GPIO子系统的API来控制引脚,并实现GPIO中断。
  • 重要性:控制最简单外设(LED、按键、继电器)的标准方式,避免了直接操作底层寄存器,保证了代码的可移植性。

06 Pinctrl子系统

  • 详细描述:在现代复杂SoC中,一个物理引脚可能被复用于多种功能(如GPIO、UART的TX、I2C的SCL)。Pinctrl子系统负责管理引脚的复用和电气属性(如上拉/下拉、驱动强度)的配置。
  • 学习目标:理解引脚控制的概念,知道如何在设备树中配置引脚的复用功能。
  • 重要性:解决了多功能引脚间的冲突问题。在驱动开发中,如果串口无法正常工作,首先需要检查的就是Pinctrl配置是否正确。

07 LED子系统

  • 详细描述:内核为LED设备提供的一个标准化驱动框架。驱动开发者只需创建一个 led_classdev 结构体并注册,内核就会在 /sys/class/leds/ 下创建相应的接口。该框架还内置了丰富的“触发器”,可以轻松实现LED在特定事件下的闪烁模式(如心跳、定时、磁盘活动)。
  • 学习目标:能够遵循LED子系统框架编写LED驱动,并使用触发器。
  • 重要性:是内核“不要重复造轮子”理念的完美体现,极大地简化了LED驱动的开发,并实现了统一控制。

08 DMA

  • 详细描述:直接内存访问,允许外设直接在内存和设备缓冲区之间传输数据,而无需CPU的持续参与。学习如何使用内核提供的DMA API(如 dma_alloc_coherent 分配一致性DMA内存)来建立DMA传输通道。
  • 学习目标:理解DMA的原理,掌握基本的DMA API使用方法。
  • 重要性:在大数据量传输场景(如网络数据包、音频流、图像数据)中,使用DMA可以极大地解放CPU,降低系统负载,是高性能驱动的必备技术。

09 Input子系统

  • 详细描述:为所有输入设备(按键、键盘、鼠标、触摸屏)建立的统一驱动框架。核心是 input_dev 结构体,驱动需要向其注册设备所能产生的事件类型(EV_KEYEV_ABS等)和编码。当有输入事件发生时,驱动通过 input_event 等函数将事件上报给子系统,子系统再分发给用户空间的应用程序(如evdev)。
  • 学习目标:能够编写一个基于Input子系统的输入设备驱动(如按键驱动)。
  • 重要性:为用户空间提供了统一、抽象化的输入事件接口,简化了应用开发。

10 I2C/SPI/UART子系统

  • 详细描述:学习嵌入式领域最常用的三种串行通信总线的驱动开发模型。
    • I2C/SPI:模型类似,都遵循“控制器驱动(adapter)” + “设备驱动(client_driver)”的分离模式。开发者通常是为特定的从设备(如传感器、RTC)编写“设备驱动”,通过 i2c_driver 或 spi_driver 实现,并与设备树中描述的设备进行匹配。
    • UART:通常使用内核提供的 serial core 层,开发者的工作更多是配置和实现特定串口控制器的底层操作函数。
  • 学习目标:能够为常见的I2C/SPI传感器(如MPU6050、BMP280)编写驱动;理解UART驱动的基本框架。
  • 重要性:连接各种传感器、执行器、通信模块的生命线,是嵌入式驱动开发中最常接触的总线。

i2c:

spi:

uart:

11 PWM/IIO

  • 详细描述:
    • PWM子系统:用于控制脉冲宽度调制信号,从而控制亮度、速度、位置等。驱动需要向内核注册一个 pwm_chip,并提供操作函数。
    • IIO子系统:工业I/O子系统,专门为ADC、DAC、陀螺仪、光感等模拟和数字传感器设计。它提供了统一的框架来处理数据采集、校准和事件上报。
  • 学习目标:能够使用PWM和IIO子系统的API来编写相应的驱动或应用。
  • 重要性:PWM是电机控制、电源管理的核心;IIO简化了各类传感器驱动的开发,并提供了丰富的数据访问接口。

Pwm:

Iio:

4.3、复杂外设驱动(按方向选学)

01 SDIO

  • 详细描述:SDIO是在SD卡标准基础上扩展的接口,常用于连接Wi-Fi模块、4G模组等高速外设。驱动开发涉及SDIO协议栈、块设备读写和电源管理。
  • 重要性:是移动设备、物联网设备实现无线通信的关键接口。

02 以太网

  • 详细描述:围绕 net_device 结构体展开,负责实现网络数据包(sk_buff)的发送和接收。需要理解MAC驱动、PHY芯片的配置以及网络协议栈的接口。
  • 重要性:工业设备、网络网关等有线网络连接的基石。

03 MIPI DSI 屏幕驱动

  • 详细描述:基于DRM/KMS框架,为移动设备的高分辨率、低功耗屏幕编写驱动。涉及DSI协议、帧缓冲(framebuffer)设置和复杂的显示时序调优。
  • 重要性:手机、平板、便携式设备显示驱动的核心技术。

04 HDMI 屏幕驱动

  • 详细描述:同样基于DRM/KMS框架,负责高清多媒体接口的视频输出。需要掌握EDID解析、HDMI PHY配置和色彩空间管理。
  • 重要性:电视、广告机、桌面设备等大屏显示输出的基础。

05 音频

  • 详细描述:基于ALSA框架,驱动分为PlatformCodecMachine等组件。核心是管理PCM数据流的DMA传输和控制音频通路、音量的Mixer。
  • 重要性:智能音箱、录音设备、任何需要音频输入输出的设备的核心。

06 WIFI

  • 必要性:无线网络(IEEE802.11协议、SoftAP/STA模式)。
  • 详细描述:基于IEEE 802.11协议,驱动通过cfg80211nl80211与用户空间的Wi-Fi管理工具通信。需要处理SDIO或USB接口的Wi-Fi芯片,并支持STA和AP模式。
  • 重要性:物联网设备实现无线联网的刚需。
  • 原因:物联网设备联网刚需,需掌握SDIO/USB

07 USB

  • 详细描述:
    • Host驱动:管理连接到本机的USB设备(如U盘、摄像头),核心是URB请求块。
    • Gadget驱动:使设备本身作为一个USB从设备(如U盘、网卡)被主机识别。
  • 重要性:最通用的外设扩展接口,应用极其广泛。

08 PCIE

  • 详细描述:用于连接高速外设(如NVMe SSD、独立GPU)。驱动需要处理BAR空间映射、MSI/MSI-X中断和复杂的DMA操作。
  • 重要性:服务器、高性能计算、边缘AI设备中实现高速数据交换的关键。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-08 15:16:10 HTTP/2.0 GET : https://f.mffb.com.cn/a/468111.html
  2. 运行时间 : 0.121138s [ 吞吐率:8.26req/s ] 内存消耗:4,465.41kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=239bf9c49623c354aed7ebb9ebb6d51b
  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.000573s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000657s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000254s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.002211s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000607s ]
  6. SELECT * FROM `set` [ RunTime:0.000194s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000487s ]
  8. SELECT * FROM `article` WHERE `id` = 468111 LIMIT 1 [ RunTime:0.003133s ]
  9. UPDATE `article` SET `lasttime` = 1770534971 WHERE `id` = 468111 [ RunTime:0.003293s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000243s ]
  11. SELECT * FROM `article` WHERE `id` < 468111 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000853s ]
  12. SELECT * FROM `article` WHERE `id` > 468111 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000459s ]
  13. SELECT * FROM `article` WHERE `id` < 468111 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.004594s ]
  14. SELECT * FROM `article` WHERE `id` < 468111 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001155s ]
  15. SELECT * FROM `article` WHERE `id` < 468111 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.007413s ]
0.122839s