STM32f103系列和f107系列移植

本文详细介绍了STM32F103到STM32F107的移植过程,包括两者的主要区别、内部资源、时钟配置、启动文件的修改以及工程移植的步骤。F107增加了以太网接口和IIS音频接口,时钟源通常为25MHz,适用于需要网络功能的项目。通过修改工程名称、预编译头文件、容量设置和启动文件,可以成功将F103工程移植到F107。
摘要由CSDN通过智能技术生成

前言

由于最近芯片涨价,STM32F103系列的单片机价格已经十分昂贵,价格已经超出了我的承受范围, 所以我一直在寻找可替代的产品。之前,买过STM32F103C6T6A,当时是6元一片买的,买了20片,本来以为只是容量少了一半,最后发现这个型号是阉割版,相对于STM32F103c8T6来说,少了一个串口,少了一个SPI。这对于一般的应用来说,也是足够用了,但是对于一些其他的应用,就力不从心了。

购买F107

偶然间买了一片STM32F107RCT6,价格是11块多,相对来说价格已经很低了。昨天查看了资料,发现引脚和F103的完全兼容,之前有做过F103RCT6的板子,既然完全兼容,那么我就直接焊上去开始测试。

一、F103和F107的区别

首先,两个芯片都是意法半导体为ARM Cortex-M3内核出的用于自动控制领域的微处理器。


F107是互联型接口,且内部资源较多,F103是增强型(比F101强),相比F103,F107加入IEEE以太网接口,2个IIS音频接口(做音频解码用),全部64KByte的SRAM缓存。


107支持网络,支持OTG,可以有以太控制器,103是没有的.


都是使用ST提供的标准固件库,完全通用。


F103固件库中默认外部时钟是8M,F105和F107是25M.

这里提供一个图给大家参考
在这里插入图片描述

二、F107的内部资源

关于F107的内部资源,是根据引脚的数量和容量大小进行区分的,基本和F103的一致。
在这里插入图片描述

三、关于F103和F107的时钟

F103,外接8M,直接9倍频,得到72M时钟。参考手册上对应时钟树图:
在这里插入图片描述
F107,因为具有USB OTG功能,因此需要特别时钟。一般采用25M外部晶振,方便提供USB或以太网相关时钟频率,最终系统时钟为72M。参考手册上对应时钟树图:
在这里插入图片描述
关于时钟的更多的配置,可以查看下面这个链接:
F103和F107时钟来源分析

四、启动文件

查看F103对应的startup_stm32f10x_hd.s文件和F107对应的startup_stm32f10x_cl.s文件。对比一下,发现只有OTG USB模块和Ethernet模块相关的中断及响应函数区别,再没有其它不同:

五、移植F103工程为F107工程

1.拷贝一个F103的工程

在这里插入图片描述
在这里插入图片描述

2.名称更改

因为我们是F103的工程,用的是F103的芯片,我们使用F107的芯片,需要选择对应的型号。
这里我使用的是F107RCT6.
在这里插入图片描述

3.预编译头文件更改

因为我们使用的是F107,所以头文件有所不同。
F103对应STM32F10X_HD(大容量),F107对应STM32F10X_CL
在这里插入图片描述

USE_STDPERIPH_DRIVER,STM32F10X_CL

中间需要用,隔开

4.修改下载的容量

如果我们使用下载器下载,需要设置一下这个芯片对应的容量大小,我的是RCT6,容量是256K。
在这里插入图片描述

经过上面的步骤的移植,基本上已经可以进行通信了。

测试:
输入一句串口打印信息。
在这里插入图片描述
结果:

在这里插入图片描述
到此,移植成功。

5.替换启动文件

F103对应startup_stm32f10x_hd.s(大容量),F107对应startup_stm32f10x_cl.s,仅和OTG、Ethernet中断有关。

上面已经测试成功了,为什么还要做这一步,因为startup_stm32f10x_cl.s包含有OTG和Ethernet中断有关的信息,我们没有使用这个功能,所以无所谓,但是一旦使用了就会报错,我们最好替换一下。

六、关于我的调试

今天焊好了基本外围电路,然后上电测试,发现串口打印的都是乱码,因为我焊接的是8MHZ的晶振,时钟不正确。

因为是之前的板子,焊接的是8MHZ的贴片的SMD晶振,手头上没有25MHZ的这种晶振,在实验室找了一通,也没有找到这个晶振,最后没有办法,只能飞线了,还好还有之前用的429开发板上的晶振。

最后上个图吧:
在这里插入图片描述
到此,调试完成。

参考文献:

https://blog.csdn.net/li707414287/article/details/101029673

  • 6
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值