打印
[APM32F1]

国产APM32F103ZET6替换STM32F103ZET6经验分享

[复制链接]
3307|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
CCCfe|  楼主 | 2022-6-7 19:32 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 CCCfe 于 2022-6-7 19:31 编辑

国产APM32F103ZET6替换STM32F103ZET6经验分享(一)


  随着大变局时代的开启,美国对中国科技的打压,对中国芯片的锁脖,ST芯片价格的一再高涨,直接推动了国产芯片的发展。国内很多厂家也开始推出高性能、低价格的对标ST产品。由于价格问题,我也不得不考虑更换芯片,看了一些测评,有人推荐这一款APM32的单片机,价格比ST同型号的便宜,果断下单,以下是我使用APM32F103ZET6替换STM32F103ZET6的一些分享,参考了网上各路大神的资料后作的总结。#申请原创#

1 从手册中分析资源,基础信息一模一样
1.1 引脚定义
由下图可以看出相同封装的引脚分布完全一致。



1.2 结构框图
(1)都是M3内核,总体与STM32F103ZET6架构一致
外设上做了部分增加,APM32F103相较于STM32F103增加了I2C3和I2C4模块,还增加了动态存储控制器DMC,可外接SDRAM。

(2)多了EMMC
APM32F103有一个特别的功能,它有EMMC(外部存储器控制器),因此可以外接SDRAM,这使它可以存储大量临时数据,提升读取速度。如果不想外接也有SDRAM,APM32F103也有合封型号——APM32F103VCTxS。

(3)多了个FPU
如果在处理一些浮点数据的数**算时,比如sin运算,使用FPU可以加快运算速度;STM32F103ZET6是没有的,因此在替换过程中,如果使用FPU,且使用了APM32F103ZET6官方提供的浮点运算库,注意算法中数据处理的效率是有很大提升的。

但是APM32F103ZET6的FPU有些不好的地方是,只对库中的数**算有明显(提升至少5倍)加速效果,其它的运算无明显加速效果。

(4)多了个USB
STM32F103ZET6的CAN和USB共用一段SRAM,因此使用USB时可以使用CAN。

1.3 存储地址映射
经过对比下面两图可以得出,基本外设地址都是一致的,对于多出的功能都占用了ST原来的保留地址,这说明APM32F103是可以完全兼容STM32F103的。

1.4 时钟树
在某些应用场景需要超频使用(官方是不保证的),当系统时钟为96MHz、120MHz下,STM32F103ZET6的USB无法配置到48MHz,因此无法使用USB。但是APM32F103ZET6通过配置分频系数,当系统时钟为96MHz、120MHz时,依然可以使用USB.
1.5 最小系统电路
电源、时钟、复位、烧录接口、Boot电路一致。


2 用STM32F103xE的Keil工程、代码烧录到APM32F103xE中,实现基本烧录功能
在调试过程中使用的板子是APM32F103ZET6的mini板,使用的Keil工程是野火的例程。
2.1 编译工具
与ST完全相同,都可以使用keil和IAR。
2.2 烧录器
兼容ST,可以使用ST-LINK,还可以使用J-LINK和APEX-LINK。
2.3 烧录接口
支持JTAG和SWD。
2.4 编译下载
随便找一个野火的STM32F103的代码例程,验证一下不修改任何配置和ST的代码是否可以直接烧录使用
打开工程后点击魔术棒,板子还是选择STM32F103VE
接下来选择自己使用的烧录器,这里我用的是J-LINK
进入setting,设置flash download,还是添加对应型号的ST芯片
以上就配置结束了,然后再将例程里LED的引脚PB0和PB1修改成APM32103的LED引脚PE6和PE5
全部修改完成了,编译下载后,两个LED交替闪烁,说明验证成功,不用修改其他配置,选择好烧录器,直接烧录ST代码是可以使用的。
2.5 脱机编程器
市场上买的量产烧录器品牌(可以百度、淘宝搜索)有:周立功、希尔特、轩微、芯园、野火等,有些烧录器添加了AMP32F103ZET6的型号,有些没有。

本人只有芯园的烧录器,选择STM32F103ZET6的型号是可以烧录APM32F103ZET6。

至于其它的烧录器能否选择STM32F103ZET6的型号烧录APM32F103ZET6呢,由于没有烧录器,因此暂时无结论,后续有机会使用时再补充。

不过AMP32F103ZET6有官方的脱机编程器。

2.6 JTAG ID不同
具体差异如下:
(1)APM32F103ZET6的信息如下:
(2)STM32F103ZET6的信息如下:
如果代码中有使用JTAG ID作为判断信息的话,在替换过程中会出问题。


内容未完结,后续将继续发布《国产APM32F103ZET6替换STM32F103ZET6经验分享(二)》,谢谢支持!

使用特权

评论回复
沙发
daichaodai| | 2022-6-8 07:42 | 只看该作者
相似度还是挺高

使用特权

评论回复
板凳
内政奇才| | 2022-6-9 10:56 | 只看该作者
差别应该不会很大,哈哈

使用特权

评论回复
地板
zjh20070904| | 2022-6-13 19:32 | 只看该作者
直接用ST的SDK、ST的工程烧录,省了好多移植代码事

使用特权

评论回复
5
jimmhu| | 2022-11-3 22:04 | 只看该作者
是不是可以通过stm32cubemx开发APM32F103ZET6?

使用特权

评论回复
6
AloneKaven| | 2022-11-4 21:20 | 只看该作者
差别不会很大

使用特权

评论回复
7
maqianqu| | 2022-11-5 10:18 | 只看该作者
感觉代码都不需要替换,直接下载程序的。

使用特权

评论回复
8
lzbf| | 2022-11-5 10:42 | 只看该作者
APM32F103ZET6是PIN2PIN兼容stm32的。

使用特权

评论回复
9
ingramward| | 2022-11-5 11:15 | 只看该作者
STM32F103ZET6现在的价格太贵了,APM32F103ZET6不知道怎么样

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

3

帖子

0

粉丝