显示驱动板卡启动引导流程全解析:从电源时序到面板点亮

1. 显示驱动板卡启动引导流程的全局拆解

显示驱动板卡这东西,外行看是一块绿油油的PCB,内行看就是一套微型计算机系统。它跟普通电脑主板的启动流程有相似之处,但又有自己非常独特的脾气。我接触过不少驱动板方案,从早期的RTD系列到后来的MSTAR、Novatek,每一家的启动引导逻辑都有差异,但骨架大同小异。今天我就把这块的启动引导流程从头到尾捋一遍,把那些文档里不会写的细节和踩坑经验都倒出来。

先给不太熟悉的朋友一个直观印象:显示驱动板卡的核心任务是把来自HDMI、DP、Type-C、VGA等接口的视频信号,经过缩放、色彩处理、时序转换之后,驱动LCD或OLED面板显示出画面。它要完成这个任务,第一步就是把自己“唤醒”——这就是启动引导流程要干的事。整个过程涉及电源管理、时钟树配置、DDR初始化、固件加载、面板时序初始化、OSD系统启动等一系列环节,任何一个环节卡住,你看到的就是黑屏、花屏或者反复重启。

这篇文章适合谁看?如果你是硬件工程师、嵌入式软件工程师、显示器维修人员,或者正在做驱动板方案选型和调试的从业者,那这篇内容应该能帮你省下不少抓瞎的时间。我会从整体设计思路讲到具体实操步骤,再到常见问题排查,尽量做到你拿着就能对照着调。

1.1 为什么启动引导流程值得单独拿出来讲

很多人觉得启动流程不就是上电跑代码嘛,有什么好讲的。但实际调试中,我遇到的黑屏问题里至少有六成跟启动引导阶段有关。比如DDR初始化参数不对导致固件加载失败、时钟配置错误导致面板时序异常、电源上电顺序不对导致芯片锁死等等。这些问题如果对启动流程没有清晰的认知,排查起来就是盲人摸象。

而且显示驱动板卡跟通用嵌入式系统有个很大的区别:它对启动时间有要求。显示器从按下电源键到出画面,用户期望是秒级的。如果启动流程设计得臃肿,比如DDR训练时间过长、固件加载效率低,用户就会觉得这显示器“反应慢”。所以启动引导流程不仅要能跑通,还要跑得快、跑得稳。

1.2 启动引导的四个核心阶段

我把整个启动引导流程划分为四个阶段,后面会逐一展开:

  • 第一阶段:上电与复位释放。从电源芯片输出稳定电压,到复位信号释放,芯片内部ROM代码开始执行。
  • 第二阶段:时钟与DDR初始化。配置PLL锁定系统时钟,完成DDR控制器的初始化和训练。
  • 第三阶段:固件加载与校验。从SPI Flash或eMMC中读取固件,校验完整性,搬运到DDR中运行。
  • 第四阶段:外设初始化与面板点亮。配置显示通路、背光控制、面板时序,最终输出画面。

这四个阶段环环相扣,前一阶段没完成,后一阶段根本无从谈起。下面我逐个拆解。

2. 上电时序与复位释放的细节把控

2.1 电源树设计与上电顺序

显示驱动板卡通常需要多路电源:核心电压(比如1.1V或1.2V)、DDR电压(1.5V或1.35V)、IO电压(3.3V或1.8V)、面板电压(12V、5V等)、背光升压电路等。这些电源的上电顺序是有讲究的,不是随便哪个先来都行。

一般原则是:核心电压先上,IO电压后上,面板和背光最后上。为什么?因为如果IO电压先于核心电压建立,芯片的IO引脚可能会有电流倒灌进核心电路,轻则增加功耗,重则导致闩锁效应烧毁芯片。我见过一个案例,某方案为了省成本把两路电源的上电顺序搞反了,结果批量出货后返修率极高,最后查出来就是闩锁导致的芯片损坏。

具体到实操,你需要在原理图设计阶段就确认每路电源的使能信号(EN)是怎么级联的。常见做法是用前一路电源的Power Good信号去使能下一路,形成菊花链。但要注意Power Good信号的延迟和阈值,有些电源芯片的PG信号在电压达到90%时才拉高,有些是80%,这个差异会影响上电时序的裕量。

注意:调试时一定要用示波器多通道同时抓各路电源的上电波形,确认顺序和上升时间都符合芯片手册要求。不要只看原理图觉得没问题就跳过这一步。

2.2 复位信号的释放时机

复位信号分为上电复位(POR)和外部复位。POR是芯片内部电路产生的,一般不需要干预。外部复位则来自复位芯片或RC电路,它的释放时机很关键。

复位释放太早,电源还没稳定,芯片可能跑飞;释放太晚,启动时间变长,用户体验差。通常复位芯片会有一个固定的延迟时间,比如200ms,这个时间要跟电源的上升时间匹配。如果电源上升时间是50ms,那200ms的复位延迟就绰绰有余;但如果电源上升时间是300ms,那200ms就不够了,需要换更长的复位延迟或者调整电源设计。

我个人的经验是,复位释放后最好用示波器抓一下芯片的晶振起振波形。如果晶振起振慢或者不起振,那后面的一切都免谈。晶振的负载电容匹配、ESR值、驱动能力这些参数都要仔细核对。

2.3 启动模式引脚配置

很多显示驱动芯片有启动模式选择引脚(Boot Mode Pin),用来决定芯片从哪里启动、以什么方式启动。比如从SPI Flash启动还是从eMMC启动,是正常启动还是进入烧录模式。这些引脚通常在复位释放的瞬间被采样,所以必须在复位释放前就配置好。

常见的坑是:启动模式引脚被其他电路复用,导致采样值不对。比如某个引脚正常工作时是GPIO输出,但复位期间被外部电路拉高,芯片就误判了启动模式。解决办法是在这个引脚上加一个跳线或者拨码开关,调试阶段手动控制,量产时再固定。

还有一个细节:启动模式引脚的采样窗口很窄,通常在复位释放后的几个时钟周期内。如果引脚上有电容或者长走线导致信号建立慢,采样值可能不稳定。所以这些引脚的外部电路要尽量简单,走线要短。

3. 时钟系统与DDR初始化的硬核细节

3.1 PLL配置与时钟树

芯片内部的时钟系统通常由晶振提供参考时钟,然后通过PLL倍频到各个模块所需的工作频率。显示驱动芯片的时钟树一般包括:系统时钟、DDR时钟、显示像素时钟、音频时钟等。

PLL的配置参数包括倍频系数、分频系数、电荷泵电流、环路滤波器的电阻电容值等。这些参数通常由芯片厂商提供的工具生成,但你需要理解每个参数的含义,才能在出问题时知道往哪个方向调。

举个例子,如果PLL锁定时间过长,会导致启动变慢。锁定时间跟环路带宽有关,带宽越窄锁定越慢但抖动越小,带宽越宽锁定越快但抖动越大。显示应用对时钟抖动比较敏感,尤其是高分辨率高刷新率的场景,所以通常会在锁定时间和抖动之间取一个平衡。

我调试过一个方案,PLL配置用的是厂商默认值,结果在4K分辨率下画面有轻微的闪烁。后来把环路带宽调窄了一点,锁定时间从200us增加到500us,但画面稳定了。这个取舍要看你的产品定位,如果是便携显示器,启动时间敏感,可能就要牺牲一点抖动性能。

3.2 DDR初始化与训练

DDR初始化是启动流程中最复杂也最容易出问题的环节。它主要包括以下几个步骤:

  1. DDR控制器复位与配置:设置DDR类型(DDR3/DDR4/LPDDR4等)、位宽、容量、时序参数等。
  2. DDR上电与稳定:DDR芯片需要先上电,等待电压稳定,然后执行初始化序列。
  3. 写均衡(Write Leveling):调整DQS与CK之间的相位关系,确保写入数据被正确采样。
  4. 读训练(Read Training):调整读数据的采样窗口,找到最佳采样点。
  5. 眼图扫描与优化:通过扫描不同的延迟值,找到数据眼图的中心点。

这些步骤通常由芯片内部的硬件状态机自动完成,但前提是你提供的配置参数正确。参数从哪里来?一般是根据DDR芯片的数据手册和PCB的走线长度计算出来的。如果PCB走线等长做得不好,训练可能失败或者裕量很小,导致高温或低压下不稳定。

实操心得:DDR训练失败时,不要急着改参数,先用示波器量一下DDR的电源纹波和参考电压。我遇到过好几次训练失败其实是电源纹波太大导致的,换了低ESR的电容就好了。

还有一个容易被忽视的点:DDR的参考电压VREF。有些方案用电阻分压产生VREF,精度和温漂都不够好,建议用专用的VREF芯片。VREF偏差超过2%就可能导致训练失败或者误码率升高。

3.3 时钟与DDR的依赖关系

DDR的时钟通常由PLL单独提供,或者由系统时钟分频得到。如果DDR时钟不稳定,训练肯定过不了。所以在DDR初始化之前,必须确保DDR时钟已经锁定且抖动在允许范围内。

有些芯片的启动流程是:先锁定系统PLL,再配置DDR PLL,然后进行DDR训练。这个顺序不能乱。我见过一个案例,工程师把DDR PLL的配置放在了DDR训练之后,结果训练时用的是默认时钟,频率不对,训练自然失败。后来调整了顺序就正常了。

4. 固件加载与校验的完整链路

4.1 启动介质的选择与对比

显示驱动板卡常见的启动介质有SPI Flash、eMMC、SD卡等。SPI Flash成本低、电路简单,是最常见的选择;eMMC容量大、速度快,适合需要存储OSD资源或录屏功能的方案;SD卡则多用于开发调试阶段。

启动介质成本速度容量适用场景
SPI Flash低中等小(通常4-32MB)量产主流方案
eMMC中高大(4GB以上)智能显示器、带系统方案
SD卡低中等大开发调试、小批量

选择SPI Flash时要注意接口模式:单线、双线、四线。四线QSPI速度最快,但需要芯片支持。另外Flash的扇区大小、擦除时间、耐久度也要考虑。有些廉价Flash的擦除时间很长,会导致固件升级时体验很差。

4.2 固件读取与搬运过程

芯片内部的ROM代码会先从启动介质中读取一小段引导程序(Bootloader),这段程序通常只有几KB到几十KB,负责初始化最基本的硬件,然后把主固件从Flash搬运到DDR中。

搬运过程一般使用DMA,这样可以解放CPU去处理其他初始化任务。DMA的配置要注意源地址、目的地址、传输长度、传输模式等参数。如果DMA配置错误,搬运的数据可能不完整或者错位,导致固件跑飞。

我踩过的一个坑是:Flash的读取时序配置不对,导致DMA读取的数据偶尔出错。因为Flash的读取速度跟时钟频率有关,如果时钟太快而Flash的访问时间不够,就会读到错误数据。解决办法是降低SPI时钟频率或者增加等待周期。这个参数在Flash的数据手册里有明确说明,但容易被忽略。

4.3 固件校验机制

固件搬运完成后,通常要进行校验,确保数据完整。常见的校验方式有CRC32、MD5、SHA等。CRC32计算速度快,适合实时校验;MD5和SHA更安全,但计算量大,一般用于固件升级时的完整性验证。

校验失败的处理策略也很重要。有些方案校验失败后直接死机,有些会尝试从备份区恢复,有些会进入烧录模式等待重新烧录。从用户体验角度,最好是能自动恢复或者至少给出明确的错误提示(比如LED闪烁特定模式)。

注意:校验区域要覆盖整个固件,包括中断向量表、代码段、数据段。有些方案只校验代码段,结果数据段被篡改后系统行为异常,排查起来很费劲。

5. 外设初始化与面板点亮的实操要点

5.1 显示通路的配置顺序

固件加载完成后,系统开始初始化显示通路。这个顺序一般是:显示控制器复位 -> 图层配置 -> 缩放器配置 -> 时序发生器配置 -> 面板接口配置 -> 背光使能。

显示控制器复位后,需要配置输出分辨率、刷新率、色彩深度、时序参数(HSYNC、VSYNC、DE、像素时钟等)。这些参数必须跟面板的规格书严格匹配,否则面板可能不亮或者显示异常。

缩放器的配置取决于输入信号和输出分辨率的关系。如果输入是1080P,输出是4K,就需要上缩放;反之则需要下缩放。缩放算法的选择会影响画质和延迟,常见的有双线性、双三次等。有些芯片还支持锐化、降噪等后处理功能。

5.2 面板时序参数的调试

面板时序是显示驱动调试中最需要耐心的部分。主要参数包括:

  • 水平时序:HSYNC宽度、HBP(水平后沿)、HFP(水平前沿)、有效像素数。
  • 垂直时序:VSYNC宽度、VBP(垂直后沿)、VFP(垂直前沿)、有效行数。
  • 像素时钟:由PLL分频得到,频率必须跟面板规格一致。

这些参数如果不对,表现可能是:画面偏移、画面抖动、黑边、花屏、甚至面板不亮。调试时建议先用面板厂商提供的典型值,然后根据实际显示效果微调。

我遇到过一个案例:画面右侧有约10个像素的竖线干扰。查了半天发现是HBP设小了,导致一行数据还没传输完下一行就开始了。把HBP增加几个时钟周期就解决了。这种问题在规格书里不会写,只能靠实测。

5.3 背光控制与调光方式

背光控制分为模拟调光和PWM调光。模拟调光通过改变LED电流来调节亮度,优点是无频闪,缺点是低亮度下色偏;PWM调光通过改变占空比来调节亮度,优点是色偏小,缺点是低亮度下可能被人眼感知到频闪。

PWM调光的频率选择很关键。频率太低(比如200Hz)人眼会感觉到闪烁;频率太高(比如20kHz以上)又可能导致EMI问题。一般建议在1kHz到5kHz之间,具体要看背光驱动芯片的支持范围。

实操心得:调试背光时,先用固定占空比(比如50%)确认背光能正常点亮,再逐步调整占空比观察调光效果。不要一上来就设成1%占空比,有些背光驱动芯片在极低占空比下可能不启动。

6. 常见问题与排查技巧实录

6.1 启动失败类问题速查表

现象可能原因排查方法
上电无反应电源未建立、复位未释放示波器量各路电源和复位信号
反复重启看门狗超时、固件校验失败检查看门狗配置、读取校验错误码
黑屏但背光亮面板时序不对、显示通路未配置量像素时钟、检查时序参数
花屏DDR训练失败、固件搬运错误检查DDR训练日志、校验固件
启动慢PLL锁定慢、DDR训练时间长优化PLL带宽、调整训练参数

6.2 几个典型的排查案例

案例一:上电后芯片发烫但不启动。量电源发现核心电压只有0.8V,正常应该是1.2V。查原理图发现反馈电阻焊错了,换了电阻就好了。这个案例说明上电后第一件事应该是量各路电源的电压值,不要急着看代码。

案例二:启动到一半卡死,串口无输出。用调试器连上发现程序停在DDR初始化函数里。检查DDR配置发现容量设错了,实际是512MB但配置成了1GB,导致训练时访问了不存在的地址空间。改成正确容量后正常。

案例三:画面偶尔闪烁,重启后恢复。排查发现是PLL的锁定检测没有使能,偶尔PLL失锁后系统没有重新锁定。使能锁定检测并加上失锁中断处理后问题解决。

6.3 独家避坑技巧

  • 保留调试串口:不管量产方案多紧凑,一定要留出UART调试口。启动过程中的关键日志都从这里输出,没有它排查问题就是瞎子摸象。
  • 加启动指示灯:用几个LED指示启动到了哪个阶段,比如电源OK、DDR OK、固件OK、面板OK。量产时可以不焊,但调试阶段非常有用。
  • 固件分区设计:把Bootloader和主固件分开,Bootloader尽量简单稳定,主固件可以频繁升级。这样即使主固件升级失败,Bootloader还能工作,可以通过串口或USB重新烧录。
  • 保留备份固件:在Flash中划出一块备份区,主固件校验失败时自动从备份区恢复。这个机制在批量出货后能救命。
  • 注意温度对启动的影响:有些DDR参数在常温下没问题,但低温或高温下就失败了。如果产品有宽温要求,一定要做高低温启动测试。

7. 启动优化与量产一致性保障

7.1 启动时间优化策略

启动时间是从按下电源到出画面的时间,用户感知很强。优化手段包括:

  • 并行初始化:把不相关的初始化任务并行执行,比如DDR训练和面板电源建立可以同时进行。
  • 跳过不必要的训练:如果PCB走线稳定,DDR训练结果可以保存到Flash中,下次启动直接加载,不用重新训练。但要注意温度变化后可能需要重新训练。
  • 固件压缩:把固件压缩后存储,加载时解压。虽然增加了解压时间,但减少了读取时间,总体可能更快。具体要看压缩率和解压速度的平衡。
  • 快速启动模式:有些芯片支持快速启动,跳过部分自检和训练,直接加载固件。适合对启动时间要求极高的场景。

7.2 量产一致性保障

实验室调通不代表量产没问题。量产时要关注:

  • 器件批次差异:不同批次的DDR、Flash、电源芯片参数可能有差异,要留足够的裕量。
  • PCB制程差异:阻抗控制、走线长度、焊接质量都会影响信号完整性。
  • 温度与电压裕量:要在最低/最高工作温度和电压下测试启动可靠性。
  • 老化测试:批量出货前做长时间老化测试,筛选出早期失效的板卡。

我个人的经验是,实验室调通后至少要跑100块板卡的小批量试产,收集启动失败率和失败模式,再决定是否量产。这个环节省不得,否则批量出货后的返修成本远高于试产成本。

7.3 固件升级的可靠性设计

固件升级是显示驱动板卡的重要功能,升级过程中断电会导致板卡变砖。可靠的设计方案是双区升级:Flash中存两份固件,当前运行A区,升级时写入B区,升级完成后切换启动区。如果升级失败,下次启动仍然从A区启动,系统不会变砖。

升级文件的校验也很重要。建议在升级文件头中加入版本号、硬件型号、校验和等信息,升级前先校验这些信息,避免刷入不匹配的固件。

这个内容后续还可以这样扩展:不同芯片平台的启动流程差异对比、DDR训练算法的深入分析、面板时序自动调试工具的开发等。每个方向都值得单独写一篇。

相关新闻

JumpServer 堡垒机一键部署:运维安全审计系统搭建

JumpServer 堡垒机一键部署:运维安全审计系统搭建

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 1:56:36 阅读更多 →
Simulink磁集成Boost变换器仿真:耦合电感建模与参数设置

Simulink磁集成Boost变换器仿真:耦合电感建模与参数设置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 1:56:36 阅读更多 →
OCP库3步拿到催化剂吸附能

OCP库3步拿到催化剂吸附能

OCP库3步拿到催化剂吸附能 【免费下载链接】ocp FAIR Chemistrys library of machine learning methods for chemistry 项目地址: https://gitcode.com/GitHub_Trending/oc/ocp 你在筛非均相催化剂,需要 CO 在 Cu(100) 表面的吸附能。DFT 跑完一组候选位点是…

2026/10/21 1:56:36 阅读更多 →

最新新闻

纯Java数据包处理实战:抓包解析过滤统计全链路

纯Java数据包处理实战:抓包解析过滤统计全链路

简介:这份资源面向具备一定Java与网络编程基础、希望研究高性能数据包处理的开发者,是一套基于Intel数据平面开发套件(DPDK)的Java快速数据包处理框架。它最初作为毕业设计项目开发,包含DPDKJava主框架及报告后重构的D…

2026/10/21 2:42:59 阅读更多 →
Notepad++新手入门:语法高亮、编码转换与正则替换实战指南

Notepad++新手入门:语法高亮、编码转换与正则替换实战指南

简介:本资源为Windows平台下轻量级代码编辑器Notepad的完整安装与配置包,面向初学者至中高级程序员,解决日常文本编辑、多语言代码编写、远程文件协作及轻量级开发环境搭建等核心需求。压缩包共392个文件,涵盖128个XML配置与界面定…

2026/10/21 2:42:59 阅读更多 →
Mybatis一级缓存和结合Spring Framework后失效的源码探究

Mybatis一级缓存和结合Spring Framework后失效的源码探究

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 2:42:59 阅读更多 →
LangGraph多智能体编排:主管架构与分层架构实战指南

LangGraph多智能体编排:主管架构与分层架构实战指南

“多智能体”这几年有点被当成“AI应用进阶的标配”了,好像不拆出三五个Agent就显得不够高级。我的观点反而比较朴素:多智能体不是用来炫技的,它是当单个Agent的复杂度跨过某个临界点之后,不得不做的工程拆分。真正决定一个系统能…

2026/10/21 2:42:59 阅读更多 →
C51单片机驱动LCD1602入门:从点亮到显示温度时间

C51单片机驱动LCD1602入门:从点亮到显示温度时间

简介:这份资源是面向C51单片机初学者与嵌入式爱好者的LCD1602显示例程合集,围绕字符型液晶屏与8051内核单片机的交互展开,覆盖矩阵按键键值、DS18B20温度、DS1302实时时钟以及ADC0832模数转换电压四类典型应用场景,帮助读者理解数…

2026/10/21 2:42:59 阅读更多 →
GobiNet驱动V1.6.2.9:嵌入式Linux下4G模组拨号联网实践

GobiNet驱动V1.6.2.9:嵌入式Linux下4G模组拨号联网实践

简介:移远通信Linux/Android平台GobiNet驱动V1.6.2.9,是为移远Gobi系列3G/4G/LTE模块适配的Linux内核驱动源码包,适合嵌入式开发、物联网设备及工业路由等场景,解决系统识别无线模组并建立数据通道的问题。压缩包共9个文件&#x…

2026/10/21 2:41:58 阅读更多 →

日新闻

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

这段时间硬件圈和AI圈都在传一个事:AMD锐龙AI Max PRO 400系列把最高192GB统一内存搬进了PC形态的产品里,按宣传口径,本地跑320B参数的大家伙不再是纸面概念。我第一反应倒不是“内存真大”,而是这话背后的含金量——它把过去只能…

2026/10/21 0:00:11 阅读更多 →
AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

1. 从“封号重开”这个行为说起:用户到底在追求什么“封号重开”这四个字,放在任何产品语境里都带着一股决绝的味道。一个账号从零开始积累使用记录、调教偏好、沉淀工作流,背后是大量的时间和精力成本。正常情况下,没有人愿意主动…

2026/10/21 0:00:11 阅读更多 →
ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

1. 为什么在ROS里硬刚YOLOv3不是“炫技”,而是工程落地的必经之路我第一次在某高校机器人实验室看到那台搭载Jetson TX2的移动底盘原地打转、反复识别错垃圾桶时,就意识到:单纯跑通darknet_ros demo和真正让YOLOv3在ROS里“干活”&#xff0c…

2026/10/21 0:00:11 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →