你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32-不同芯片的移植

[复制链接]
STMCU-管管 发布时间:2020-9-18 13:55

在实际项目中,我们根据项目需求选用最合适的芯片型号,有时会涉及到一个工程代码在不同芯片上的使用,不同型号的芯片如何移植呢?通过本文,您将了解基本的移植过程。


1.准备工作
1.1 根据芯片的命名规则确定要移植的型号的flash大小

1_meitu_1.jpg


其中用到的是芯片类型的flash的大小,比如STM32F103VBT6,表示flash大小的位为“B”,对应的是128k字节,由此可以该型号的flash大小。


1.2 根据flash大小选择合适的启动文件

ST官方提供了3个启动文件,分别适用于不同flash容量的STM32芯片,跟别为:
        startup_stm32f10x_ld.s          适用于小容量 产品
        startup_stm32f10x_md.s        适用于中等容量产品
        startup_stm32f10x_hd.s         适用于大容量产品


关于FLASH的大小.判断方法如下:
       小容量:FLASH≤32K
       中容量:64K≤FLASH≤128K
       大容量:256K≤FLASH


根据自己所选用的STM32芯片选择不同的.s文件。如果与原工程的启动文件不一样,则需要更换,否则就略过修改启动文件部分。(启动文件可以再原子提供的资料里找到)


1.3 根据工程修改选用的启动文件

我们在开发过程中一般使用的是库函数版,而ST提供的启动文件中默认是注释掉了启动文件调用系统初始化函数的部分(.s文件里分号是注释符)。


2_meitu_2.jpg


如果这里不做修改,会导致系统无法初始系统时钟。因此,如果使用的是库函数版本,一定要把注释去掉!


1.4 更换工程中的启动文件

将工程中的启动文件换成所选的启动文件即可。


2.配置IDE

点击魔法棒依次进行一下配置

1).device 项:  选择选用的单片机型号

2).C/C++ 项:根据选用的型号是大中小容量,分别改为:STM32F10X_HD、STM32F10X_MD、STM32F10X_LD


3_meitu_3.jpg


3).Debug 项:根据所选型号修改一下信息,因为这里选用的型号是F103VBT6,就改成...VB。


4_meitu_4.jpg


然后点击OK保存


4).再次打开Debug项,按照剪头操作(里边的下载器/仿真器的配置这里不废话了),根据所选型号的flash的大小选择合适的大小。


5_meitu_5.jpg


3.下载/仿真验证


由于该方法没有经过不同芯片型号的大量的验证,出于严谨需要,我会根据网友反馈不断更新经过验证该方法的单片机型号,因此希望大家移植成功之后反馈你移植的型号,也欢迎对文中错误之处进行指正,以提高文章的可靠性和所述方法的普遍性。

STM32F103ZET6 移植到  STM32F103VBT6   验证可行



点评

你好,我想问下,这两款芯片引脚不同,这个需要移植吗?如何移植?  发表于 2024-7-15 00:06
收藏 评论1 发布时间:2020-9-18 13:55

举报

1个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版