STM32RCT6程序移植到STM32C8T6 ..\..\Libraries\CMSIS\stm32f10x.h(298): error: #67: expected a "}"

  • 如果你编写Keil时遇到 ..\..\Libraries\CMSIS\stm32f10x.h(298): error:  #67: expected a "}"该错误,请往下看!

 

  •  STM32RCT6与STM32C8T6区别

  ST代表意法半导体,其中ARM有三个系列,分别是A、R、M,所以M表示的是这款芯片是M系列的,F是芯片的子系列,然后103代表是增强型系列(101是基本型),C是引脚数,(T-36脚、C-48脚、R-64脚、Z-144脚、E-100脚...) 、然后接下来的字母或者数字代表Flash容量(C-256K、D-348K、E-512K)在之后是封装描述(H表示BGA、T表示LQFP..),最后数字表示芯片的工业级温度范围6表示-40℃~85℃,具体下图所示

 

STM32F103RCT6程序可否使用STM32C8T6程序替换,直接看产品选型说明

STM32F103RCT6:256KB FLASH、6个基本定时器、1 个高级定时器、3 个 SPI、21个 I2C、5 个串口、2个 CAN、51 个通用 IO 口等

STM32F103C8T6:64KB FLASH、4个基本定时器、1 个高级定时器、2个 SPI、2个 I2C、3 个串口、1个 CAN、37 个通用 IO 口等

这两款芯片同属于F103系列,可以完成程序的移植工作,仅需修改少部分具体修改如下所示:

1、首先点击魔法棒

 

 

 

 

2、修改IC为STC32F103C8

                   

                 RCT6                                               C8T6

3、修改晶振为8.0M

     

                 RCT6                                              C8T6

4、修改C/C++宏定义,由STM32F10X_HD,USE_STDPERIPH_DRIVER 改为 STM32F10X_MD,USE_STDPERIPH_DRIVER

      

               RCT6                                                 C8T6

5、替换启动文件,由startup_stm32f10x_hd.s修改为startup_stm32f10x_md.s

           

 

             RCT6                                       C8T6

6、系统初始化时调用 SystemInit();

这一步做完以后才发现,程序好像跑的慢了10来倍,搜索原子论坛有人同样遇到相同的问题,在某位大神的回复中找到了答案,就是第6步:

 

补充关于如何配置stlink

 

 

    

               RCT6                                                 C8T6

参考文章:https://www.cnblogs.com/vonly/p/7411169.html

 

posted @ 2022-05-07 14:54  森是林上木  阅读(1831)  评论(0编辑  收藏  举报