STM32环境开发配置

一、CMSIS

        为了将所有Cortex-M芯片供应商产品的软件接口标准化,ARM公司发布了ARM Cortex-M 微控制器软件接口标准(Cortex Microcontroller Software Interface Standard,CMSIS)

CMSIS软件架构由4层构成:用户应用层、操作系统及中间件接口层、CMSIS层、硬件层

CMSIS层主要包括以下3层

(1)核内外设访问层(Core Peripheral Access Layer,CPAL):由ARM公司实现,包括命名定义、地址定义、存取内核寄存器和外围设备的协助函数,同时定义了一个与设备无关的RTOS内核接口函数

(2)中间件访问层(Middleware Access Layer,MWAL):ARM公司实现,芯片厂商负责更新,主要负责定义中间件访问的应用程序编程接口API(Application Programming Interface)函数,如TCP/IP协议栈、USB等协议

(3)设备外设访问层(Device Peripheral  Access Layer,CPAL):芯片厂商实现,负责对硬件寄存器地址及外设接口进行定义,另外,还会对异常向量进行拓展

二、标准库

Libraries文件夹由CMSIS和STM32F10x_StdPeriph_Deiver组成

(1)core_3.c和core_3.h:访问核内外设访问层(CPAL),为采用Cortex-M3内核的芯片外设提供进入M3内核的接口

(2)stm32f10x.h:设备外设访问层(DPAL),包含了外设寄存器的定义、位定义、中断向量表、存储空间的地址映射

(3)system_stm32f10x.c和system_stm32f10x.h:设备外设访问层的源文件和头文件,包含了两个函数和一个全局变量。

函数SystemInit()用来初始化系统时钟,启动文件在完成复位后跳转到main()之前调用该函数

函数SystemCoreClock()用来更新系统时钟,当系统内核时钟变化后必须执行该函数进行更新

全局变量SystemCoreClock包含了内核时钟(HCLK),方便用户在程序中设置SysTick定时器和其他参数

(4)startup_stm32f10x_X.s:汇编语言实现的启动文件,上电复位后首先运行的一段汇编程序

作用:设置初始堆栈指针SP;设置程序计数器PC为复位向量,并在执行main()函数之前调用SystemInit()函数初始化系统时钟;设置向量表入口为异常事件的入口地址;复位后处理器为线程模式,优先级为特权级,堆栈设置为MSP主堆栈

(5)stm32f10x_ppp.c和stm32f10x_ppp.h:外设驱动文件

ppp表示任一外设的缩写

(6)misc.c和misc.h:提供了外设对内核中的嵌套向量中断控制器NVIC的访问函数

这些文件对应到CMSIS标准架构上,如图所示:

                           

在使用标准库开发过程中,把位于CMSIS层的文件中添加到工程中不用修改,用户只需根据需要修改

注:

1.stm32f10x_it.c和stm32f10x_it.h:用来编写中断服务函数,其中已经定义了一些系统异常的接口,中断服务函数的接口(函数名)在启动文件中已经写好

2.stm32f10x_conf.h文件被包含进stm32f10x.h文件中,用来配置使用了哪些外设的头文件,用这个头文件可以方便的增加和删除外设驱动函数

三、配置环境

在工程中建立3个文件夹,分别为System、Libary、User

System:启动文件(startup_stm32f10x_md.s)、核内外设访问层文件(core_3.c和core_3.h)、设备外设访问层(system_stm32f10x.c和system_stm32f10x.h)以及外设寄存器描述文件(stm32f10x.h)

Libary:各个外设驱动的源文件和头文件

User:main.c、stm32f10x_it.c和stm32f10x_it.h、stm32f10x_conf.h

        将上述文件添加到工程后,还需要点击魔法棒,设置C/C++选项,在Define选项卡中加入两个重要的宏,一个宏是USE_STDPERIPH_DRIVER(使用标准外设库,也可以在stm32f10x.h文件的末尾找到),另一个是STM32F10X_MD(指明CPU的容量)。之后,还要确定和工程有关的头文件的路径

        至此,开发环境已经配置成功,可以进行对STM32F103C8T6芯片的开发

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
配置CLion开发环境来进行STM32开发之前,首先需要准备好以下几个步骤: 1. 安装CLion: 首先,你需要下载并安装最新版本的CLion集成开发环境。 2. 安装插件:为了支持STM32开发,你需要在CLion中安装STM32插件。可以在CLion的插件市场中搜索并安装适合你的STM32插件。 3. 安装编译工具链:在进行STM32开发时,你需要安装适合的编译工具链。可以选择GNU ARM Embedded Toolchain作为编译工具链。你可以从其官方网站下载适合你操作系统的编译工具链,并按照它们的安装说明进行安装。 4. 配置编译器路径:在CLion中配置编译器路径,以便CLion可以调用编译工具链来编译和构建STM32项目。你可以在CLion的设置中找到“Build, Execution, Deployment”选项,然后在“Toolchains”选项卡中配置编译器路径。 5. 创建STM32项目:在CLion中创建一个新的STM32项目。你可以选择使用STM32CubeMX来生成初始化代码,并将其导入到CLion项目中。或者,你也可以手动创建一个空白项目,并添加所需的STM32驱动文件和库。 6. 编写代码和调试:在CLion中编写你的STM32代码,并使用调试工具来调试你的代码。你可以配置调试器来连接到你的STM32开发板,并使用CLion的调试功能来监视和调试代码的执行。 请注意,以上步骤仅为一般指导,具体的配置步骤可能会因为不同的STM32开发板和工具链而有所不同。建议你参考相关的文档和资源,以获得更详细的指导和指令。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [[ESP32][环境配置]Clion配置ESP-IDF开发环境,支持编译下载和menucofig](https://blog.csdn.net/qq_38844263/article/details/123989779)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值