rk3588 bsp

    Rockchip RK3588 与 RK3566 板级点亮:从第一次上电到量产的检查清单

    定制 Rockchip RK3588 或 RK3566 板子的分步检查清单:先电源和 DDR、调试串口与 Maskrom 恢复、启动链、设备树、以太网与 PCIe 的坑、显示,以及量产前要定下来的事情。

    ·XTELL 工程团队

    为什么用清单,为什么按这个顺序

    围绕 RK3588 或 RK3566 做的定制板,比它所参考的开发板有多得多的出错方式,而且这些故障会互相遮蔽:DDR 电源边缘不稳,看起来像内核 bug;以太网延迟设错,看起来像驱动问题。解决办法是自底向上逐层证明,下一层没稳之前,不去调试上一层。这是我们使用的顺序。

    第 0 步:第一次上电之前

    • 电源跟着参考设计走。这些处理器需要多路电源并有规定的上电顺序,参考设计里配的是 Rockchip 自己的电源管理芯片。偏离参考电源树,是最昂贵的"发挥创意"。
    • 对照参考设计检查启动选择和启动介质引脚:Boot ROM 先试 SD、eMMC 还是 SPI 闪存,恢复模式怎样进入。
    • 按所用内存类型对照参考规则检查 DDR 布线(视芯片和设计,可能是 LPDDR4、LPDDR4X 或 DDR4):拓扑、等长、参考平面和去耦。
    • 把调试串口和恢复用的 USB 口引出来,放在测试点或排针上。只要其他地方都够不着,你仍然能把板子救活。
    • 第一次用限流电源供电,并用示波器看每一路电源是否按正确顺序上升。

    第 1 步:调试串口会告诉你真相

    Rockchip 芯片从 Boot ROM 启动链开始就通过调试串口打印信息,默认波特率是 1500000,很多终端软件的下拉菜单里没有这个选项,要手动设置。完全没有输出,说明是电源、时钟、复位或启动介质的问题,不是软件。读最开始的几行:它会告诉你加载器有没有找到 DDR,以及找到了什么。

    第 2 步:DDR 是第一个真正的考验

    第一级加载器用厂商提供的二进制文件初始化 DRAM,里面包含针对内存类型和速度的训练参数。板子在 DDR 训练时停住,或者启动后随机崩溃,通常是硬件余量问题:电源噪声、不好的分支走线,或者参考布局本不会有的时序。让处理器满负荷、板子发热的情况下跑几个小时内存测试。没测干净之前不要往下走,否则后面所有现象看起来都像是别的原因。

    第 3 步:把 Maskrom 留作保险

    Rockchip 芯片的 Boot ROM 里有恢复模式 Maskrom:找不到有效启动镜像时,或者你按住启动引脚强制进入时,可以通过 USB 访问。在这个模式下,主机工具可以通过 USB 加载加载器并写存储,所以存储损坏永远不等于板子报废。把进入方式设计进去,写明技术人员怎样进入,并在量产烧录里也使用它。

    第 4 步:启动链和内核

    启动链是 Boot ROM,然后是带 DDR 初始化的第一级加载器,再是 U-Boot,最后是内核。要尽早在厂商 BSP 和主线之间做选择:厂商 BSP 在厂商内核上提供完整的硬件加速器;主线对这些芯片的支持已经大幅增长,但并非每个模块都完整。依赖硬件视频、NPU 或 ISP 摄像头通路的产品,通常从厂商 BSP 出发;需要长期维护、只用到 CPU、存储、网络和显示的产品,往往可以用主线。要在开始第一个外设工作之前做出决定,并从第一天起把设备树和构建配置放进版本管理。

    第 5 步:外设,按最容易出问题的顺序

    1. 存储。eMMC 的速度模式和对应的信号完整性。边缘状态的 eMMC 低速能用,高速就出错。
    2. 以太网。千兆 RGMII 有时钟与数据之间的延迟,必须设置一次,要么由 PHY 来做,要么由处理器来做,绝对不能两边都做。这是链路能起来却丢包的头号原因。调整延迟值,并用带丢包统计的吞吐测试来验证。
    3. USB。主机、设备和 OTG 角色,以及在 RK3588 上,USB 3 与其他接口共用物理通道的方式。
    4. PCIe、SATA 和其他共享通道。有些接口共用同一组高速通道,所以原理图里做出的选择,就固定了哪些组合是可行的。要在布局之前而不是之后,对照数据手册验证通道分配。
    5. 显示。屏的时序和上电顺序、接口(视板子而定,可能是 MIPI DSI、eDP、HDMI 或 LVDS)、背光和触摸控制器。显示部分我们在嵌入式 HMI 指南里有更深入的讲解。
    6. 音频、摄像头、无线和传感器,各自有时钟、稳压器和复位,要在设备树里声明。

    第 6 步:负载下的散热和功耗表现

    这是高性能处理器,发热时会降频。要在外壳里、在环境温度上限下,让 CPU、GPU 和 NPU 同时满负荷,观察时钟的变化。一块在实验台上自由空气里表现很好的板子,放进密闭外壳后可能降到一半速度。要有意识地设置温控区和动态调频策略,并在输入端测功耗,而不是只看处理器温度。

    第 7 步:NPU 与加速

    这些芯片上的 NPU 相当可观(RK3588 约 6 TOPS,RK3566 只有它的一小部分),让一个模型在上面跑起来,需要用厂商工具包转换,并检查哪些算子被支持。要给量化和在你自己数据上的精度验证留出时间。NPU 并不是对任何模型都免费的加速。

    第 8 步:量产之前

    • 可复现的镜像构建,记录下准确的引导程序、内核和根文件系统。
    • 使用恢复模式的工厂烧录流程,带校验步骤,并为每台设备留日志。
    • 首次启动自检:内存、存储、网络、显示、传感器。
    • 带回滚的升级机制,并测试升级过程中断电的情况。
    • 在样品上做温度和老化试验,并保存日志。

    我们的经验

    我们设计过 Rockchip 平台的硬件,包括一块多版本的 RK3128 主板及其显示驱动板,并在 Linux 和 Android 下点亮 Rockchip 应用处理器。如果你希望由一支团队完成板子的设计、点亮和产品化,请看我们的 Linux BSP 与驱动服务和通用点亮指南。

    需要专业服务?

    联系我们获取定制化解决方案和报价