沁恒微电子 CH32F20系列寄存器开发:一、工程目录创建

本文以CH32F208WBU6为例,其他的和这类似。

一、STM32工程目录分析

1.1 STM32工程模板文件结构

下图为STM32F103x的工程目录,以正点原子文件为例。

STM32工程目录---正点原子

  • CORE:核心——>存放与内核有关的文件
  • OBJ:Object的缩写,用来存放 编译过程的bin文件和hex文件,比如map文件也在这。有时候用build或者output命名
  • STM32F10x_FWLib:顾名思义STM32F10系列的文件库,用来存放ST官方提供的外设配置的相关文件
  • SYSTEM:在这存放的是软件层面用户编写的函数比如delay.c,uart.c等等与HARDWARE相对应
  • HARDWARE:存放硬件外设用户编写的函数
  • USER:存放main函数

1.2 文件夹内文件分析

CORE:

CORE内的文件

  • core_cm3.c/h:是CMSIS的core文件,也就是芯片内核文件,该文件定义了cortex-M3内核层面的地址
  • startup_stm32f10x_hd.s:该文件是芯片的启动文件,通过汇编语言调用了上电复位中断,以及main函数等。其中hd/md代表芯片的性能,到底用哪个可以在下面的stm32f10x.h文件中查看

STM32F10x_FWLib:
部分截图
​ 该文件包含了该芯片相关的外设配置函数,里面都是st官方封装好的库函数,如果是寄存器开发这不需要这些文件,这些文件可以一次全放进去也可以用什么放什么。包括.c和.h。其中misc这个文件翻译为混合文件,打开可以看出其主要是与NVIC和systick相关的,所以这个文件需要添加进去。

USER:

  • main:不用多说

  • stm32f10x_conf.h这个文件导入了所有的外设的库函数的头文件,以后用的时候不用我们在main函数里面一个一个添加头文件。所以如果我们库文件没全部添加需要在这注释掉哪些没有添加的文件

  • stm32f10x_it这个文件定义了一些中断例如:硬件故障中断,滴答定时器中断,总线忙中断。所以也是必要的文件。

  • system_stm32f10x这个文件是与系统时钟有关的,这里面定义了系统的主频选择

  • stm32f10x.h这个就是我们在main调用的那个头文件,其声明了这款芯片的所有外设的寄存器地址。而且它还调用了前面提到的core_cm3.h,system_stm32f10x.h以及stm32f10x_conf.h。

    截至到现在我们总结一下其整个目录结构,图源:b站:江协科技
    在这里插入图片描述
    所以我们要创建一个CORE文件存放内核和启动文件,这些文件是芯片底层相关的;还需要一个文件夹存放官方提供的库可以命名为platform,然后一个文件夹OBJ存放编译中间生成的文件和hex文件,USER存放我们的main函数和一些启动需要但是是芯片厂商封装的文件,最后建立一个HARDWARE文件夹用来存放我们编写好的外应用动库。


二、沁恒官方文件移植

2.1 文件夹介绍

​ 官网下载其代码例程以后会有一个官方测试板的文件夹,里面EXAM存放例程相关文件,PUB存放包和原理图。找到EXAM中的SRC文件夹,里面包含了所有工程相关的文件。
在这里插入图片描述

2.2 pack包安装

pack包在PUB文件夹中,双击安装即可。

2.3 工程移植

​ 首先我们先创建好自己的文件夹,命名为Project

在这里插入图片描述

然后找到官方的SRC文件夹:

CORE文件夹:

  1. 打开CMSIS文件夹,把core_m3的c文件和h文件复制到CORE文件夹。 (这一步可以省略直接使用keil提供的最新的CMSIS文件)
  2. 打开Startup文件夹,然后一个一个点开这些文件,里面会有该文件适配的开发板型号,将对应的文件复制到CORE文件夹内
    在这里插入图片描述
  3. 此时CORE文件夹内应该是三个文件或者只有一个启动文件(因为那两个core文件不需要)

Platform文件夹:

  1. 创建一个INC一个SRC文件夹,用来存放.c和.h文件。
  2. 打开StdPeriphDriver文件夹,把其所有的src和inc对应复制到自己创建好的文件夹内(推荐),也可以用哪些复制哪些(misc必须复制)

USER文件夹

  1. 此时需要打开EXAM文件夹下任意一个外设的工程文件,然后复制出这些文件:ch32f20x_conf–ch32f20x_it.c/.h–system_ch32f20x.c/.h和main.c文件。一共六个文件
  2. 在这里插入图片描述

到此文件全部准备完毕,打开keil创建工程


三、MDK工程建立

3.1 工程建立

keil创建新的工程,把工程放到user文件夹里面或者自己单独创建一共文件夹存放也可以,然后一路默认,什么都不选。

  1. 创建工程文件:STARTUP:存放启动文件;CORE:存放内核文件(前面没有添加的这里不用创建);Platform:添加刚才其目录下面所有的文件(src就可以,inc随便),HARDWARE暂时没有文件不添加;USER添加所有文件(src就可以,inc随便)
    在这里插入图片描述

  2. 添加头文件:把文件夹里面有.h的文件夹全部添加进去
    在这里插入图片描述
    创建后的界面:
    在这里插入图片描述

!!!!重点来了!!!!

1.现在编译回报错,且错误与core_m3这个文件有关。

原因:大概就是core_m3文件版本太低,而且现在st官方也不维护,所有会出错。 解决办法:把core_m3.c和.h全部删掉(从工程中删掉),采用最新的文件。 在这里插入图片描述 重新编译即可 在这里插入图片描述

3.2 烧录下载

烧录可以用jlink也可以用沁恒官方的WCH-LINKE,烧录可能遇到下图报错

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值