• stm32f103r8t6单片机烧录问题“Flash Time out.”


    问题:

    一、首先看stm32f103r8t6是什么类型的芯片

    根据程序存储容量,ST芯片分为三大类:LD(程序存储容量小于64KB),MD(小于256KB),HD(大于256KB)。

    看芯片的类型很重要,因为要通过芯片的类型去配置烧录,调试的文件和配置。

    通过百度,如下;

    这个片子的的程序存储器容量:64KB,所以r8t6这个片子的类型是MD类型的,你说64KB为啥不是LD型的,那你可以试一试,反正把它看作是MD类型的是可以用的,哈哈哈。

     注意:其他片子用这个方式看类型就行,比如说ZET6、RCT6都是HD类型的

    二、根据片子类型配置启动文件

    启动文件在CORE文件夹中

    这里需要对startup_stm32f10x_md.s进行配置,看见这个启动文件是_md.s结尾的就是对了。如果不是这个_md.s文件,可能是_hd.s文件那就需要进行更改了。

    更改方式如下:

    1.先移除

    右键startup_stm32f10x_**.s

     选择remove

    2.再双击CORE文件夹进行添加

     

    选择自己打开工程文件的CORE目录,文件类型选择.s文件,可以看见两种类型启动文件,这就是不同类型片子的启动文件,自己进行选择就可以了。

    如果没有这俩文件,或者没有自己需要的,就只能在自己去找了,然后在放在这个目录中,再添加。

    三、点击魔法棒进行配置

     1.选择自己的芯片类型

    2.进行Define设置

    如果片子是MD类型的就是STM32F10X_MD,USE_STDPERIPH_DRIVER,如果片子是HD类型的就是STM32F10X_HD,USE_STDPERIPH_DRIVER 。

    又一次可以看出,明确自己板子类型的重要性。

    3.Debug调试选择

    用什么调试就选什么就好了,不过最好第一烧录用J-LINK,然后去Seting里面看看驱动和配置是否正常。

     4.根据类型选择Flash的大小

     可以看出Med-density就是对应的MD类型的片子,如果其它类型的芯片可以点击add进行操作。

    如果没有对应的Flash,就只能自己添加了,我的另一篇文章有说怎样添加的。

    四、结束

    然后进行程序烧录、移植就可以了。

     

     

     

     

     

  • 相关阅读:
    Vue3和Elment-Plus
    Flutter flutter.minSdkVersion的实际文件位置
    Spring 如何实现一个CGLlB动态代理呢?
    CV计算机视觉每日开源代码Paper with code速览-2023.10.11
    「移动端」mescroll.js 在 H5端 运行的下拉刷新和上拉加载插件
    11.进程的同步与互斥
    UE4碰撞射线检测2
    Objective-C的初始化方法中,应该如何读写属性
    [EECS][Design Lab 3][All Carrot, No Stick] 实现目标线性轨迹运动 实现状态机的级联 距离控制实现避障
    聊聊spring的TransactionSynchronizationAdapter
  • 原文地址:https://blog.csdn.net/m0_46171719/article/details/126305518