OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 13069|回复: 14

[开发板通用] 【工程移植】将战舰(stm32F103ZET6)的程序移植到STM32F103C8T6上

[复制链接]

35

主题

560

帖子

2

精华

资深版主

Rank: 8Rank: 8

积分
17657
金钱
17657
注册时间
2018-3-3
在线时间
523 小时
发表于 2019-3-14 16:30:58 | 显示全部楼层 |阅读模式
本帖最后由 Psheng 于 2019-3-21 16:33 编辑

http://www.openedv.com/forum.php?mod=viewthread&tid=289455

准备好战舰5个串口的程序。

移植注意要点:
  1. 要注意更换芯片的启动文件和全局宏定义
             11111111111111111111.png
             从开发指南可以看到战舰属于大容量产品使用的是startup_stm32f10x_md.s启动文件
            而103C8T6是属于中容量的,所以启动文件要替换为startup_stm32f10x_md.s。
                11111111111111111111.png       
              这个工程的全局宏定义也要从HD变成MD的。     
   2. 要注意看数据手册的引脚功能说明
           在战舰的芯片手册中看到是有5个串口的,而c8t6只有3个串口。所以本次只能移植3个串口的程序过来。
            11111111111111111111.png
                                   图 2.1 c8t6数据手册

3.要注意板子外设
           因为战舰的程序中是有LED和按键初始化的,而我c8t6的板子没有按键 且LED的IO控制口和战舰的不一样,
             所以只能删掉按键和LED的初始化程序。

4.要注意更换芯片型号和对应的算法
           
             11111111111111111111.png                        可以看到芯片选择ZET6后   在FLASH烧写算法里选择的是512KB的。
           
             11111111111111111111.png
             要将芯片选择为c8t6的,这个时候换成c8的算法(一般芯片选完后  点击add添加 第一个就是的)
方案一:准备好一个C8T6的工程  将代码移植到这个工程
    该方法比较简单,因为有了C8t6的工程后,这些工程文件和配置都是适合c8的板子的,我们直接移植驱动代码过来就行了。只用注意 2和3就行了。。
方案二:将ZET6的工程改成C8T6
需要将整个工程修改过来,以下4个点都是要注意的
    1. 要更换芯片的启动文件和全局宏定义
    2. 要注意看数据手册的引脚功能说明
    3.要注意板子外设
    4.要注意更换芯片型号和对应的算法 c8t6_3个串口.rar (2.46 MB, 下载次数: 1159)
/*
*
*
*
*
*
*/
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

头像被屏蔽

0

主题

207

帖子

0

精华

禁止发言

积分
276
金钱
276
注册时间
2019-3-4
在线时间
4 小时
发表于 2019-3-15 08:16:58 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

57

主题

1680

帖子

3

精华

资深版主

Rank: 8Rank: 8

积分
4306
金钱
4306
注册时间
2018-6-30
在线时间
808 小时
发表于 2019-3-16 18:30:49 | 显示全部楼层
遇到编译出错,keil中在C/C++选项卡中,把STM32F10X_HD删掉
业精于勤荒于嬉;行成于思毁于随!
回复 支持 反对

使用道具 举报

10

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
143
金钱
143
注册时间
2019-1-16
在线时间
24 小时
发表于 2019-3-16 18:53:22 | 显示全部楼层
搜索一下预定义名称,在stm32f10x.h文件中发现如下注释描述。
预定义的地方也要相应修改,比如:f107级联型设备,要把预定义改为STM32F10X_CL。

#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD) && !defined (STM32F10X_HD_VL) && !defined (STM32F10X_XL) && !defined (STM32F10X_CL)
  /* #define STM32F10X_LD */     /*!< STM32F10X_LD: STM32 Low density devices */
  /* #define STM32F10X_LD_VL */  /*!< STM32F10X_LD_VL: STM32 Low density Value Line devices */  
  /* #define STM32F10X_MD */     /*!< STM32F10X_MD: STM32 Medium density devices */
  /* #define STM32F10X_MD_VL */  /*!< STM32F10X_MD_VL: STM32 Medium density Value Line devices */  
  /* #define STM32F10X_HD */     /*!< STM32F10X_HD: STM32 High density devices */
  /* #define STM32F10X_HD_VL */  /*!< STM32F10X_HD_VL: STM32 High density value line devices */  
  /* #define STM32F10X_XL */     /*!< STM32F10X_XL: STM32 XL-density devices */
  /* #define STM32F10X_CL */     /*!< STM32F10X_CL: STM32 Connectivity line devices */
#endif
/*  Tip: To avoid modifying this file each time you need to switch between these
        devices, you can define the device in your toolchain compiler preprocessor.

- Low-density devices are STM32F101xx, STM32F102xx and STM32F103xx microcontrollers
   where the Flash memory density ranges between 16 and 32 Kbytes.
- Low-density value line devices are STM32F100xx microcontrollers where the Flash
   memory density ranges between 16 and 32 Kbytes.
- Medium-density devices are STM32F101xx, STM32F102xx and STM32F103xx microcontrollers
   where the Flash memory density ranges between 64 and 128 Kbytes.
- Medium-density value line devices are STM32F100xx microcontrollers where the
   Flash memory density ranges between 64 and 128 Kbytes.   
- High-density devices are STM32F101xx and STM32F103xx microcontrollers where
   the Flash memory density ranges between 256 and 512 Kbytes.
- High-density value line devices are STM32F100xx microcontrollers where the
   Flash memory density ranges between 256 and 512 Kbytes.   
- XL-density devices are STM32F101xx and STM32F103xx microcontrollers where
   the Flash memory density ranges between 512 and 1024 Kbytes.
- Connectivity line devices are STM32F105xx and STM32F107xx microcontrollers.
  */
回复 支持 反对

使用道具 举报

8

主题

44

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
206
金钱
206
注册时间
2017-11-24
在线时间
43 小时
发表于 2019-4-8 19:36:59 | 显示全部楼层
很棒啊!!正找这个方法
回复 支持 反对

使用道具 举报

15

主题

512

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3154
金钱
3154
注册时间
2016-1-14
在线时间
367 小时
发表于 2019-5-9 22:16:19 | 显示全部楼层
感谢分享!!
回复 支持 反对

使用道具 举报

0

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
163
金钱
163
注册时间
2017-6-14
在线时间
23 小时
发表于 2019-5-15 11:18:08 | 显示全部楼层
为什么移植过后我的延时函数delay_ms会不准
回复 支持 反对

使用道具 举报

15

主题

137

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1427
金钱
1427
注册时间
2019-4-22
在线时间
272 小时
发表于 2019-9-30 21:32:44 来自手机 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2019-1-2
在线时间
31 小时
发表于 2019-11-17 21:37:12 | 显示全部楼层
楼主确实很有爱心啊!
回复 支持 反对

使用道具 举报

0

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2019-6-14
在线时间
43 小时
发表于 2020-1-3 09:33:39 | 显示全部楼层
谢谢您的分享
回复 支持 反对

使用道具 举报

3

主题

41

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
293
金钱
293
注册时间
2019-6-29
在线时间
90 小时
发表于 2020-3-26 17:47:11 | 显示全部楼层
多谢楼主的分享
道生一,一生二,二生三,三生万物
回复 支持 反对

使用道具 举报

0

主题

48

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2018-4-4
在线时间
74 小时
发表于 2020-6-13 21:08:32 | 显示全部楼层
谢谢分享,最近正好需要,太感激了
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2020-11-26
在线时间
1 小时
发表于 2020-12-14 11:12:32 来自手机 | 显示全部楼层
感谢分享!非常有帮助
回复 支持 反对

使用道具 举报

0

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
177
金钱
177
注册时间
2021-4-7
在线时间
61 小时
发表于 2021-7-28 09:40:35 | 显示全部楼层
111111111111
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

新手入门

积分
3
金钱
3
注册时间
2021-7-30
在线时间
1 小时
发表于 2021-7-30 14:21:25 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 22:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表