AM62L SoC中CBASS防火墙配置详解:硬件级安全访问控制实战

发布时间:2026/7/18 12:03:19

AM62L SoC中CBASS防火墙配置详解:硬件级安全访问控制实战
1. CBASS防火墙在AM62L SoC中的核心作用与设计哲学在嵌入式系统尤其是像德州仪器AM62L Sitara这类面向工业与汽车应用的高集成度处理器中系统安全不再是软件层面的附加功能而是从硬件架构开始就必须融入的基石。我接触过不少项目初期为了赶进度往往把安全配置往后放结果在系统集成或现场部署时一个非法的内存访问就能让整个系统宕机排查起来犹如大海捞针。AM62L内部的CBASS防火墙正是为了解决这类“顽疾”而生的硬件级安全卫士。你可以把整个SoC想象成一个繁忙的工业园区里面有研发中心Cortex-A核、实时控制车间Cortex-R/M核、仓库DDR内存、以及各种精密的生产线如电机控制外设。CBASS防火墙就是园区内各个关键区域如存放电机控制算法和参数的数据区门口的智能门禁系统。它不依赖于运行在CPU上的软件而是在硬件总线上直接拦截和检查每一次访问请求。这种“硬件门卫”的角色至关重要因为它能在恶意代码或故障程序试图越界操作的第一时间就将其阻断防止污染关键数据或干扰关键外设的运行其响应速度是纯软件方案无法比拟的。AM62L的CBASS防火墙模块其设计哲学是精细化、多维度的访问控制。它不仅仅是简单地允许或禁止访问某个地址而是能基于发起访问的“主体”哪个主设备、处于安全还是非安全世界、是用户模式还是监管者模式和访问的“意图”是读、写、调试还是可缓存访问来动态决定是否放行。这种设计使得系统分区Partitioning和特权分离Privilege Separation得以在硬件层面实现为构建高可靠性的实时系统打下了坚实基础。接下来我们就深入其寄存器配置的细节看看如何将这个“硬件门卫”调教得服服帖帖。2. 防火墙区域配置寄存器详解从地址范围到权限矩阵从你提供的技术参考手册片段来看AM62L的CBASS防火墙配置逻辑非常清晰且模块化。每个需要保护的“从设备接口”例如你资料中提到的export_am62l_main_cbass1_1_cbass_to_am62l_main_motor_control_cbass_data_l0.slv都可以定义多个独立的保护区域Region。每个区域由一组寄存器共同定义主要包括控制寄存器、权限寄存器和地址寄存器。2.1 区域控制寄存器FW_REGION_x_CONTROL这是每个区域的“总开关”和模式选择器。以FW_REGION_1_CONTROL偏移地址C28h为例虽然你提供的片段中该寄存器的具体位域描述不完整但从FW_REGION_2_CONTROL偏移地址C40h可以清晰地反推出其结构。几个关键位域决定了区域的基本行为ENABLE[3:0] (使能位)这是最关键的开关。手册明确说明需要写入0xA二进制1010才能使能该区域。这种非全0或全1的“魔法值”设计是一种常见的防误操作机制防止软件意外写1或清零导致防火墙被意外开启或关闭。在初始化时务必先配置好地址和权限最后再写入0xA来激活区域。LOCK (锁定位)这是一个“熔断”机制。一旦将此位置1该区域的所有配置寄存器包括控制、权限、地址都将被锁定无法再修改直到下一次系统复位。这在产品量产或进入安全关键阶段时非常有用可以防止后续被入侵的软件恶意修改防火墙策略。使用时需极度谨慎确认配置无误后再锁定。BACKGROUND (背景区域位)这是一个非常巧妙的设计。每个防火墙实例只能有一个区域被设置为背景区域Background Region。背景区域的特点是它可以与其他所有前景区域Foreground Region的地址范围重叠。当一次访问请求到来时防火墙会按区域编号顺序检查所有前景区域是否有匹配的。如果没有前景区域匹配但该地址落在了背景区域的范围内则使用背景区域的权限规则。这相当于设置了一个“默认策略”用于处理那些未被前景区域明确定义地址范围的访问极大地增强了配置的灵活性。CACHE_MODE (缓存模式检查位)此位决定了防火墙在检查权限时是否要额外考虑访问的“缓存属性”。当设置为1时权限寄存器中的*_CACHEABLE位将生效防火墙会区分本次访问是缓存访问Cacheable还是非缓存访问Non-cacheable。这对于需要严格保证数据一致性如DMA缓冲区或与不支持缓存的外设通信的场景至关重要。实操心得在配置多个区域时我通常会先规划好背景区域。例如将整个从设备地址空间设置为一个“默认拒绝”的背景区域然后针对需要开放访问的特定地址段如外设寄存器区、共享数据缓冲区创建前景区域并赋予精确的权限。这样能确保“白名单”模式的安全基线。2.2 地址范围寄存器START_ADDRESS 与 END_ADDRESS防火墙工作的基础是地址匹配。每个区域都需要通过START_ADDRESS_L/H和END_ADDRESS_L/H这两组寄存器来定义一个连续的地址空间。地址对齐手册反复强调地址必须是4KB对齐的。这意味着起始地址的低12位bit[11:0]在写入START_ADDRESS_L寄存器时会被硬件强制清零。同理结束地址的低12位在写入END_ADDRESS_L时会被强制置为0xFFF。这是硬件设计上的约束在计算地址时务必注意。例如你想保护从0x5000_0000到0x5000_1FFF的8KB区域那么起始地址应配置为0x5000_0000。结束地址应配置为0x5000_1FFF。但根据4KB对齐规则实际用于匹配的结束地址会是0x5000_1FFF因为低12位是0xFFF它代表了一个4KB页内的最后一个地址。48位地址空间START_ADDRESS_H和END_ADDRESS_H寄存器用于地址的高16位bit[47:32]。这使得AM62L的防火墙能够管理高达256TB的地址空间完全满足复杂SoC内部及外部扩展的寻址需求。对于大部分片上外设其地址通常位于32位空间内此时只需将*_ADDRESS_H寄存器配置为0即可。地址匹配的“包含性”规则一次访问的地址Addr如果满足(START_ADDRESS Addr END_ADDRESS)则被视为落入该区域。这里使用的是“小于等于”因此配置时需确保结束地址是你要保护的最后一个字节的地址。2.3 权限矩阵寄存器FW_REGION_x_PERMISSION_[0-2]这是防火墙的“判决书”定义了什么样的访问主体可以进行何种操作。每个区域有三组权限寄存器PERMISSION_0, _1, _2其结构完全相同这通常用于为不同的“Privilege ID”设置不同的权限集实现更细粒度的主设备区分。权限位按功能可分为几个维度权限位组位域示例描述安全状态SEC_*,NONSEC_*区分访问发起方是处于安全世界TrustZone Secure State还是非安全世界Non-secure State。这是ARM TrustZone架构的核心安全边界。特权等级*_USER_*,*_SUPV_*区分访问是发生在CPU的用户模式User Mode还是监管者模式Supervisor Mode。通常操作系统内核运行在监管者模式应用运行在用户模式。操作类型*_READ,*_WRITE,*_DEBUG控制最基本的读、写权限。DEBUG权限通常控制调试探针如JTAG/SWD对该区域的访问能力对于产品发布后的现场调试与安全至关重要。缓存属性*_CACHEABLE当CACHE_MODE使能时此位决定是否允许可缓存Cacheable类型的访问。PRIV_ID字段这是一个8位字段bit[23:16]用于标识允许访问该区域的主设备特权ID。SoC内部的不同主设备如CPU集群、DMA控制器、其他外设主端口在发起访问时会携带一个独特的PrivID。防火墙可以检查此ID实现“只有特定的主设备可以访问此区域”的策略。例如可以配置只有电机控制协处理器的DMA可以写入电机参数区而应用处理器则只能读取。权限的“与”逻辑一次访问必须同时满足所有相关条件才会被允许。例如一次“非安全世界、监管者模式、可缓存的写操作”需要NONSEC_SUPV_WRITE和NONSEC_SUPV_CACHEABLE两个位同时为1才被允许。配置技巧在配置权限时应遵循“最小权限原则”。不要图省事给一个区域开放所有权限。例如对于电机控制器的只读配置参数区可以只开放SEC_SUPV_READ和NONSEC_SUPV_READ而将所有的WRITE、DEBUG位都清零。对于代码区甚至可以关闭CACHEABLE权限以防止某些侧信道攻击。3. 实战配置为AM62L的电机控制数据通路构建防火墙假设我们有这样一个场景在AM62L处理器中需要保护一段专用于电机控制算法的关键数据区。这段数据由安全世界的实时控制器Cortex-R5F监管者模式进行更新和读取而非安全世界的应用处理器Cortex-A53用户模式只被允许读取部分状态数据且不允许任何调试器访问该区域。3.1 步骤一确定硬件参数与地址首先我们需要从AM62L的数据手册或系统内存映射表中找到目标从设备export_am62l_main_cbass1_1_cbass_to_am62l_main_motor_control_cbass_data_l0.slv的基地址。假设我们查到其映射到主机地址空间的起始地址为0x5000_0000。我们的保护需求是区域1安全控制区地址0x5000_0000~0x5000_0FFF(4KB)。此区域存放核心控制参数仅允许安全世界监管者读写。区域2非安全只读状态区地址0x5000_1000~0x5000_1FFF(4KB)。此区域存放状态信息允许安全世界监管者读写同时允许非安全世界用户模式读取。从你提供的寄存器片段可知该防火墙实例CBASS2的寄存器组物理基地址为0x4502_8C00。我们以配置区域1为例。3.2 步骤二配置区域1的地址范围计算并配置起始地址起始地址0x5000_0000。START_ADDRESS_L(偏移C30h)写入0x5000_0000。由于低12位强制对齐我们写入0x50000000硬件会将其解释为0x5000_0000。START_ADDRESS_H(偏移C34h)高16位为0写入0x0000。计算并配置结束地址结束地址0x5000_0FFF。关键点手册说明END_ADDRESS_L的低12位END_ADDRESS_LSB是只读的且复位值为0xFFF。这意味着我们只需要设置高20位。对于地址0x5000_0FFF其高20位bit[31:12]是0x50000。END_ADDRESS_L(偏移C38h)写入0x50000。硬件会将其与低12位的0xFFF组合形成用于匹配的结束地址0x5000_0FFF。END_ADDRESS_H(偏移C3Ch)写入0x0000。C语言配置示例// 假设寄存器基地址已映射到指针 fw_regs volatile uint32_t *fw_regs (volatile uint32_t *)0x45028C00; // 配置区域1起始地址 (低32位) fw_regs[0xC30/4] 0x50000000; // START_ADDRESS_L // 配置区域1起始地址 (高16位) fw_regs[0xC34/4] 0x0000; // START_ADDRESS_H // 配置区域1结束地址 (低32位的高20位) fw_regs[0xC38/4] 0x50000; // END_ADDRESS_L // 配置区域1结束地址 (高16位) fw_regs[0xC5C/4] 0x0000; // END_ADDRESS_H3.3 步骤三配置区域1的权限矩阵根据需求区域1仅允许安全世界监管者进行读写。我们使用PERMISSION_0寄存器假设PRIV_ID为0或我们允许所有PrivID。SEC_SUPV_READ(bit 1) 1SEC_SUPV_WRITE(bit 0) 1其他所有权限位包括SEC_USER_*、NONSEC_*、*_DEBUG、*_CACHEABLE均设为0。PRIV_ID(bit[23:16])如果我们想限制只有特定主设备PrivID5能访问则设为0x05。如果允许所有主设备通过安全监管者访问可设为0x00或一个匹配值。权限寄存器的值计算如下以PERMISSION_0偏移C2Ch为例Bit 1 (SEC_SUPV_READ) 1Bit 0 (SEC_SUPV_WRITE) 1假设PRIV_ID 0。最终32位值 (0 16) | (1 1) | (1 0)0x0000_0003。// 配置区域1权限 (PERMISSION_0) // 仅允许安全监管者读写PrivID0或允许所有 fw_regs[0xC2C/4] 0x00000003;3.4 步骤四配置区域1的控制寄存器并激活最后我们配置CONTROL寄存器偏移C28h。我们不启用缓存检查CACHE_MODE0。这不是背景区域BACKGROUND0。暂时不锁定LOCK0。使能区域ENABLE0xA。// 配置并激活区域1控制寄存器 // Bit 9: CACHE_MODE 0 // Bit 8: BACKGROUND 0 // Bit 4: LOCK 0 // Bit[3:0]: ENABLE 0xA fw_regs[0xC28/4] (0xA 0); // 写入 0x0000000A3.5 步骤五配置区域2及背景区域区域2的配置流程类似使用从C40h开始的另一组寄存器。地址范围设为0x5000_1000~0x5000_1FFF。权限配置上需要同时打开SEC_SUPV_READ和SEC_SUPV_WRITE安全监管者读写。NONSEC_USER_READ非安全用户读。其权限值可能为SEC_SUPV读写bit1,01NONSEC_USER_READbit131所以PERMISSION_0值可能为(113) | (11) | (10) 0x00002003。如果需要设置背景区域例如默认拒绝所有其他地址的访问则需选择一个区域比如区域0将其BACKGROUND位置1并将其地址范围设置为该从设备的整个地址空间。其权限寄存器通常全部配置为0拒绝所有访问。这样任何不匹配区域1和区域2的访问请求都会落入背景区域并被拒绝。4. 调试、验证与常见问题排查实录配置防火墙后最关键的步骤是验证其行为是否符合预期。配置错误轻则导致外设无法访问系统功能失效重则可能引入安全漏洞。4.1 验证方法寄存器回读在配置完每个寄存器后立即读回其值确认写入成功且无误。特别是地址寄存器要确认硬件强制对齐后的值是否符合预期。功能测试正向测试编写测试代码以被允许的权限例如从安全监管者模式访问受保护区域确认读写操作成功。反向测试编写测试代码尝试进行被禁止的访问。例如从非安全世界尝试写入区域1或从用户模式尝试写入区域2。期望的结果是产生一个总线错误Bus Error或触发一个安全异常。在AM62L中这通常表现为一个可配置的中断如Firewall Violation Interrupt或体现在某些状态寄存器中。你需要提前在中断服务程序或监控代码中设置好捕获机制。使用调试器通过JTAG调试器尝试以不同权限访问内存。这是验证调试DEBUG权限是否效的直接方法。4.2 常见问题与排查清单以下是我在实际项目中遇到的典型问题及解决思路问题现象可能原因排查步骤与解决方案无法访问任何已配置区域内的地址系统挂死或产生总线错误。1. 区域未使能ENABLE字段不是0xA。2. 权限配置过于严格当前访问模式不被允许。3.PRIV_ID不匹配。发起访问的主设备PrivID不在允许列表中。1. 回读CONTROL寄存器确认ENABLE字段值为0xA。2. 仔细核对当前CPU的安全状态Secure/Non-secure、特权级别User/Supervisor和操作类型Read/Write/Cacheable与权限寄存器每一位进行比对。3. 查阅SoC手册确认发起访问的主设备如A53 Core0, DMA等的PrivID值并与PRIV_ID字段对比。可以尝试先将PRIV_ID设为0x00通常表示不检查或匹配所有进行测试。可以访问受保护区域但非法的访问却没有被阻止。1. 防火墙模块全局未使能或时钟未开启。2. 地址范围配置错误非法访问的地址未落在任何区域内。3. 背景区域如果设置了的权限可能过于宽松。1. 检查系统控制模块System Control Module, SCM中是否有全局使能CBASS防火墙的配置位并确认相关电源和时钟域已打开。2. 仔细计算并打印出非法访问的地址与配置的START/END_ADDRESS进行比对确认地址是否真的落在区域内。注意4KB对齐规则。3. 检查背景区域的权限是否配置为全0拒绝所有。配置了LOCK位后想修改配置但无法写入。LOCK位一旦置1在复位前无法清除这是硬件安全特性。只有进行系统复位才能解锁。因此在调试阶段绝对不要轻易设置LOCK位。应在所有配置经过充分测试验证后在最终量产软件中才设置此位。开启了CACHE_MODE后某些合法访问被拒绝。访问的缓存属性Cacheable/Non-cacheable与权限寄存器中的*_CACHEABLE位不匹配。检查发起访问的存储器事务属性AxCACHE信号。对于必须保证一致性的外设如DMA控制器访问或与外设寄存器通信通常应使用Non-cacheable属性。确保权限寄存器中对应的*_CACHEABLE位与访问属性一致。如果不确定可以先关闭CACHE_MODE进行测试。调试器无法访问受保护内存。对应的*_DEBUG权限位没有打开。在权限寄存器中将需要调试访问的安全域和特权等级对应的DEBUG位置1。注意在产品发布版本中应关闭所有DEBUG权限以增强安全性。4.3 高级技巧与注意事项配置顺序推荐的配置顺序是地址寄存器 - 权限寄存器 - 控制寄存器最后设置ENABLE。避免在区域使能状态下修改地址或权限可能导致不可预知的行为。重叠区域优先级如果两个前景区域的地址范围有重叠通常应避免除非有特殊设计需要查阅手册明确优先级。通常是区域编号小的优先级高或是按某种固定顺序匹配。性能考量防火墙检查会引入一个时钟周期的延迟。在对实时性要求极高的数据通路上需要评估此延迟是否可接受。可以通过合理划分区域减少不必要的频繁匹配来优化。与MMU/MPU的协同AM62L的Cortex-A核有MMUCortex-R/M核有MPU。硬件防火墙CBASS与这些内存保护单元是互补关系。CBASS在总线层面提供粗粒度、基于主设备的保护而MMU/MPU在CPU核心层面提供细粒度、基于虚拟地址的保护。两者需协同配置确保策略一致。配置AM62L的CBASS防火墙就像为你的系统绘制一张精细的“安全地图”。初期可能会觉得寄存器繁多、配置繁琐但一旦理解其设计逻辑并形成规范的配置流程它将成为你构建坚固嵌入式系统最可靠的硬件基石。每次配置完养成做正反向测试的习惯确保每一道“门禁”都按预期工作这样才能在复杂的工业现场环境中真正做到高枕无忧。

相关新闻

C++集群聊天服务器:客户端异常退出的优雅处理与资源清理

C++集群聊天服务器:客户端异常退出的优雅处理与资源清理

2026/7/18 11:43:02

1. 项目概述:当客户端“不辞而别”时,服务器端如何优雅善后在分布式系统,尤其是像集群聊天服务器这样的高并发、长连接场景里,客户端异常退出是家常便饭,而不是什么罕见故障。想象一下,一个上千人在线的聊天…

微信网页版访问解决方案:打破限制的浏览器扩展指南

微信网页版访问解决方案:打破限制的浏览器扩展指南

2026/7/18 11:43:02

微信网页版访问解决方案:打破限制的浏览器扩展指南 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 微信作为中国最主流的即时通讯工具&…

本地部署文本到视频模型:如何在消费级GPU上运行Wan 2.7和HunyuanVideo 1.5

本地部署文本到视频模型:如何在消费级GPU上运行Wan 2.7和HunyuanVideo 1.5

2026/7/18 11:43:02

本地部署文本到视频模型:如何在消费级GPU上运行Wan 2.7和HunyuanVideo 1.5 【免费下载链接】awesome-text-to-video A Survey on Text-to-Video Generation/Synthesis. 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-text-to-video 随着2026年文本到…

无人机通信协议详解:从PWM到DShot的技术演进

无人机通信协议详解:从PWM到DShot的技术演进

2026/7/18 13:23:23

1. 无人机通信协议的基础认知在无人机系统中,飞行控制器(Flight Controller,简称飞控)与电子调速器(Electronic Speed Controller,简称ESC)之间的通信质量直接决定了飞行性能的优劣。就像人类神…

机器人控制中的“驯马术”:从PID到柔顺控制的工程实践

机器人控制中的“驯马术”:从PID到柔顺控制的工程实践

2026/7/18 13:23:23

1. 项目概述:当机器人控制遇上“驯马术” “机器人控制就像骑马”——这个类比乍一听有点天马行空,一个代表着尖端科技的自动化领域,另一个则是传承了千百年的古老技艺。但作为一名在工业自动化和机器人集成领域摸爬滚打了十几年的工程师&…

本地服务更省心!单工科技用贴心服务赢得龙江客户信赖

本地服务更省心!单工科技用贴心服务赢得龙江客户信赖

2026/7/18 13:23:23

在通信服务领域,产品质量是基础,而本地服务则是核心竞争力。对于黑龙江的企业和单位来说,选择通信服务商,不仅要关注产品的质量和价格,更要重视售后保障和本地服务能力。很多外地服务商,虽然产品价格有优势…

视频字幕提取哪款免费工具好用-2026亲测整理出实用选型结论

视频字幕提取哪款免费工具好用-2026亲测整理出实用选型结论

2026/7/18 13:23:23

先回答用户真正关心的问题 针对大家找免费视频字幕提取工具的需求,结合我2026年第一季度对各工具当前版本的亲测整理,不同场景有对应高适配的选择:轻量偶尔用选网易见外免费额度,飞书生态办公选飞书妙记免费版,需要大…

C++进阶 Cmake

C++进阶 Cmake

2026/7/18 13:23:23

一.makefile和Cmake对比makefile的执行过程写一个脚本文件CMake可以生成makefile文件的底层的学习makefile接触的比较多二.CMake1.1 Cmake工程流程1> 在不使用CMake时,编译工程如下2> 在上面的机制中,工程文件中添加一个源程序 bar.cpp3> 使用C…

Claude Code原生安装与权限工作流实战指南

Claude Code原生安装与权限工作流实战指南

2026/7/18 13:13:22

1. 项目概述:这不是又一个“AI编程助手”安装教程,而是一份面向真实开发场景的Claude Code实战手册 “2026 Claude Code 最全使用指南”这个标题里,“最全”两个字不是噱头,而是我过去18个月在三个不同技术栈(前端微服…

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

2026/7/17 10:50:47

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator作为Unity游戏社区中最成熟的文本翻译解决方…

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

2026/7/17 17:34:09

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持 【免费下载链接】raspberrypi-kernel It provides openEuler kernel source for Raspberry Pi 项目地址: https://gitcode.com/openeuler/raspberrypi-kernel 前往项目官网免费下载&…

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

2026/7/18 5:51:23

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧 【免费下载链接】integration-test The repo contains test suits for system integration test 项目地址: https://gitcode.com/openeuler/integration-test 前往项目官网免费下载:…

从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则

从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则

2026/7/18 0:02:02

更多请点击: https://kaifayun.com 第一章:从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则 在Claude驱动的产品需求文档(PRD)生成实践中,原始业务意图往往以自然语言片…

Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单

Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单

2026/7/18 0:02:02

更多请点击: https://codechina.net 第一章:Cursor配置生成失效?3大隐藏陷阱4行修复代码,资深工程师连夜整理的紧急补救清单 Cursor 配置生成突然失效,是近期高频报障场景。表面看是 cursor.config.json 未更新或 LSP…

某智驾大牛创业

某智驾大牛创业

2026/7/18 0:02:02

作者:钟声编辑:Mark出品:红色星际头图:智能驾驶图片据悉,国内某头部智驾公司端到端模型技术大牛Z投身创业,并且已经拿到融资。Z不仅是该头部公司内部最年轻的对标阿里P10级别技术负责⼈,更是业内…