logo资料库

从STM32F401411系列移植到STM32L4系列微控制器.pdf

第1页 / 共49页
第2页 / 共49页
第3页 / 共49页
第4页 / 共49页
第5页 / 共49页
第6页 / 共49页
第7页 / 共49页
第8页 / 共49页
资料共49页,剩余部分请下载后查看
1 STM32L4系列概览
2 硬件移植
表1. STM32F401/411系列和STM32L4系列的引脚分配区别(QFP)
图1. LQFP100兼容板设计
图2. LQFP64兼容板设计
3 自举模式选择
表2. 自举模式
表3. 自举程序接口
4 外设移植
4.1 STM32产品交叉兼容性
表4. STM32F401/411系列与STM32L4系列的STM32外设兼容性分析
4.2 存储器映射
表5. STM32F401/411系列和STM32L4系列之间外设地址映射的区别
4.3 DMA
表6. STM32F401/411系列和STM32L4系列之间DMA的区别
表7. 从STM32F401/411系列移植到STM32L4系列DMA请求区别
4.4 中断
表8. STM32F401/411系列和STM32L4系列之间中断向量的区别
4.5 RCC
表9. STM32F401/411系列和STM32L4系列之间RCC的区别
4.5.1 VCORE范围与性能
表10. STM32L4的性能与 VCORE范围
表11. CPU时钟 (HCLK) 频率对应的等待周期数 (STM32F401xB/C和STM32F401xD/E)
表12. CPU时钟 (HCLK) 频率对应的等待周期数 (STM32F411xC/E)
4.5.2 外设访问配置
表13. 用于外设访问配置的RCC寄存器
4.5.3 外设时钟配置
4.6 PWR
表14. STM32F401/411系列和STM32L4系列之间PWR的区别
4.7 RTC
表15. STM32F401/411系列和STM32L4系列之间RTC的区别
4.8 SYSCFG
表16. STM32F401/411系列和STM32L4系列之间SYSCFG的区别
4.9 GPIO
4.10 EXTI源选择
表17. STM32F401/411系列和STM32L4系列之间EXTI的区别
4.11 闪存
表18. STM32F401/411系列和STM32L4系列之间FLASH的区别
4.12 U(S)ART
表19. STM32F401/411系列和STM32L4系列之间U(S)ART的区别
4.13 I2C
表20. STM32F401/411系列和STM32L4系列之间I2C的区别
4.14 SPI/I2S/SAI
表21. STM32F401/411系列和STM32L4系列之间SPI的区别
表22. 从I2S移植到SAI
图3. STM32L4系列SAI主模式时钟产生(如需要MCLK)
4.15 CRC
表23. STM32F401/411系列和STM32L4系列之间CRC的区别
4.16 USB OTG FS
表24. STM32F401/411系列和STM32L4系列之间USB OTG FS的区别
4.17 ADC
表25. STM32F401/411系列和STM32L4系列之间ADC的区别
5 版本历史
表26. 文档版本历史
表27. 中文文档版本历史
AN4616 应用笔记 从 STM32F401/411 系列移植到 STM32L4 系列微控制器 前言 对于 STM32 微控制器应用的设计人员来说,能够轻松地用同一产品系列中的微控制器替换 另一个型号是非常重要的。常常需要将应用移植到不同的处理器上,比如当产品需求增加 时,需要更大的存储器空间或者增加 I/O 的数量。另外一方面,为了降低成本也可能会是转 向更小的元件和缩小 PCB 面积。 本应用笔记帮助分析将现有设计从 STM32F401/411 系列产品移植到 STM32L4 系列产品所 需的步骤。它汇集了最重要的信息,并且列出了需要处理的关键方面。 本文档列出了 STM32F401/411 系列和 STM32L4 系列产品可用的 “ 全套 ” 功能 (根据其产 品型号,一些产品可能具有较少的功能)。 为了将应用移植到 STM32L4 系列产品,需要考虑三个方面:硬件移植,外设移植和固件移 植。 为了充分利用本应用笔记中的信息,用户应当熟悉 STM32 微控制器文档 (可在 www.st.com 上获取),并特别关注: • STM32F401/411 系列参考手册: – – STM32F401/411 系列数据手册。 STM32L4 系列参考手册: – STM32L4 系列数据手册。 RM0368 (STM32F401xB/C 和 STM32F401xD/E) RM0383 (STM32F411xC/E) RM0351 (STM32L4x6) • • • 2015 年 12 月 DocID027151 Rev 1 [English Rev 1] 1/49 www.st.com 1
目录 目录 1 2 3 4 AN4616 STM32L4 系列概览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 硬件移植 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 自举模式选择 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 外设移植 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.1 STM32 产品交叉兼容性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.2 存储器映射 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.3 DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.4 中断 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.5 RCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 VCORE 范围与性能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.5.1 4.5.2 外设访问配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.5.3 外设时钟配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 PWR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.6 RTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.7 SYSCFG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.8 4.9 GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.10 EXTI 源选择 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.11 闪存 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.12 U(S)ART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.13 I2C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.14 SPI/I2S/SAI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.15 CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.16 USB OTG FS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.17 ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 5 版本历史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 2/49 DocID027151 Rev 1[English Rev 1]
AN4616 表格索引 表格索引 表 1. 表 2. 表 3. 表 4. 表 5. 表 6. 表 7. 表 8. 表 9. 表 10. 表 11. 表 12. 表 13. 表 14. 表 15. 表 16. 表 17. 表 18. 表 19. 表 20. 表 21. 表 22. 表 23. 表 24. 表 25. 表 26. 表 27. STM32F401/411 系列和 STM32L4 系列的引脚分配区别 (QFP). . . . . . . . . . . . . . . . . . . . 6 自举模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 自举程序接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 STM32F401/411 系列与 STM32L4 系列的 STM32 外设兼容性分析. . . . . . . . . . . . . . . . . . 10 STM32F401/411 系列和 STM32L4 系列之间外设地址映射的区别 . . . . . . . . . . . . . . . . . . . 12 STM32F401/411 系列和 STM32L4 系列之间 DMA 的区别 . . . . . . . . . . . . . . . . . . . . . . . . . 15 从 STM32F401/411 系列移植到 STM32L4 系列 DMA 请求区别. . . . . . . . . . . . . . . . . . . . . 15 STM32F401/411 系列和 STM32L4 系列之间中断向量的区别 . . . . . . . . . . . . . . . . . . . . . . 19 STM32F401/411 系列和 STM32L4 系列之间 RCC 的区别 . . . . . . . . . . . . . . . . . . . . . . . . . 22 STM32L4 的性能与 VCORE 范围 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 CPU 时钟 (HCLK) 频率对应的等待周期数 (STM32F401xB/C 和 STM32F401xD/E) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 CPU 时钟 (HCLK) 频率对应的等待周期数 (STM32F411xC/E) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 用于外设访问配置的 RCC 寄存器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 STM32F401/411 系列和 STM32L4 系列之间 PWR 的区别. . . . . . . . . . . . . . . . . . . . . . . . . 30 STM32F401/411 系列和 STM32L4 系列之间 RTC 的区别 . . . . . . . . . . . . . . . . . . . . . . . . . 33 STM32F401/411 系列和 STM32L4 系列之间 SYSCFG 的区别 . . . . . . . . . . . . . . . . . . . . . 34 STM32F401/411 系列和 STM32L4 系列之间 EXTI 的区别 . . . . . . . . . . . . . . . . . . . . . . . . . 35 STM32F401/411 系列和 STM32L4 系列之间 FLASH 的区别 . . . . . . . . . . . . . . . . . . . . . . . 35 STM32F401/411 系列和 STM32L4 系列之间 U(S)ART 的区别 . . . . . . . . . . . . . . . . . . . . . 37 STM32F401/411 系列和 STM32L4 系列之间 I2C 的区别 . . . . . . . . . . . . . . . . . . . . . . . . . . 38 STM32F401/411 系列和 STM32L4 系列之间 SPI 的区别 . . . . . . . . . . . . . . . . . . . . . . . . . . 40 从 I2S 移植到 SAI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 STM32F401/411 系列和 STM32L4 系列之间 CRC 的区别 . . . . . . . . . . . . . . . . . . . . . . . . . 44 STM32F401/411 系列和 STM32L4 系列之间 USB OTG FS 的区别 . . . . . . . . . . . . . . . . . . 45 STM32F401/411 系列和 STM32L4 系列之间 ADC 的区别 . . . . . . . . . . . . . . . . . . . . . . . . . 46 文档版本历史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 中文文档版本历史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 DocID027151 Rev 1[English Rev 1] 3/49 3
图片索引 图片索引 AN4616 图 1. 图 2. 图 3. LQFP100 兼容板设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 LQFP64 兼容板设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 STM32L4 系列 SAI 主模式时钟产生 (如需要 MCLK) . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4/49 DocID027151 Rev 1[English Rev 1]
AN4616 STM32L4 系列概览 1 STM32L4 系列概览 STM32L4 系列产品实现了超低功耗、性能、存储空间、外设和低成本的完美组合。 尤其是, STM32L4 系列产品允许进行高频率 / 高性能操作,包括 ARM® Cortex®-M4 @80 MHz,以及通过自适应实时存储加速器优化的闪存访问 (ART Accelerator™)。 STM32L4 系列提高了动态模式下的低功耗效率 (μA/MHz),同时在多种可用的低功耗模式 下仍能实现极低的静态功耗。 每个产品的可用功能和封装的详细列表可见于其各自的数据手册。 相比于 STM32F401/411, STM32L4 系列产品有更多具有先进功能的外设。 • 高级加密硬件加速器 (AES) • 触摸感应控制器 (TSC) • 控制器局域网络 (bxCAN) • 单线协议接口 (SWPMI) • 串行音频接口 (SAI) • 低功耗 UART (LPUART) • 红外接口 (IRTIM) • 低功耗定时器 (LPTIM) • 液晶显示控制器 (LCD) • 数字滤波器,用于∑ Δ 调制器 (DFSDM) • 运算放大器 (OPAMP) • 电压参考缓冲器 (VREFBUF) • 具有低功耗采样和保持功能的数字模拟转换器 (DAC) • • 灵活存储控制器 (FMC) • 防火墙 (FW) • 附加 SRAM2 (32 KB),待机模式下可保持数据 • 闪存上双存储区自举和 8 位 ECC 还提供了优化的功耗和丰富的低功耗模式。 QuadSPI 接口 (QUADSPI) DocID027151 Rev 1 [English Rev 1] 5/49 48
硬件移植 2 硬件移植 AN4616 STM32F401/411 系列中的 WLCSP 封装与 STM32L4 系列中的 WLCSP 封装是不相同的 (两种产品具有不同的晶片尺寸)。 只有 LQFP64、 LQFP100 封装在两种系列产品中均提供, STM32F401/411 系列的其他封装 在 STM32L4 系列中不提供。 超低功耗 STM32L4 系列和 STM32F401/411 系列产品具有高度的引脚兼容性。大部分外设 可共享两个系列产品的相同引脚。 从 STM32F401/411 系列到 STM32L4 系列的转换之所以简单,是因为只有几个引脚受到影 响,参见下面的表 1: 表 1. STM32F401/411 系列和 STM32L4 系列的引脚分配区别 (QFP) STM32F401/411 系列 STM32L4 系列 QFP64 QFP100 - 30 - 48 19 48 73 - 引脚 VDD VCAP1 VCAP2 VDD 1. VDDUSB 引脚可外部连接到 VDD。 QFP64 QFP100 QFP144 - 30 - 48 19 48 73 - 30 - 106 引脚 VSSA PB11 VDDUSB VDDUSB(1) 6/49 DocID027151 Rev 1 [English Rev 1]
AN4616 硬件移植 STM32F401/411 系列板移植到 STM32L4 系列板的建议 引脚 VDD (QFP 100 上的引脚 19) 在 STM32L4 系列产品中被用作 VSSA 。 专用 VDDUSB 电源用于 STM32L4 系列中。它应当连接到引脚 VDDUSB (QFP64 上的引脚 48, QFP100 上的引脚 73)。 STM32F401/411 系列中该引脚用于 VCAP2 (QFP64) (STM32L4 系列不需要)或 VDD (QFP100)。 STM32F401/411 系列中引脚 VCAP1、 VCAP2 通过外部电容来稳定调压器,而 STM32L4 系列中不需要 (这些引脚)。 这些引脚现在映射到 PB11 和 VDDUSB 上 (见表 1)。 下图显示了从 STM32F4 系列移植到 STM32L4 系列的板设计示例。 图 1. LQFP100 兼容板设计 图 2. LQFP64 兼容板设计 DocID027151 Rev 1 [English Rev 1] 7/49 48
自举模式选择 3 自举模式选择 AN4616 STM32F401/411 系列和 STM32L4 系列中选择自举模式的方式不同。在 STM32F401/411 系 列上,利用两个引脚来选择自举模式。 STM32L4 系列中,利用一个引脚和 nBOOT1 选项位 (位于存储地址 0x1FFF7800 上的用户选项字节中)来选择自举模式。对于 STM32F401/411 系列和 STM32L4 系列产品,自举模式可在这三个选项中选择:从主闪存 自举,从 SRAM 自举或从系统存储器自举。 表 2 总结了选择自举模式的不同配置。 表 2. 自举模式 STM32L4 系列 / STM32F401/411 系列 自举模式选择 BOOT1(1) BOOT0 x 0 1 0 1 1 1. BOOT1 的值为 nBOOT1 选项位取反。 自举模式 自举空间 主 Flash 系统存储器 嵌入式 SRAM 选择主 Flash 作为自举 空间 选择系统存储器作为自 举空间 选择嵌入式 SRAM 作为 自举空间 嵌入式自举程序 嵌入式自举程序位于片内引导程序中,由 ST 在生产阶段编程。它用于通过以下串行接口重 新编程 Flash (详细信息请参考 AN2606): 表 3. 自举程序接口 外设 DFU USART1 USART2 USART3 USART3 I2C1 引脚 STM32F401/411 系列 STM32L4 系列 USB_DM (PA11) USB_DP (PA12) USART1_TX (PA9) USART1_RX (PA10) USART2_TX (PD5) USART2_RX (PD6) USART2_TX (PA2) USART2_RX (PA3) USART3_TX (PB10) USART3_RX (PB11) USART3_TX (PC10) USART3_RX (PC11) I2C1_SCL (PB6) I2C1_SDA (PB7) X X X - X X X X X - X - X X 8/49 DocID027151 Rev 1 [English Rev 1]
分享到:
收藏