当前位置: 首页 > wzjs >正文

深圳做网站(信科网络)广州新闻发布

深圳做网站(信科网络),广州新闻发布,建设工程部网站,青岛城阳网站制作文章目录 前言一、相同点内核与主频基础外设开发环境 二、不同点1. 存储容量2. 外设资源3. 封装与引脚 三、代码移植注意事项1. 内存与 Flash 限制Flash差异RAM调整 2. 外设差异外设缺失:GPIO 映射: 3. 中断向量表中断向量偏移 4. 时钟与总线配置APB分频…

文章目录

  • 前言
  • 一、相同点
    • 内核与主频
    • 基础外设
    • 开发环境
  • 二、不同点
    • 1. 存储容量
    • 2. 外设资源
    • 3. 封装与引脚
  • 三、代码移植注意事项
    • 1. 内存与 Flash 限制
      • Flash差异
      • RAM调整
    • 2. 外设差异
      • 外设缺失:
      • GPIO 映射:
    • 3. 中断向量表
      • 中断向量偏移
    • 4. 时钟与总线配置
      • APB分频器
    • 5. 启动文件与链接脚本
      • 启动文件选择:
      • 链接脚本修改
    • 6. 库函数与宏定义
      • 设备宏定义:
      • 外设使能宏
  • 四、移植步骤示例
    • 更换启动文件
    • 修改设备宏
    • 调整链接脚本
    • 检查外设代码
    • 验证GPIO配置
  • 五、总结
    • 兼容性
    • 调试工具
    • 官方文档


前言

STM32F103C8T6 和 STM32F103RC6 同属 STM32F103 系列,基于 ARM Cortex-M3 内核,但在资源、封装和外设上存在差异。


一、相同点

内核与主频

均采用 ARM Cortex-M3 核心,最高主频 72 MHz
指令集中断控制器(NVIC)系统时钟配置(SYSCLK)完全兼容。

基础外设

支持通用外设:GPIOADC(12 位)定时器(TIM)USARTSPII2C 等。

使用相同的标准外设库(如 STM32 Standard Peripheral Library)或 HAL 库开发

开发环境

支持 Keil MDKIARSTM32CubeIDE 等工具链,代码框架一致。

二、不同点

1. 存储容量

型号 Flash RAM
STM32F103C8T6 64 KB 20 KB
STM32F103RC6 256 KB 48 KB

2. 外设资源

外设 STM32F103C8T6 STM32F103RC6
GPIO 数量 37 个 51 个
定时器 (TIM) 3 个通用定时器 4 个通用定时器 + 2 高级定时器
USART 3 个 5 个
SPI/I2C 2 个 SPI / 2 个 I2C 3 个 SPI / 2 个 I2C
USB/CAN 不支持 支持 USB 2.0 和 CAN
DMA 通道 7 通道 12 通道

3. 封装与引脚

型号 封装类型 引脚数
STM32F103C8T6 LQFP48 48
STM32F103RC6 LQFP64 64

三、代码移植注意事项

1. 内存与 Flash 限制

Flash差异

Flash 差异:若从 C8T6 移植到 RC6,需确保代码未超过原 64 KB 限制;反向移植时需检查代码是否超过 RC6 的 256 KB。

RAM调整

RAM 调整:动态内存分配(如堆栈大小)需根据目标芯片调整(startup_stm32f10x_xx.s 启动文件中需修改堆栈配置)。

2. 外设差异

外设缺失:

C8T6 无 USB/CAN,若代码中使用了这些外设,移植到 C8T6 需删除相关代码通过宏定义隔离

RC6 的**额外定时器(如 TIM4、TIM5)**或 USART4/USART5 需重新配置。

GPIO 映射:

因引脚数量不同,需检查硬件连接是否与目标芯片的 GPIO 引脚兼容(如 RC6 的 PB8 可能对应 C8T6 未引出的引脚)。

3. 中断向量表

中断向量偏移

中断向量偏移:Flash 容量不同可能导致中断向量表地址偏移,需在代码中确认 VECT_TAB_OFFSET 设置(通过 SystemInit() 函数或链接脚本调整)。

4. 时钟与总线配置

APB分频器

APB 分频器:若代码涉及 APB1/APB2 总线时钟分频,需确保目标芯片支持相同配置(通常无差异,但需验证)。

5. 启动文件与链接脚本

启动文件选择:

C8T6 使用 startup_stm32f10x_md.s(中等容量)
RC6 使用 startup_stm32f10x_hd.s(大容量)
需在工程中更换对应的启动文件。

链接脚本修改

链接脚本修改:调整 Flash 和 RAM 的地址范围(如 STM32F103C8T6_FLASH.ld 和 STM32F103RC6_FLASH.ld)。

6. 库函数与宏定义

设备宏定义:

在 stm32f10x.h 中需修改设备宏,例如:

// 对于 C8T6
#define STM32F10X_MD
// 对于 RC6
#define STM32F10X_HD

外设使能宏

外设使能宏:若使用 USB/CAN,需在 stm32f10x_conf.h 中开启 USE_USB_FSUSE_CAN

四、移植步骤示例

更换启动文件

更换启动文件:根据目标芯片选择 startup_stm32f10x_md.s 或 hd.s。

修改设备宏

修改设备宏:在编译器预定义宏中设置 STM32F10X_MD 或 STM32F10X_HD。

调整链接脚本

调整链接脚本:更新 Flash 和 RAM 的起始地址及大小。

检查外设代码

检查外设代码:删除或隔离目标芯片不支持的外设(如 USB/CAN)。

验证GPIO配置

验证 GPIO 配置:根据硬件原理图重新映射引脚

五、总结

兼容性

兼容性:基础功能代码(如 GPIO、USART)可无缝移植,但需注意外设和引脚差异

调试工具

调试工具:建议使用 ST-Link 配合 STM32CubeMX 快速验证引脚配置和时钟树

官方文档

官方文档:参考 **STM32F103xx 数据手册(DS5319)参考手册(RM0008)**获取详细差异信息。

通过以上步骤,可高效完成两款芯片间的代码移植,同时避免硬件资源不匹配问题。


http://www.dtcms.com/wzjs/264161.html

相关文章:

  • wordpress插件dflip云巅seo
  • 国外做饮料视频网站整合营销包括哪些内容
  • 怎么做自己的网站弄商城佣金百度网站排名查询工具
  • 高端设计网站平台平台推广方式有哪些
  • 网站宣传夸大处罚seo做的比较好的公司
  • 健身器材 网站模版挖掘关键词爱站网
  • 网页设计作业怎么做网站百度推广个人怎么开户
  • 中建西部建设北方有限公司网站搜索引擎营销优化诊断训练
  • 创做网站百度指数大数据
  • 东莞专业做网站公司南京seo网络推广
  • 网站推广公司哎奶茶上海seo网站排名优化公司
  • 页面无法设置wordpressseo每日
  • 如何知道网站用什么程序做的东莞建设企业网站
  • 文明网站的建设与管理几点思考无人区在线观看高清1080
  • 网站做闪电电磁黑帽seo教程
  • 商城小程序方案seoul national university
  • 网站建设方案模板下载站长之家seo综合
  • 保险公司十大排名windows优化大师自动安装
  • 网站开发模式有什么品牌推广活动策划案例
  • 网站开发第三方登录设计刷关键词排名
  • 做专题页的网站百度搜索网页版
  • 网站建设做的好处百度推广客户端手机版
  • 找人做网站属于了解些什么呢网站的宣传与推广
  • 英德市住房和城乡建设局网站百度seo排名点击器app
  • 广东住房和城乡建设厅网站首页优化设计三年级下册数学答案
  • 企业宣传网站公司品牌营销策划包括哪些内容
  • 专业优定软件网站建设巨量引擎app
  • 宁波网站建设网站百度客服在哪里找
  • 委托他人做公司网站的税率百度seo推广首选帝搜软件
  • 帮助中心网站怎么做海外推广解决方案