乐于分享
好东西不私藏

基于 VxWorks 的嵌入式软件设计

基于 VxWorks 的嵌入式软件设计

点击“阅读原文”下载高清电子书,仅供学习交流使用。

基于 VxWorks 的嵌入式软件设计:架构、RTOS 概念与实践开发

基于 VxWorks 的嵌入式实时系统设计

嵌入式系统已广泛应用于现代工业的各个领域,从航空航天、工业自动化到通信、机器人和医疗设备。在这些系统的核心位置,是实时操作系统(RTOS),它负责确定性调度、硬件抽象,并在严格的时间约束下实现可靠运行。

在商用 RTOS 平台中,由 Wind River 公司开发的 VxWorks 已成为业界最成熟、部署最广泛的操作系统之一。其确定性调度器、模块化架构、强大的网络功能以及久经考验的可靠性,使其成为航天器、导弹制导系统、工业控制器和网络设备等关键任务应用中的首选平台。

本指南系统地介绍了使用 VxWorks 和 Tornado 集成开发环境(IDE)进行嵌入式软件开发的内容,既涵盖架构概念,也包含实际实现,包括多任务处理、同步机制、中断处理、定时器管理、设备驱动以及系统初始化等。


🚀 理解嵌入式系统

嵌入式系统 是一种专用计算平台,旨在大型系统中执行特定的功能。与通用计算机不同,嵌入式设备针对特定工作负载进行了优化,强调可靠性、确定性时序、低功耗和硬件效率。

典型的嵌入式系统通常包含:

  • • 处理器或微控制器
  • • 内存
  • • 外设接口
  • • 传感器和执行器
  • • 嵌入式操作系统(可选)

操作系统负责协调硬件资源,并提供调度、内存管理、网络和设备通信等服务。

嵌入式系统的发展历程

嵌入式计算经历了几个发展阶段:

发展阶段
主要特点
早期系统
单片机执行简单控制逻辑
中期系统
8 位和 16 位处理器 + 轻量级操作系统
现代系统
32 位和 64 位处理器 + 功能丰富的 RTOS,支持网络和高级外设

目前,嵌入式处理器常用的架构包括:

  • • ARM
  • • PowerPC
  • • MIPS
  • • RISC-V
  • • DSP 处理器
  • • x86(部分工业应用)

这些平台都需要依赖 RTOS 来满足严格的实时性要求。


⚙️ 为什么需要实时操作系统

与桌面操作系统不同,RTOS 优先考虑可预测的时序,而非最大吞吐量。

任务必须在确定的截止时间内完成。

这对以下系统尤为重要:

  • • 飞行控制计算机
  • • 自动驾驶车辆
  • • 工业机器人
  • • 医疗设备
  • • 通信基础设施
  • • 国防系统

典型的 RTOS 能力包括:

  • • 基于优先级的调度
  • • 快速中断响应
  • • 低上下文切换延迟
  • • 确定性同步机制
  • • 内存保护
  • • 硬件抽象

VxWorks 因这些特性已成为业界标杆级的 RTOS 平台。


🏗️ VxWorks 架构

VxWorks 由 Wind River 于 1983 年推出,采用模块化架构,开发者可根据具体应用仅包含所需组件。

其主要架构层次如下:

+--------------------------------------+| 用户应用程序                         |+--------------------------------------+| 网络 | 文件系统 | 驱动程序         |+--------------------------------------+| VxWorks 内核服务                     |+--------------------------------------+| BSP(板级支持包)                    |+--------------------------------------+| 硬件平台                             |+--------------------------------------+

这种分层设计既简化了可移植性,又最大限度地减少了资源占用。


🧩 VxWorks 核心组件

Wind 内核

Wind 内核是 VxWorks 的核心执行引擎。

其主要职责包括:

  • • 优先级调度
  • • 上下文切换
  • • 中断处理
  • • 任务同步
  • • 内存管理
  • • 定时器服务

内核设计追求极低的调度延迟,同时保持确定性行为。


板级支持包(BSP)

每个硬件平台都需要一个板级支持包(BSP)

BSP 抽象了板级特定功能,例如:

  • • CPU 初始化
  • • 内存映射
  • • 中断控制器
  • • 定时器
  • • 设备初始化
  • • 启动配置

由于应用程序通过标准内核 API 而非直接访问硬件,软件的可移植性显著提升。


网络协议栈

VxWorks 提供了成熟的 TCP/IP 网络实现,支持以下协议:

  • • TCP
  • • UDP
  • • RIP
  • • FTP
  • • Telnet
  • • NFS
  • • Berkeley Sockets

这使得嵌入式系统能够轻松接入分布式和网络化环境。


文件系统

根据应用需求,VxWorks 支持多种文件系统:

  • • dosFs
  • • rawFs
  • • rt11Fs
  • • tapeFs

开发者可按需选择模块,减少内存占用。


任务间通信

VxWorks 提供了多种同步与通信机制,包括:

  • • 二进制信号量
  • • 计数信号量
  • • 互斥信号量
  • • 消息队列
  • • 管道
  • • 共享内存
  • • 信号
  • • 套接字

这些原语构成了并发应用程序开发的基础。


⭐ VxWorks 的主要特性

VxWorks 与众多嵌入式操作系统相比,具有以下显著优势:

确定性调度

调度器支持:

  • • 256 个优先级
  • • 抢占式调度
  • • 轮转调度
  • • 快速上下文切换

高优先级任务可立即抢占低优先级任务。


可伸缩性

VxWorks 最大的优势之一是高度可配置。

最小系统仅占用几 KB ROM,而企业级部署可包含:

  • • 网络功能
  • • 文件系统
  • • POSIX 接口
  • • 安全模块
  • • 虚拟化
  • • SMP 支持

这种灵活性使其能够适配差异极大的硬件平台。


可靠性

VxWorks 在安全关键领域积累了数十年的部署经验,包括:

  • • 航空航天
  • • 国防
  • • 工业自动化
  • • 医疗仪器
  • • 通信领域

其确定性架构使其特别适用于软件故障不可接受的场合。


🛠️ 使用 Tornado IDE 进行开发

Tornado 是 Wind River 为 VxWorks 提供的集成开发环境。

IDE 运行在主机工作站上,通过以下方式与嵌入式目标机通信:

  • • 以太网
  • • 串口
  • • JTAG
  • • 硬件仿真器

其架构将应用程序开发与目标机执行清晰分离。

主要组件

开发环境包含:

  • • 源代码编辑器
  • • 项目管理器
  • • 交叉编译器
  • • 增量加载器
  • • CrossWind 图形化调试器
  • • WindSh 命令行 Shell
  • • VxSim 仿真器
  • • 系统浏览器
  • • 配置工具

这些工具共同构成了完整的嵌入式开发工作流。


🔄 典型开发流程

标准的 VxWorks 开发流程包括以下阶段:

编写源代码      │      ▼交叉编译      │      ▼生成 Boot ROM      │      ▼构建 VxWorks 镜像      │      ▼下载至目标机      │      ▼调试与测试      │      ▼生成量产镜像

典型活动包括:

  1. 1. 配置 BSP
  2. 2. 构建 Boot ROM
  3. 3. 配置网络
  4. 4. 创建 VxWorks 镜像
  5. 5. 下载应用模块
  6. 6. 使用 CrossWind 或 WindSh 调试
  7. 7. 生成最终 ROM 镜像

🧵 任务管理

多任务是 VxWorks 的核心能力之一。

每个任务在内核调度器下独立执行。

任务创建通常使用 taskSpawn() 函数。

STATUS taskSpawn(    char *name,    int priority,    int options,    int stackSize,    FUNCPTR entryPt,    ...);

典型任务状态包括:

  • • READY(就绪)
  • • PEND(等待)
  • • DELAY(延时)
  • • SUSPEND(挂起)
  • • RUNNING(运行)

调度器始终选择最高优先级的可运行任务执行。


📨 任务间通信

独立的任务需要安全地交换信息。

VxWorks 支持多种通信机制:

机制
最佳适用场景
共享内存
高速数据交换
消息队列
结构化任务通信
管道
流式通信
信号
事件通知
套接字
网络通信

消息队列示例

MSG_Q_ID msgQ;msgQ = msgQCreate(    32,    sizeof(int),    MSG_Q_PRIORITY);

消息队列提供确定性的通信方式,避免忙等待。


🔒 任务同步

并发执行会带来同步挑战。

VxWorks 提供三种主要信号量类型:

  • • 二进制信号量
  • • 计数信号量
  • • 互斥信号量

互斥信号量实现了优先级继承机制,可有效防止优先级反转问题。

示例:

SEM_ID mutex;mutex = semMCreate(    SEM_Q_PRIORITY |    SEM_INVERSION_SAFE);

优先级继承会临时提升资源拥有者的优先级,直至资源被释放。


⚡ 中断管理

中断服务程序(ISR)用于对硬件事件做出快速响应。

典型中断流程为:

硬件中断     │     ▼中断控制器     │     ▼ISR     │     ▼信号量 / 事件     │     ▼工作任务

ISR 应保持极短。最佳实践包括:

  • • 避免阻塞操作
  • • 最小化执行时间
  • • 将复杂处理推迟到工作任务
  • • 使用信号量或消息队列通知应用任务

⏱️ 定时器管理

VxWorks 提供多种定时机制:

  • • 看门狗定时器
  • • 辅助时钟
  • • 系统时钟
  • • 周期定时器

看门狗定时器常用于检测软件故障。

示例:

WDOG_ID watchdog;watchdog = wdCreate();wdStart(    watchdog,    sysClkRateGet(),    timeoutHandler,    0);

定时器可实现周期性调度而无需忙轮询。


💾 I/O 驱动程序开发

VxWorks 采用模块化的设备驱动架构。

典型驱动程序职责包括:

  • • 设备初始化
  • • Open / Close
  • • Read / Write
  • • IOCTL 操作
  • • 中断处理

简化后的驱动结构为:

应用程序     │     ▼I/O 系统     │     ▼设备驱动     │     ▼硬件

将应用程序与硬件实现分离,提升了可移植性和可维护性。


🚀 系统初始化与启动过程

VxWorks 的启动过程分为几个明确阶段:

上电   │   ▼Boot ROM   │   ▼硬件初始化   │   ▼内核启动   │   ▼BSP 初始化   │   ▼usrAppInit()   │   ▼用户应用程序

usrAppInit() 函数通常作为用户应用的主要初始化入口。

开发者常在此阶段初始化任务、驱动、网络接口、定时器和通信服务等。


🧪 实验项目

实践操作是掌握嵌入式软件开发的关键。

代表性的实验项目包括:

  • • 任务调度
  • • 消息队列编程
  • • 信号量同步
  • • 中断处理
  • • 定时器应用
  • • 字符设备驱动
  • • 系统初始化
  • • 综合多任务应用

常用硬件平台包括基于 MPC860 的开发板或其他嵌入式目标板。

这些实验能够强化 RTOS 理论与实际工程技能。


📌 VxWorks 开发最佳实践

在开发生产级嵌入式应用时,建议遵循以下原则:

  • • 保持 ISR 短小且确定性
  • • 使用互斥信号量保护共享资源
  • • 根据时序要求而非功能分配任务优先级
  • • 在硬实时路径中尽量避免动态内存分配
  • • 将硬件相关代码隔离在 BSP 和驱动中
  • • 需要同步时优先使用消息队列而非共享内存
  • • 测试过程中持续监控 CPU 利用率和栈使用情况

遵循这些实践可显著提升系统可靠性和可维护性。


📚 总结

VxWorks 仍是嵌入式软件开发领域最强大的商用实时操作系统之一。其确定性调度器、模块化架构、完善的网络协议栈以及成熟的开发生态,已在航空航天、工业自动化、国防、通信等关键任务领域成功部署数十年。

结合 Tornado IDE,VxWorks 提供了覆盖整个嵌入式软件生命周期的完整开发环境——从 Boot ROM 生成、BSP 配置,到多任务、同步、中断管理、设备驱动开发以及量产部署。

对于希望深入理解 RTOS 设计原理和实际嵌入式软件工程的工程师而言,掌握 VxWorks 将为构建可靠、确定性和高性能的嵌入式系统提供宝贵经验。

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