news 2026/9/6 8:41:24

STM32F407VET6为何经典?Cortex-M4硬件浮点、DMA与生态优势解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
STM32F407VET6为何经典?Cortex-M4硬件浮点、DMA与生态优势解析

1. 一块五年前的芯片,为什么今天还在新项目里出现

先说个我最近遇到的事。上个月帮一个朋友看他的毕业设计,做四轴飞行器,他选的主控是STM32F407VET6。当时我随口问了一句:现在市面上那么多新款MCU,国产的、低功耗的、带无线SoC的,怎么还用F407?他很直接地回答:因为我参考的例程、开源的飞控代码、学姐留下的资料,全都是F407。

这个回答其实点破了一个很重要的现实:在嵌入式开发这个圈子里,芯片的算力参数往往不是第一位的,生态积累和资料完备度才是决定一个项目能不能快速落地的关键。STM32F407VET6不是最新的芯片,但它几乎是现阶段性价比最高、资料最全、踩坑成本最低的Cortex-M4开发平台之一。

这篇内容我打算从选型逻辑、硬件资源、最小系统板、数据手册怎么读、例程怎么迁移这几个角度,把我这几年实际用过F407的经验整理出来。目标读者不是那种刚点亮LED就觉得自己精通嵌入式的初学者,但我也尽量把基础概念掰开揉碎,毕竟F407这板子,很多非科班出身、自学转行的人也在用,大家基础参差不齐,写得友好一点没坏处。

为什么标题要说"经典永不过时"?因为芯片选型和手机选型完全是两回事。手机三年不换会觉得卡,但MCU这类产品,只要它的外设资源、性能、功耗能满足你的项目约束,它就能一直服役下去。F407从2011年发布到现在十几年了,生命力依然旺盛。而且说实话,很多标榜"新一代"的MCU,升级点都集中在内核频率、低功耗、无线集成上,对大量做电机控制、数据采集、人机交互、通信网关的开发者来说,F407的168MHz主频+1MB Flash+192KB RAM已经完全够用,堆新芯片反而要重新适应新的外设库和勘误表。

这篇文章不是要吹F407是神,而是想把它为什么能在今天的选型桌上依然占有一席之地理清楚。你会看到它的取舍、它的短板、它在什么场景下该用、什么场景下确实该换别的芯片。这些东西,很多时候比跑分实测更能帮你做决策。

2. 为什么放着F103不选、F429不选,偏偏选F407

很多刚接触STM32的人会有个疑问:F1系列不是更普及吗?F4系列里还有F429、F446,主频更高、带LCD控制器,为什么F407反而是中间那个最常被点名的?

这就要从产品定位的夹缝说起。

2.1 比F103强在哪里:从M3到M4的质变

F103是Cortex-M3内核,主频最高72MHz,虽然经典,但它的浮点运算能力几乎为零。你要做PID控制、卡尔曼滤波、FFT变换,用M3硬算也不是不行,但运算精度和实时性都受限,尤其涉及小数乘除法的时候,软件浮点库能把CPU拖到怀疑人生。

F407用的是Cortex-M4F内核,多了硬件单精度浮点单元(FPU),168MHz主频。这意味着什么?我做电机FOC控制的时候,电流环的Clark变换、Park变换全是浮点运算,F407跑起来一条指令搞定一次浮点乘加,F103要用库函数模拟几十个周期。控制周期就算只跑10kHz,这个差距也是致命的。

另外F407的1MB Flash和192KB RAM,比F103的512KB Flash、64KB RAM大了不止一倍。对跑RT-Thread、FreeRTOS加LWIP协议栈、再加个摄像头图像缓存的项目来说,这个内存容量就是生死线。

2.2 比F429弱在哪里:LCD控制器不是人人都需要

F429多了LTDC(LCD TFT显示控制器)和2D图形加速(DMA2D),如果你做的是带屏幕的人机界面产品,F429确实更合适,画面可以直接刷。但问题是,大部分F407的典型应用场景——伺服驱动、飞控、仪器仪表数据采集、工业网关——根本不需要复杂图形界面,顶多接个OLED或者SPI屏,用软件模拟时序就够了。

F429为了多出LCD控制器,引脚封装和外部存储器接口的配置也有差异,在画PCB时反而比F407略繁琐。另一个更实际的原因是:市面上的F407最小系统板做得非常成熟,十几块钱一块,引脚全部引出,插上就能当核心板用;而F429的板子因为芯片本身贵、外围要求高,普遍要贵两三倍。对于做原型验证、课程设计、比赛项目的人来说,成本是很敏感的因素。

2.3 真正让F407胜出的:时钟树、DMA和四路串口

抛开内核和外设数量这些纸面参数,我实际用下来觉得F407最舒服的地方有三个。

第一个是时钟树友好。F407最高168MHz,外部接一个8MHz晶振,通过PLL倍频即可,配置不算复杂。它的USB OTG、以太网MAC、SDIO这些外设的时钟源分配很清晰,不像某些芯片为了省引脚把时钟复用做得很绕,看参考手册的时钟树能看到头大。

第二个是DMA通道极其宽裕。F407有16路DMA流(Stream),两套DMA控制器。我的一个数据采集项目,需要同时用两路ADC连续采样、三路UART收发、一路SPI刷屏,DMA分配加上去之后CPU几乎不用介入搬运,这个体验在F103上是很难实现的,F103的DMA通道少且优先级设计粗放。

第三个是四路USART/UART全是硬件流控可用的串口。很多工业场景需要同时挂载GPS模块、4G模组、调试串口和传感器串口,F407的四路串口全部可以独立配置中断和DMA,不用像低端芯片那样频繁做IO模拟串口。

当然不是说F103一无是处,如果你做简单控制、纯逻辑任务、对成本极度敏感,F103仍然可以打。但对绝大多数"需要一些算力、一些外设、一个稳妥方案"的场景,F407就是那个刚刚好的选择。

3. 一个容易被问爆的问题:F407到底集不集成PHY

如果你去搜"stm32f407vet6"相关的热门问题,肯定绕不开"集成PHY吗"这个疑问。这个问题我在不同群里见过至少几十次了,每次有人拿出来问,底下都会有争吵。这里直接给结论:**STM32F407系列芯片内置的是以太网MAC控制器,没有集成物理层PHY芯片。**也就是说,你要让F407的以太网功能跑起来,光有MCU不行,外面还得接一颗PHY芯片。

3.1 MAC和PHY到底分工是什么

做个生活类比:MAC层相当于你家里的"语言中枢",负责把数据组织成符合以太网协议的帧格式,但是它对物理介质(网线、光纤)上的电平信号、编码方式一窍不通。PHY芯片干的就是"翻译"的活儿,把MAC发过来的数字帧转换成可以在双绞线上传输的差分模拟信号,同时把线缆上收到的模拟信号还原成数字信号。

所以F407的以太网功能如果要落地,PCB上除了MCU,通常还需要一颗RMII接口的PHY芯片,比如LAN8720A、DP83848、IP101GRI这类。RMII接口只需要7根信号线(TX_EN、TXD0、TXD1、RXD0、RXD1、CRS_DV、REF_CLK),布线难度不大,这也是F407做以太网网关性价比高的原因之一——MAC内置了,PHY选个几块钱的就行。

3.2 为什么MCU设计成不集成PHY

有人可能会问:既然以太网是个常见需求,ST为什么不直接把PHY也封装进去,省事?原因很实在:PHY的物理层接口、电压域、变压器(网络隔离变压器)要求因应用而异,集成在MCU内部反而会严重限制设计灵活性。比如工业上可能需要长距离传输的PHY,消费电子上可能需要低功耗PHY,不同PHY的驱动能力、EMC表现差别很大。如果把PHY固死在MCU里,产品设计者就没法选了。

而且从成本角度讲,MCU制造工艺和PHY的最优工艺是不一样的,强行集成要么让MCU面积变大、良率下降,要么让PHY性能妥协。所以业界主流做法都是:内置MAC,外挂PHY。F407这个路线在当时是很标准的。

3.3 实际项目里怎么选PHY

如果你的F407项目要跑以太网,我建议重点考虑三颗:LAN8720A(最常见、最便宜、资料最多)、IP101GRI(工业级温度范围更好,适合恶劣环境)、DP83848(TI家,寄存器兼容性好,但引脚封装相对大一点)。如果是学习用途,LAN8720A基本就是标准答案,因为野火、正点原子等开发板的例程全都是按这款芯片写的,很多RT-Thread的以太网驱动也对它做了完善支持,遇到问题能搜到的经验最多。

还有一个容易忽略的点:PHY芯片的时钟源。常见做法是用一个50MHz有源晶振直接接到PHY的XI引脚,然后PHY通过REF_CLK给F407提供50MHz的参考时钟。如果你要求更极致的BOM成本,也可以让F407的MCO引脚输出50MHz供给PHY,但MCO输出驱动的抖动和稳定性对PHY的影响需要实测验证,我自己在实际项目里还是倾向独立晶振方案,省去排查时钟质量的麻烦。

集成不集成PHY,本质上不是"好坏"问题,而是"知道自己在拼什么系统"的问题。F407把选择权留给你,就是让你按应用场景自行组合,这也是它今天依然被广泛用于IoT网关类产品的原因。

4. 引脚图、最小系统板和数据手册,三件套怎么用才算真的会用

标题里的热词出现了好几个关于"引脚图""最小系统板""数据手册"的搜索点,说明很多人卡在入门到进阶之间的那段——芯片拿到手上,原理图有了,却不清楚该怎么从资料堆里找到自己需要的信息。

4.1 LQFP100封装的引脚规律,记熟这些就够用八成场景

F407VET6用的是LQFP100封装,四边各25脚。如果你看引脚图会感觉密密麻麻,但拆开看其实非常有规律。

电源和地大概占了十几个引脚,VDD、VSS、VDDA、VSSA、VREF+、VREF-,这是在提醒你任何高速MCU设计都不能忽略供电完整性。剩下的IO里,PA/PB/PC/PD/PE这五组GPIO基本覆盖了你能想象到的所有外设复用。PD和PE这两组引脚在F407上属于"二线"外设接口,很多SPI或者FSMC的引脚从这里引出,如果你做的是纯GPIO点灯级别的小板子,这两组可能会觉得浪费,但对做LCD屏、SRAM扩展的方案来说,它们就值回票价了。

关于引脚图,我不建议你把一百个引脚背下来,你需要重点记的是:

  • BOOT0和BOOT1:用于选择启动方式。BOOT0接低电平是正常Flash启动,接高电平进系统存储器(常用于ISP下载),BOOT1在正常开发时一般不用操心,但原理图上最好预留跳线或者电阻位。
  • VCAP引脚:内核电源去耦引脚,必须外接一个2.2μF或4.7μF电容到地。这个引脚经常被人漏接,后果是芯片直接不启动或复位异常。
  • NRST复位脚:F407的复位是低电平有效,一般直接接一个RC复位电路。
  • PA13、PA14、PA15、PB3、PB4:这五个引脚在芯片上电默认是SWD调试和JTAG功能,如果你要拿来当普通GPIO用,必须在代码里禁用对应调试口的复用,否则怎么配置都不出电平,这属于新手最容易踩的坑。

4.2 最小系统板为什么大家都在用,自己画板要注意什么

市面上的F407VET6最小系统板个头不大,但该有的都有——8MHz主晶振、32.768kHz RTC晶振(有的阉割版没有)、LDO稳压、SWD调试口、一个USART转USB芯片(常见是CH340)、电源指示灯和用户LED。买一块回来,插上USB线,Keil或者STM32CubeIDE里选好芯片型号就能点灯。

但如果你想自己画一块核心板嵌入到产品里,我建议注意几个细节。

第一,8MHz晶振的负载电容。F407的HSE(高速外部时钟)要求晶振的负载电容匹配,通常用两个15~22pF电容构成并联谐振电路。这个值不是随便选的,要用晶振数据手册的CL参数反推,如果电容选得不对,可能出现的不是"完全不起振"而是"时钟频率偏移",这个故障极其隐蔽。我遇到过一次时钟快了千分之几的情况,查了好久才定位到是负载电容不匹配。

第二,VCAP电容不能省。前面提到了,1.2V内核电压由内部稳压器产生,VCAP引脚需要接电容滤波。有些淘宝板子为了省成本,这个电容选得偏小或者位置离引脚太远,可能会导致MCU在大电流动态切换时复位,症状是程序跑着跑着突然重启,很难复现。正规做法是让VCAP电容尽可能靠近引脚。

第三,USB的DP/DM差分对。如果你的产品要用F407的USB功能,DP/DM走线要做等长处理,并保持差分阻抗。板子如果只是学习和原型验证,随手飞线问题不大,但要量产或者过EMC测试,USB走线就得按规范来。

第四,ADC参考电压。F407的VDDA和VREF+尽管在内部大概率连在一起,但外部PCB上必须用磁珠或者小电感把模拟电源从数字电源分离开,否则ADC采样值会跳得你怀疑人生。很多自学DIY的板子ADC噪声大,不是芯片问题,就是电源处理不到位。

4.3 数据手册和参考手册的区别,别再傻傻分不清

有人在群里说"我下了F407数据手册,为什么没看到寄存器说明?"这个问题太典型了。数据手册(Datasheet)和参考手册(Reference Manual)是两份不同的文档,前者讲的是芯片的电气特性、引脚定义、封装尺寸、绝对最大额定值,后者才是讲功能模块、寄存器、编程模型的。

以F407为例,你需要下载两份文档:

  • DS8626:STM32F405xx/407xx数据手册,重点是引脚定义表、电气参数、封装图。画PCB查引脚、算功耗、判断温度范围,看这份。
  • RM0090:STM32F4系列参考手册,内容一千多页,每个外设的寄存器结构、配置步骤全都在这。写驱动物理层时,重点看第8章GPIO、第12章DMA、第18章USART、第20章I2C等,按需查阅即可,不必一次啃完。

还有一个容易忽略的文档:STM32F4系列编程手册(PM0214),这个讲的是Cortex-M4内核指令集和编程模型,如果你要做启动文件移植、汇编级调试、精确计算指令周期,这份文档才有用。对大多数人来说,可以先不看。

提示:直接用ST官网搜型号再下载即可,但要注意ST偶尔会更新文档版本,引脚定义一般不变,但勘误表(Errata)一定要看,里面会告诉你芯片某些批次或某些外设存在什么已知问题。

数据手册和参考手册的组合使用,本质上是一个"先外后内"的查找逻辑:先看数据手册确认硬件边界和引脚能力,再看参考手册配置寄存器。很多人一上来就翻参考手册,结果被寄存器淹没,是因为跳过了数据手册里的引脚复用表——那才是连接"你想用哪个外设"和"哪个引脚能接"之间的关键桥梁。

5. F407的例程那么多,怎么快速迁移到自己项目里

搜F407相关热词,"例程"出现频率很高。F407的例程资源确实丰富到夸张——正点原子、野火、ST官方、RT-Thread官方、各种开源飞控项目,全都有适配F407的代码。但资源多也有多的烦恼:怎么从例程跳到自己的项目,很多人卡在这一步。

5.1 标准外设库、HAL库、LL库,先搞清楚你手里的是什么

F407时代经历了STM32库的多次变迁。老一点的项目用标准外设库(Standard Peripheral Library),函数长这样:GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;后来ST主推HAL库,函数风格变成HAL_GPIO_Init、HAL_UART_Transmit,代码更抽象、更结构化。再后来是LL库,封装层级低,速度更快,但写起来偏底层。

我的建议是:

  • 如果你在做产品原型或者学习原理,直接用HAL库。它的代码确实啰嗦,但逻辑清晰,出问题容易查,而且ST官方的STM32CubeMX可以直接生成初始化代码,省去大量寄存器配置工作。
  • 如果你在做高性能、低延迟的驱动(比如高速ADC采集、精准PWM输出),可以考虑HAL和LL混用:初始化部分用HAL,实时性要求高的关键路径用LL,性能可以提升不少。
  • 标准外设库虽然已经停止更新,但它的代码执行效率高、参考价值依然很大。很多老工程师的代码片段、开源项目(比如某些老飞控)都是标准库写的,读得懂它,你就能看懂一大票历史代码。

不管选哪个库,核心都是要理解"时钟树、GPIO复用、外设中断/DMA"这三大块。例程的意义就在于它是这三块组合的标准答案,你要做的是改引脚、换外设参数,而不是重写驱动。

5.2 一个实际案例:把正点原子的USART例程改成自己的传感器串口

举个具体的例子。正点原子的F407USART例程默认用USART1,引脚是PA9(TX)和PA10(RX),波特率115200,中断接收。如果你要接一个串口超声波传感器,传感器是9600波特率、每隔100ms主动发一帧16字节数据,那么你只需要做三件事:

第一,确认传感器的串口电平,3.3V直接连,5V TTL要先做电平转换,绝对不要直接怼到F407的引脚上

第二,在CubeMX或者代码里,把USART1的波特率改成9600,开启接收中断,在中断回调里把收到的字节按帧头帧尾协议解析。这里有个实践小技巧:不要再用例程默认的单字节接收后回显,而是定义一个环形缓冲区或者状态机,逐字节往里塞,解析函数单独写。这样即使传感器帧格式变化,也不用改中断函数。

第三,把接收标志位置位后,主循环里取缓冲区数据做解析,计算距离、判断超时。这比自己用阻塞方式读串口会稳定得多。

这个迁移思路其实可以套用到所有传感器外设上:先看例程的启动序列,再看数据流路径,最后改参数和协议。很多人迁移失败,不是因为看不懂,而是上来就改引脚映射,忽略时钟树的检查——换引脚不是只改一个编号就完事,还要查GPIO复用表,确保该引脚确实支持那个外设的复用功能。

5.3 从F407换到其他芯片时,哪些代码能带走

这个问题反过来问也很重要。万一哪天你的项目升级到F429、H743,或者换到国产GD32F407、AT32F407这类"兼容派",你的代码能带走多少?

先说换到GD32F407、AT32F407这类pin-to-pin兼容芯片的情况:大部分代码可以无缝迁移,因为兼容芯片在设计时就是冲着"寄存器级兼容"去的,HAL层和标准库层基本不用改。要注意的是时钟配置、ADC校准值、某些特殊外设的勘误差异,这些差异经常藏在芯片的数据手册"差别说明"里,容易被忽略。

换到H743这种不同内核不同外设库的芯片,代码基本要重写驱动层。但是——你从F407项目里积累的架构设计思路、协议解析逻辑、任务调度划分、调试方法是可以完整带走的。这也就是为什么我一直说:学MCU不要死记芯片,要理解"用一个主控解决一类问题"的方法论。F407由于资料多、例程丰富,恰恰是培养这套方法论的最佳训练场。

6. 我踩过的一些F407的坑,写出来希望能帮你少走弯路

文章写到最后,分享几个我在F407项目里真实遇到过的坑。这些坑说大不大,但每一个都能让开发周期凭空多出几天,而且好多新手遇到之后根本无从下手。

6.1 启动引脚BOOT0悬空导致的诡异"不工作"

有一块自己画的板子,样机测试时发现:芯片上电后程序不跑,但用手摸一下BOOT引脚附近,程序又开始运行。排查了很久才发现BOOT0引脚悬空了。F407的BOOT0内部有下拉,理论上是默认低电平,但悬空状态在电场干扰下会被拉到高电平,导致芯片进入系统存储器模式,程序自然跑不起来。后来我把BOOT0用10k电阻下拉到地,问题消失。

教训是:凡是芯片的启动模式引脚,不管数据手册写没写内部上下拉,量产板上都建议加一个明确的外部电阻,避免悬空带来的不确定状态。

6.2 VCAP电容位置不对,IAP跳转就死机

另一个印象深刻的坑是VCAP电容。有一版板子VCAP电容放得离MCU引脚特别远,导致电源纹波在内核电压上的耦合比较大。症状是正常跑业务代码没事,但一旦执行IAP在线升级、跳转到Bootloader再跳回App这个流程时,偶尔会死机。定位了很久,后来把VCAP电容挪到紧贴芯片引脚的位置,并加了一颗100nF高频去耦,问题就消失了。

这个案例说明一个通用原则:MCU的关键电源去耦电容的位置,比电容本身的容值更重要。布局空间如果实在紧张,其余位置的电容可以适当缩小,但VCAP、VDDA这些核心引脚的电容优先级最高。

6.3 四路UART同时收发时的数据错乱,DMA缓冲区对齐是关键

做网关设备时,F407的四路串口同时高速收发数据,发现偶发数据错乱。一开始怀疑是波特率误差,后来用逻辑分析仪抓波形,发现波形的电平转换都正常,问题出现在接收端解析。仔细排查才发现是DMA接收缓冲区分组地址没做对齐。Cortex-M4内核虽然支持非对齐访问,但DMA控制器对缓冲区地址有对齐要求,我把接收缓冲区定义成512字节的uint8_t数组,DMA向这个数组写入时如果地址不对齐,某些情况下会出现字节丢失。

解决办法也很简单:用__attribute__((aligned(4)))把DMA缓冲区强制4字节对齐,问题不再出现。这个坑在STM32F4全系列都存在,如果你在F103上没有遇到,不要以为F407也不会有,DMA架构不同,坑不同。

6.4 外部中断里做耗时操作导致的实时性灾难

最后一个坑属于"用法不当"类型。有个同事写代码,把一段LCD刷屏逻辑直接放在了外部中断回调函数里,结果中断一频繁触发,主循环就被饿死,整个系统卡顿。虽然他后来给中断加了标志位,但标志位在主循环里处理时又被新的中断覆盖,数据就丢了。

正确的姿势是:中断里只做两件事——置标志位、把数据搬进缓冲区,其余处理全部放到主循环或更高优先级的任务里。F407的中断优先级是抢占优先级加子优先级两级配置,合理分配好紧急外设的响应级别,系统实时性才有保障。

这几个坑单独看都挺小,但这就是"用F407开发"和"把F407用稳"之间的差距。芯片资料再多、例程再全,也就帮你解决"外设怎么配"的问题,这种运行时稳定性问题,只能靠实际项目积累。所以我一直劝初学者不要满足于点亮LED、跑通例程,多拿几个真实设备——传感器、电机、屏幕、通信模块——混在一起做几个综合项目,踩过的坑才是真正属于自己的经验。

F407VET6不是最强的MCU,但它作为学习平台和产品核心的潜力,到现在也没有被完全榨干。如果你正在这个芯片上做项目,或者准备用它开始一段新设计,希望这篇文章能帮你建立起自己的判断框架。选型的时候知道它为什么合适,调试的时候知道从哪份文档找答案,画板的时候知道哪几个引脚不能省——用熟了之后你会发现,经典这两个字,不是白叫的。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/6 8:40:36

阿可替尼改写慢性淋巴细胞白血病治疗体验,疗效不减、毒性更低

布鲁顿酪氨酸激酶抑制剂的出现,彻底改变了B细胞恶性肿瘤的治疗格局。第一代BTK抑制剂伊布替尼虽然疗效显著,但房颤、高血压、出血等不良反应让不少患者被迫减量或停药。对于需要长期服药的慢性淋巴细胞白血病患者来说,这些副作用不仅影响生活…

作者头像 李华
网站建设 2026/9/6 8:39:40

RK3588稳定运行实战:从硬件看门狗到A/B升级的分层守护体系

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

作者头像 李华
网站建设 2026/9/6 8:39:27

从裸机到RTOS:FreeRTOS快速移植与任务设计实战

1. 为什么我从裸机转向RTOS,以及你该怎么判断嵌入式开发走到一定阶段,几乎都会碰到同一个痛点:裸机工程越写越长,主循环里的逻辑越来越乱,新加一个功能就开始担心影响其他模块。我一直做嵌入式开发,早期大部…

作者头像 李华
网站建设 2026/9/6 8:33:40

基于TI AM62L开发板的家居环境监测系统实战开发指南

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

作者头像 李华
网站建设 2026/9/6 8:30:05

DeepMind新帅谈前沿:技术人如何用强化学习工程思维破局

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

作者头像 李华