STM32F103XX不同系列与Proteus仿真的问题解决

问题
  • 当我们使用Proteus8.10时,存在一个普遍的问题,我们已经习惯了利用正点原子的例程进行实际设计,而仿真软件中其实是没有STM32F103ZE系列,那么我们要进行联合仿真会有一些麻烦,本文基于此提出一个比较完备的方案。
STM32F103XX系列区别
  • 我们通过官方手册可以有一个直观的理解
    在这里插入图片描述
  • 当然除了在容量方面,其实在uart等外设个数方面也是存在不同
  • 容量方面分为L、M、H三种容量,这也是为什么我们经常不能移植成功的原因,这三种容量分别对应着三种不同的启动程序
  • 今天我们主要解决的是联合仿真中如何将正点原子例程直接进行仿真,因此,我们主要想解决的是通过启动方式的不同来直接使用例程进行仿真
以正点原子第一个点灯为例全流程进行复述
  • 首先我们对这个原始工程直接修改其芯片类别
    在这里插入图片描述
  • 其次我们需要明白,仿真中的R6和ZE本质上一个是大容量一个是小容量,因此,这里需要修改一个宏定义
    在这里插入图片描述
    即为将STM32F10X_HD变为STM32F10X_LD
  • 最后,我们最好将启动文件进行修改
    在这里插入图片描述
    修改此处的strtup_stm32f10X_hd.s变为strtup_stm32f10X_ld.s
    strtup_stm32f10X_ld.s需要自己在官网或者其他地方找到
  • 至此,我们进行Proteus时就可以直接使用正点原子的例程了
    在这里插入图片描述
    在这里插入图片描述
总结
  • 总的来说,其实主要思想就是不同的容量,我们需要对两部分进行修改
    • 芯片自身的启动文件即 STM32F10X_HD.s文件。
    • 对于原始封装的库,虽然库不用改变,但是需要更换宏定义,这样相当于改变了原有的部分库代码,使得当前代码符合容量不同的芯片进行操作。
  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值