当前位置:首页>Linux>真真没啥技术的我学Linux驱动 | ROM Code的“接头暗号”

真真没啥技术的我学Linux驱动 | ROM Code的“接头暗号”

  • 2026-02-06 22:37:57
真真没啥技术的我学Linux驱动 | ROM Code的“接头暗号”

月黑风高夜,金陵城外的芯片码头。

你,一个代号为“裸机程序”的神秘刀客,怀揣着绝密任务,来到了这片由硅晶与电流构成的江湖。眼前这座巍峨的i.MX6ULL城堡,城门紧锁,唯有顶楼的ROM Code密室,还亮着一盏永不熄灭的灯。

你知道规矩。要想让城堡为你开门,启动那沉睡的千军万马(DDR、外设、内核),你必须先通过楼上那位“ROM老爷”的考验。他不见来人,只听暗号——一段必须严丝合缝、分毫不差的数据结构。

这不是普通的暗号。它有一个冰冷的技术名字:Image Vector Table,简称IVT。但在懂行的人眼里,它就是一张写着“天王盖地虎,宝塔镇河妖”的江湖拜帖,是进入i.MX6ULL世界的唯一通行证。

本篇属于第一部分 万事开头难之入门篇

 ROM Code的“接头暗号”

今晚,我们就来破译这份密令。


截图来自Reference Manual  Chapter 8  System Boot

先前在真真没啥技术的我学Linux驱动 | 新芯片的官方文档(下)

中已经阅读过boot mode,启动方式如下图所示。

BOOT_MODE[1:0] = 0b10执行来自内部ROM的引导代码(当BT_FUSE_SEL为0时,由GPIO引脚配置决定)。引导代码执行硬件初始化,从选定的引导设备加载程序映像,然后跳转到从程序映像的地址开始执行
如何布下“阵法”:设置那几个神秘的BOOT引脚,告诉城堡:“暗号将从哪  个方向传来”(是从SD卡、eMMC还是USB?)。
GPIO引脚分配如下图所示,

但我的板子引出boot相关引脚如下,拨码开关除了BOOT_MODE0\1外,仅有LCD_DATA几个引脚。

其余引导引脚都接地了。

这怎么办?遇事不决看手册。
外部启动设备类型的选择由BOOT_CFG1[7:4] 控制。
板子上有SD卡、EMMC

SD卡      -  SDHC1

EMMC   -   SDHC2

与在Chapter 5 Fusemap中表格相比,两个地方虽然内容一样,但在Chapter 5相关信息其实更好看一些。
引导设备类型如下图所示
SD和EMMC引脚配置引导信息,如下图所示

引出引脚与BOOT CFG映射关系:

引脚
BOOT CFG引脚
说明
LCD_DATA11

BOOT_CFG2[3]

选择SD/EMMC使用哪个SDHCx启动。
按板子设计,设置为0从SD卡启动,设为1从EMMC启动。
LCD_DATA3

BOOT_CFG1[3]

设置SD/EMMC速度
LCD_DATA4

BOOT_CFG1[4]

BOOT_CFG1[7:4]

010x:SD/eSD
011x:MMC/eMMC
LCD_DATA5

BOOT_CFG1[5]

LCD_DATA6

BOOT_CFG1[6]

LCD_DATA7

BOOT_CFG1[7]

拨码开关拨码定义:

1
2
3
4
5
6
7
8
说明
BOOT_MODE1
BOOT_MODE0
LCD_DATA11
LCD_DATA3
LCD_DATA4
LCD_DATA5
LCD_DATA6
LCD_DATA7
1
0
0
x
x
0
1
0
SD卡启动
1
0
1
x
x
1
1
0
EMMC启动
0
1
x
x
x
x
x
x
串行下载

“暗号”要从SD卡来,那么就要“100xx010”这样一串拨码数字来设置。

如何铸造“信物”:亲手打造IVT这张拜帖,每一个字段,都将是与ROM老爷对话的关键密语。

程序要想真正运行,还要在前面加上IVT、BootData、DCD信息,最后才是用户程序。

设备从SD/EMMC启动,IVT offset为1Kb=0x400,加载大小为4Kb,那么也就是说最后实际大小只有4Kb-1Kb=3Kb大小用来表示IVT+Boot data+DCD

IVT格式:

IVT header包含Tag\Length\Version,

Tag:单字节,固定0xD1,

Length两个字节,采用大端格式,包含IVT的总长度(以字节为单位),包括头部。该长度是固定的,必须为32字节。

Version:单字节0x40或0x41。

芯片复位后,寄存器值变为默认值,默认值并不是理想情况下能发挥最大性能的值。这个时候就需要通过DCD这块区域来配置一些参数来初始化。说白了,DCD就是一系列寄存器的地址和配置的值。

当然,这块区域也不是无限大的,最大1768Byte。

DCD格式包含Header和一系列CMD组合。

Header:由Tag\Length\Version组成,

Tag:单字节,固定值0xD2。

Length:两个字节,大端格式,包含整个DCD的长度(包括Header)。

Version:单字节,固定值0x41。

Write Data CMD
Tag:单字节固定值0xCC。
Length:两个字节,大端格式,包含整个write cmd的长度包括Header。
Params:单个字节,bytes表示目标的长度,如1,2,4个字节。flags是命令控制位。

Address:寄存器地址。

Value/Mask:寄存器值。

写入数据的时候还要注意数据宽度、地址范围,否则,会写入失败。

对于不支持的boot引导设备如以太网,Boot ROM 自身并不知道如何读取这些设备上的数据。这时候就需要一个“插件”——即 Plugin Image 来实现。

既然知道了IVT格式内容,那么接下来怎么做呢?

寄存器这么多,又是头一次接触。

还记得当时下载的

SDK_2.2_MCIM6ULL_RFP_Linux.run

么?

如何完成“交接”:当暗号对上,信物验明,你将亲眼目睹城堡大门轰然开启,你的代码从此在这片疆域内,生杀予夺,令行禁止。

SDK目录如下图示,

这里面一定有怎么让板子跑起来的demo程序,遇事不决看文档

打开docs,可以看到有个start的pdf。

文档介绍了SDK支持NXP的官方评估板,以及SDK的文件目录相关内容,还有run a demo的手把手教学(好吧,居然是windows的)。

另外关键的是,在mfg下载地方提到了怎么生成image,这是我们最需要的。

编译hello world后,得到了bin文件,按上述步骤到tools/imgutil下生成image。

在文件夹下除了mkimage.sh外,还有个dcd.config文件,dcd多么熟悉的名字。执行mkimage.sh,生成了一个img文件,发现文件除了生成一个img外还多了一个dcd.bin,并且还细心的打印了image info。

基地址是0x80000000 对应DDR起始地址

IVT offset 0x00000400与RM要求一致

程序镜像地址0x80002000

.....

以16进制形式,打开文件sdk20-app.bin和sdk20-app.img

bin文件是程序文件开头是18F0...

img文件前面1Kb全是FF,数据从0x400开始D1 00 20 41.....

程序18F0在0x2000开始(这是由链接文件决定的),

好了,再根据RM手册的IVT table结合img文件分析一下数据对应关系

数据
说明
IVT
header
0x412000D1
Tag固定值0xD1。
Length 0x0020 大端格式,32个字节。
Version:0x41。
entry
0x80002000
程序链接入口地址为0x80002000
reserved1
0x00000000
保留
dcd
0x80000440
从文件0x440开始是dcd配置数据
boot data addr
0x80000420
boot data绝对地址
self
0x80000400
IVT复制到DDR地址
csf
0x00000000

Command Sequence 

File地址,未使用

reserved2
0x00000000
保留
Boot Data
start
0x80000000
整个镜像的起始地址
length
0x00007E60
实际镜像大小
plugin
0x00000000
未使用
DCD
header
0x41D402D2
Tag固定值0xD2。
Length两个字节长度,大端格式,长度0x02D4。
Version单字节固定值0x41。

Write 

Data Command

0x140C00CC
TAG固定为0xCC。
Length两个字节,大端格式,0x000C。
Params目标数据宽度4字节。

Enable all clocks

Addr
0x020C4068

寄存器地址

CCM_CCGR0

Value
0xFFFFFFFF
打开CCGR0控制所有外设的时钟
.......

Config IOMUX for DDR

Write 
Data Command
0x140C00CC

TAG固定为0xCC。

Length两个字节,大端格式,0x000C。

Params目标数据宽度4字节。

Addr
0x020E04B4

设置DDR的IOMUXC,

IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE

Value

0x000C0000

设置为DDR3模式
....

Config DDR 

Controller Registers

Write 
Data Command
0x140C00CC

TAG固定为0xCC。

Length两个字节,大端格式,0x000C。

Params目标数据宽度4字节。

Addr
0x021B001C

MMC寄存器

MMDC_MDSCR

Value

0x00008000

配置MMDC请求
......

Config MMDC init

......

以上就是img整个镜像的头部IVT 相关信息,

包含初始化时钟、配置DDR IO、配置DDR控制器、配置MMC控制器。

那这个到底怎么生成的呢?

还记得dcd.config吗?内容如上图所示,描述了外设时钟、DDR IO口、DDR、MMC相关配置寄存器的配置信息。

当mkimage脚本执行时,会通过dcdgen提取dcd.config文件来生成对应dcd配置信息,然后按照手册描述规则,把IVT+BootData+DCD一起并添加到程序头部,形成镜像文件。

通往i.MX6ULL内核世界的密钥已交予ROM Code老爷手中。

当IVT的第一个字节的电流震颤被ROM Code准确捕获——那扇厚重的城门开始缓缓打开。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-07 23:41:16 HTTP/2.0 GET : https://f.mffb.com.cn/a/468771.html
  2. 运行时间 : 0.190639s [ 吞吐率:5.25req/s ] 内存消耗:4,857.88kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=9f6aaea25913855d8df3542e8e8a8c10
  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.000845s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001234s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.001925s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000614s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001059s ]
  6. SELECT * FROM `set` [ RunTime:0.000668s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001111s ]
  8. SELECT * FROM `article` WHERE `id` = 468771 LIMIT 1 [ RunTime:0.016111s ]
  9. UPDATE `article` SET `lasttime` = 1770478876 WHERE `id` = 468771 [ RunTime:0.016445s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.003577s ]
  11. SELECT * FROM `article` WHERE `id` < 468771 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.002199s ]
  12. SELECT * FROM `article` WHERE `id` > 468771 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001038s ]
  13. SELECT * FROM `article` WHERE `id` < 468771 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.005069s ]
  14. SELECT * FROM `article` WHERE `id` < 468771 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.019457s ]
  15. SELECT * FROM `article` WHERE `id` < 468771 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.042518s ]
0.193788s