没有合适的资源?快使用搜索试试~ 我知道了~
首页从 STM32F1 移植到 STM32F0
从 STM32F1 移植到 STM32F0
需积分: 50 39 下载量 71 浏览量
更新于2023-03-16
3
收藏 2.09MB PDF 举报
对于 STM32 微控制器应用的设计人员而言,将一种微控制器类型轻松替换成同一产品系列 的另一种微控制器非常重要。随着产品要求不断提高,对存储器大小或 I/O 数量的需求也相 应增加,因此设计人员经常需要将应用程序移植到其它微控制器。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/8969593/bg1.jpg)
2013 年 01 月文档 ID 023072 第 2 版 1/57
AN4088
应用笔记
从 STM32F1 移植到 STM32F0
简介
对于 STM32 微控制器应用的设计人员而言,将一种微控制器类型轻松替换成同一产品系列
的另一种微控制器非常重要。随着产品要求不断提高,对存储器大小或 I/O 数量的需求也相
应增加,因此设计人员经常需要将应用程序移植到其它微控制器。另一方面,为了降低成
本,用户可能被迫转换为更小的元件并缩减 PCB 面积。
本应用笔记旨在帮助您分析从现有的 STM32F1 器件移植到 STM32F0 器件所需的步骤。本
文档收集了最重要的信息,并列出了需要注意的重要事项。
要将应用程序从 STM32F1 系列移植到 STM32F0 系列,用户需要分析硬件移植、外设移植
和固件移植。
为了充分利用本应用笔记中的信息,用户应熟悉 STM32 微控制器系列。可以参考 www.st.com
网站提供的以下文档。
● STM32F1 系列参考手册(RM0008 和 RM0041)、STM32F1 数据手册和 STM32F1 Flash
编程手册(PM0075、PM0063 和 PM0068)。
● STM32F0 系列参考手册 (RM0091) 和 STM32F0 数据手册。
有关整个 STM32 系列的概述以及各 STM32 产品系列不同特性的对比,请参见 AN3364
STM32
微控制器应用的移植和兼容性指南
。
表
1 列出了本应用笔记所涉及的微控制器和开发工具。
表 1. 适用产品
类型 型号
微控制器
STM32F0xxxx
STM32F1xxxx
www.st.com
![](https://csdnimg.cn/release/download_crawler_static/8969593/bg2.jpg)
目录 AN4088
2/57 文档 ID 023072 第 2 版
目录
1 硬件移植 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 启动模式兼容性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 外设移植 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1 STM32 产品交叉兼容性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 系统架构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3 存储器映射 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.4 复位和时钟控制器 (RCC) 接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.5 DMA 接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.6 中断向量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.7 GPIO 接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.8 EXTI 中断源选择 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.9 Flash 接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.10 ADC 接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.11 PWR 接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.12 实时时钟 (RTC) 接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.13 SPI 接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.14 I2C 接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.15 USART 接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.16 CEC 接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4 使用库进行固件移植 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.1 移植步骤 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.2 RCC 驱动程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3 Flash 驱动程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.4 CRC 驱动程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.5 GPIO 配置更新 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.5.1 输出模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.5.2 输入模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.5.3 模拟模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.5.4 复用功能模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
![](https://csdnimg.cn/release/download_crawler_static/8969593/bg3.jpg)
文档 ID 023072 第 2 版 3/57
AN4088 目录
3
4.6 EXTI 线 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.7 NVIC 中断配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.8 ADC 配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.9 DAC 驱动程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.10 PWR 驱动程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.11 备份数据寄存器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.12 CEC 应用程序代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.13 I2C 驱动程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.14 SPI 驱动程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.15 USART 驱动程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.16 IWDG 驱动程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5 版本历史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
![](https://csdnimg.cn/release/download_crawler_static/8969593/bg4.jpg)
表格索引 AN4088
4/57 文档 ID 023072 第 2 版
表格索引
表 1. 适用产品 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
表 2. STM32F1 系列和 STM32F0 系列引脚排列区别 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
表 3. 启动模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
表 4. STM32 F1 与 F0 系列外设兼容性分析对比. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
表 5. STM32F0 和 STM32F1 系列之间的 IP 总线映射区别. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
表 6. STM32F0 系列与 STM32F1 系列之间的 RCC 区别 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
表 7. 将系统时钟配置代码从 F1 移植到 F0 的示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
表 8. 用于外设访问配置的 RCC 寄存器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
表 9. STM32F1 系列与 STM32F0 系列之间的 DMA 请求区别 . . . . . . . . . . . . . . . . . . . . . . . . . . 16
表 10. STM32F1 系列与 STM32F0 系列之间的中断向量区别. . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
表 11. STM32F1 系列与 STM32F0 系列之间的 GPIO 区别 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
表 12. STM32F0 系列与 STM32F1 系列之间的 Flash 区别 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
表 13. STM32F0 系列与 STM32F1 系列之间的 ADC
区别 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
表 14. STM32F0 系列与 STM32F1 系列之间的 PWR 区别. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
表 15. STM32F10x 与 STM32F0xx 时钟源 API 对应关系 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
表 16. STM32F10x 与 STM32F0xx Flash 驱动程序 API 对应关系 . . . . . . . . . . . . . . . . . . . . . . . . 31
表 17. STM32F10xx 与 STM32F0xx CRC 驱动程序 API 对应关系 . . . . . . . . . . . . . . . . . . . . . . . . 33
表 18. STM32F10x 与 STM32F0xx MISC 驱动程序 API 对应关系 . . . . . . . . . . . . . . . . . . . . . . . . 38
表 19. STM32F10x 与 STM32F0xx DAC 驱动程序 API 对应关系 . . . . . . . . . . . . . . . . . . . . . . . . . 40
表 20. STM32F10x 与 STM32F0xx PWR 驱动程序 API 对应关系 . . . . . . . . . . . . . . . . . . . . . . . . 41
表 21. STM32F10xx 与 STM32F0xx CEC 驱动程序 API 对应关系 . . . . . . . . . . . . . . . . . . . . . . . . 43
表 22. STM32F10xx 与 STM32F0xx I2C 驱动程序 API 对应关系 . . . . . . . . . . . . . . . . . . . . . . . . . 45
表 23. STM32F10xx 与 STM32F0xx SPI 驱动程序 API 对应关系 . . . . . . . . . . . . . . . . . . . . . . . . . 49
表 24. STM32F10x 与 STM32F0xx USART 驱动程序 API 对应关系. . . . . . . . . . . . . . . . . . . . . . . 51
表 25. STM32F10xx 与 STM32F0xx IWDG 驱动程序 API 对应关系 . . . . . . . . . . . . . . . . . . . . . . . 55
表 26. 文档版本历史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
![](https://csdnimg.cn/release/download_crawler_static/8969593/bg5.jpg)
文档 ID 023072 第 2 版 5/57
AN4088 硬件移植
56
1 硬件移植
入门级 STM32F0 与通用 STM32F1xxx 系列的各引脚兼容。所有外设共用这两个产品系列的
相同引脚,但二者在封装上存在微小差别。从 STM32F1 系列转换到 STM32F0 系列非常简
单,因为只有少数引脚受到影响(
表
2 中用粗体指出了受影响的引脚)。
注:
PB2
适用于
STM32F05x
,而
NPOR
适用于
STM32F06x
。
除非用户为应用程序在 VSS/VDD 2 和 4 位置处使用了 2 个或 4 个 GPIO,否则从 F1 移植到
F0 时不会影响引脚排列,具体取决于使用的封装。
表 2. STM32F1 系列和 STM32F0 系列引脚排列区别
STM32F1 系列 STM32F0 系列
QFP48 QFP64
引脚排列
QFP48 QFP64
引脚排列
55PD0 - OSC_IN 5 5 PF0 - OSC_IN
66PD1 - OSC_OUT 6 6 PF1 - OSC_OUT
-18VSS_4 -18PF4
-19VDD_4 -19PF5
35 47 VSS_2 35 47 PF6
36 48 VDD_2 36 48 PF7
20 28 BOOT1/PB2 20 28 PB2/NPOR
剩余56页未读,继续阅读
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/1d166559fd1642bcb402d7734783e151_u012370721.jpg!1)
wjxlgd1203020119
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 新皇冠假日酒店互动系统的的软件测试论文.docx
- 上海空中营业厅系统的软件测试论文.doc
- 网上选课系统的设计与实现论文.doc
- 师生互动网站设计与实现 ()论文.doc
- 学生档案管理系统论文_正文.doc
- 视频会议系统的设计与实现毕业论文.docx
- 基于web的职工电子档案管理系统的设计与实现毕业论文.docx
- 考试辅导网站的设计与实现论文.doc
- 论文 云端图书馆管理系统设计与实现.docx
- 计算机等级考试网上辅导系统的设计与实现论文.doc
- 基于web烘焙坊网站的设计与实现论文.doc
- 论文_基于J2EE的高校后勤采供管理系统开发.docx
- 老龄化社区服务及其系统应用论文.doc
- 论文-java基于SSM的大学生创新创业信息系统.docx
- 猎豹安全浏览器的软件测试论文.doc
- 基于Web的网上书店系统的设计与实现毕业论文.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)