stm32f103zet6跟c8t6有什么区别 |
您所在的位置:网站首页 › stm32f103c6与stmf103c8t6有什么区别 › stm32f103zet6跟c8t6有什么区别 |
STM32F103ZET6和C8T6程序移植过程中的问题 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、解决报错问题1.改变芯片型号2.替换启动文件3.更改宏定义 二、下载问题 前言今天发现一个很有意思的事,之前写的C8T6上的程序在战舰开发板(ZET6)上一点问题没有,仅仅只需要改一下芯片的选型,而使用C8T6上的程序移植到ZET6只改变芯片的信号却是会报错,而且不能下载,在网上搜了搜,看到有的博主说是STM32芯片是向下兼容,即大容量ZET6兼容中容量C8T6,而C8T6改成ZET6却是需要进行下面一些操作。 一、解决报错问题如果只更改芯片型号的话将会出现12个error,12个warning,大概情况会是这样。 想要解决这个问题,不仅仅需要改变芯片型号,还需要将启动文件改成中容量芯片启动文件,然后添加进来,之后把宏定义改成中容量宏定义,之后配置Programming Algorithm(可有可无,因为你在选择芯片型号的时候这个地方会自动更改),具体操作过程如下: 1.改变芯片型号魔法棒->Device,将STM32F103ZE改成STM32F103C8 这个时候,魔法棒->Utilities-setings->Programming Algorithm中的配置会自动更改成相对应的容量大小的。 2.替换启动文件将高容量芯片的启动文件改成中容量启动文件,即CORE文件夹下的 startup_stm32f10x_hd.s替换成与c8t6相对应的启动文件startup_stm32f10x_md.s。文件所在位置,STM32F1xx固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm文件夹下。 替换之后需要在MDK中也要换掉,将原来的startup_stm32f10x_hd.s remove掉,然后添加上startup_stm32f10x_md.s,过程就是点击魔法棒右边的那个图标,管理CORE文件夹下的startup_stm32f10x_hd.s ,删除之后,点add添加我们原来从固件库复制过来的startup_stm32f10x_md.s。这里要注意的是选择文件时要把文件类型改成AllFiles,不然就看不到startup_stm32f10x_md.s。 最终替换成功之后应该是这样 3.更改宏定义魔法棒->C++中STM32F10X_HD,USE_STDPERIPH_DRIVER,改成STM32F10X_MD,USE_STDPERIPH_DRIVER,如图所示 最终编译效果如下图 二、下载问题虽然编译没有问题,但是下载程序时还是会出现 这个时候,你就有可能选择芯片类型的时候没有点ok,去检查一下这魔法棒->Utilities-setings->Programming Algorithm中的配置会自动更改成相对应的容量大小的,我之前说可有可无的地方,看是否对应的中容量 如果全部完成了的话,应该就可以下载到c8t6单片机中了,如果想要再下回到zet6中,就只需要更改一下之前那个芯片选择即可。 最终的效果如图所示, |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |