基于正点原子STM32F103ZET6工程文件修改成C8T6工程文件

这篇博客详细介绍了如何在正点原子工程中将STM32F103C8芯片从大容量模式切换到中容量模式。主要步骤包括修改芯片型号、宏定义、启动文件,并提供了时钟配置的建议。此外,还提供了所需文件的来源和修改后的工程文件链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、打开一个正点原子的工程,点击魔术棒

 2、修改芯片型号为STM32F103C8

3、修改宏定义ZET6是大容量产品用的是STM32F10X_HD,C8T6是中容量产品,用的是STM32F10X_MD

3. 更换启动文件
将startup_stm32f10x_hd.s更换为startup_stm32f10x_md.s

 如果CORE文件夹中没有这个startup_stm32f10x_md.s这个文件可以去正点原子资料盘中拷贝,

作者在这里也给大家准备好了

STM32F103中容量芯片启动文件

4、修改系统时钟(如果大家遇到了程序运行变慢了按照此步骤进行修改、没有请忽略。)

把这三行程序取消注释或者在主函数中加上 SystemInit() 函数

 

到这里工程就修改完毕了!

最后附上修改好的工程文件。

STM32F103工程文件

 

 

### 迁移 STM32F103ZET6 工程STM32F103C8T6 的方法 #### 选择合适的启动文件 对于STM32F103C8T6而言,由于其闪存大小为64KB,因此应当选用适用于中等密度器件的启动文件`startup_stm32f10x_md.s`。而原项目基于STM32F103ZET6,该型号拥有更多的资源,通常会采用高密度设备对应的启动代码[startup_stm32f10x_hd.s]。为了适应新的目标板,需更新启动文件至匹配版本[^3]。 #### 修改硬件抽象层 (HAL) 配置 考虑到两种MCU之间存在差异,特别是外设配置方面,原有的初始化设置可能不再适用。应重新评估并调整GPIO、时钟树(Clock Tree Configuration, RCC)以及其他外设的相关参数,确保它们与STM32F103C8T6的具体规格相吻合。这一步骤至关重要,因为不当的配置可能导致系统不稳定甚至无法正常工作[^1]。 #### 更新链接脚本和编译选项 当更换了不同的微控制器后,还需要相应地修改链接器脚本(Linker Script),以反映内存布局的变化;同时也要检查编译工具链中的优化级别和其他构建标志是否适合当前的目标平台。例如,某些针对高性能处理器设计的功能或许并不适用于较低端的产品线员。 #### 测试 FreeRTOS 移植兼容性 如果原有项目集了FreeRTOS实时操作系统,则需要注意两者之间的适配情况。尽管大多数情况下RTOS核心部分可以保持不变,但仍建议仔细审查任务调度策略以及中断处理机制等方面是否存在潜在冲突或性能瓶颈。此外,还需验证所有依赖于特定CPU特性的功能模块能否顺利运行在新平台上[^2]。 #### 调整应用程序逻辑 最后但同样重要的一点是,要全面审视整个软件体系结构,识别那些仅限于旧版MCU特性实现的部分,并寻找替代方案来满足现有条件下的需求。比如,一些高级定时器或者DMA通道的选择可能会有所不同,这就要求开发人员灵活应对这些变化[^4]。 ```c // 示例:检查并修正时钟配置函数 void SystemClock_Config(void){ // 原有 ZET6 版本的配置... // 对 C8T6 进行适当调整后的配置如下所示: __HAL_RCC_HSE_CONFIG(RCC_HSE_ON); HAL_Delay(10); /* Wait till HSE is ready */ } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值