stm工程文件夹

STM32工程文件构成

        从下图可以看出我们的工程目录是由CORE、OBJ、STM32F10x_FWLib、USER、SYSTEM以及HARDWARE文件夹组成的。此外还有一个文本文档README.TXT、以及一个Windows 批处理文件 (.bat)keilkilll.bat。

 

1、CORE文件夹 

   CORE文件夹下一共有三个文件,它们分别是core_cm3.c、core_cm3.h以及startup_stm32f10x_hd.s。

        Core_cm3.c解析 STM32从3.0库开始引入了CMSIS,CMSIS是Cortex微控制器软件接口标准(Cortex  MicroController  Software  Interface  Standard)的缩写,这个是ARM定制的一个用于Cortex-M系列的一个标准,主要是为了提供通用api接口来访问内核和一些片上外设,提高代码的可移植性。

        core_cm3.h这个包含的是一些ARM CORTEX-M3内核相关的函数和宏定义,例如核内寄存器定义、部分核内外设的地址等等,其对应的是core_cm3.c文件。

        startup_stm32f10x_hd.s 是一个启动文件,里面是使用汇编语言写好的基本程序,当STM32 芯片上电启动的时候,受限会执行这里的汇编程序,从而建立起来C 语言的运行环境,所以我们把这个文件称为启动文件。

2、HARDWARE文件夹

 

 

 

        HARDWARE 文件夹下面存放的是每个实验的外设驱动代码,他的实现是通过调用 FWLib 下面的固件库文件实现的,比如 led.c 里面调用 stm32f10x_gpio.c 里面的函数对 led 进行 初始化,这里面的函数是重点。在后续的实验中可以看到会引入多个源文件。

3、OBJ文件夹

 

 

         OBJ :是用来存放编译过程文件以及hex 文件。

4、STM32F10x_FWLib文件夹

 

 

 

 

 

 

        STM32F10x_FWLib文件夹下面一共有两个子文件夹,它们分别是inc和src,是ST标准库的主要内容。

        inc是include的缩写,是标准库外设的头文件,里面的文件类型都是C/C++ Header File (.h)。

        src是source的缩写,是标准库外设的源文件,里面的文件类型都是C Source File (.c)。

        inc和src这两个文件夹是属于CMSIS之外的,属于芯片片上外设部分。在 src 和 inc 文件夹里的就是 ST 公司针对每个 STM32 外设而编写的库函数文件,每个外设对应 一个.c 和.h 后缀的文件。我们把这类外设文件统称为:stm32f10x_xxx.c 或 stm32f10x_xxx.h 文件xxx 表示外设名称。

 

 

        值得一提的是:这两个文件夹中,还有一个很特别的 misc.c 文件,这个文件提供了外设对内核中的 NVIC(中断向量控制器) 的访问函数,在配置中断时,我们必须把这个文件添加到工程中。

5、SYSTEM文件夹

 

 

 

 

 

 

 

 

        SYSTEM文件夹中一个包含着三个子文件夹,它们分别是delay、sys、usart。每个子文件夹下又分别包括一个C/C++ Header File (.h)和一个C Source File (.c)。

        delay文件夹下有一个delay.c和一个delay.h,这两个文件夹是配置Systick 延时函数的两个文件夹。

        sys文件夹下有一个sys.c和一个sys.h,这两个文件夹是配置IO 口位带操作的两个文件夹。

        usart文件夹下有一个usart.c和一个usart.h,这两个文件夹是配置串口相关函数的两个文件夹。

6、USER文件夹

 

 

        USER文件夹包含着许多不同类型的文件, USER 下面存放的主要是用户代码,

        system_stm32f10x.c文件里面主要是系统时钟初始化函数SystemInit 相关的定义,一般情况下文件用户不需要修改。

        stm32f10x_it.c 文件里面存放的是部分中断服务函数.

        main.c文件主要存放的是主函数。

        礦ision5 Project (.uvprojx)文件一般是用来打开工程的文件。其他的杂文件是编译器编译工程后生成的文件。

7、文本文档README.TXT

        README 分组主要就是添加了 README.TXT 说明文件,对实验操作进行相关说明。

8、Windows 批处理文件 (.bat)keilkilll.bat

       在Keil中编译工程时,会生成很多过程文件,工程文件夹就会变得很大,当复制此工程时,就会不方便。一般的过程文件后缀为:.o  .d  .crf  .htm  .dep  .lnp  .axf  .sct等。

      于是可以用记事本输入下面内容:

 

  1. del *.bak /s
  2. del *.ddk /s
  3. del *.edk /s
  4. del *.lst /s
  5. del *.lnp /s
  6. del *.mpf /s
  7. del *.mpj /s
  8. del *.obj /s
  9. del *.omf /s
  10. ::del *.opt /s ::不允许删除JLINK的设置
  11. del *.plg /s
  12. del *.rpt /s
  13. del *.tmp /s
  14. del *.__i /s
  15. del *.crf /s
  16. del *.o /s
  17. del *.d /s
  18. del *.axf /s
  19. del *.tra /s
  20. del *.dep /s
  21. del JLinkLog.txt /s
  22. del *.iex /s
  23. del *.htm /s
  24. del *.sct /s
  25. del *.map /s
  26. exit

        保存为 keilkilll.bat,后缀名为.bat。放在工程根目录下。要复制工程时,双击执行它,就会自动把上述的过程文件删除,让工程文件夹最小。

 

 

        keilkilll.bat就是调用windows的del命令删除文件而已,“/s”代表子目录中的也要删除。

 

跑马灯实验目录结构 

                                                                 跑马灯实验目录结构

 

 

总结:

        USER:存放工程文件、主函数文件 main.c,以及其他包括system_stm32f10x.c等。

        CORE :用来存放核心文件和启动文件。

        OBJ :是用来存放编译过程文件以及hex 文件。

        STM32F10x_FWLib :用来存放 ST 官方提供的库函数源码文件。

        SYSTEM:此文件夹里面的代码由 ALIENTEK 提供,是STM32F10x 系列的底层核心驱动函数,可以用在 STM32F10x 系列的各个型号上面,方便大家快速构建自己的工程。

        HARDWARE:存放我们其他硬件的代码。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1379710.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

STL文件及其读取

1引言 STL(Stereo lithographic)文件格式是美国3D SYSTEMS公司提出的三维实体造型系统的一个接口标准,其接口格式规范。采用三角形面片离散地近似表示三维模型,目前已被工业界认为是快速成形(rapid prototypi ng)领域的标准描述文件格式。在逆向工程、有…

Python-OpenCV中的图像处理-直方图

Python-OpenCV中的图像处理-直方图 直方图统计直方图绘制直方图Matplotlib绘制灰度直方图Matplotlib绘制RGB直方图 使用掩膜统计直方图直方图均衡化Numpy图像直方图均衡化OpenCV中的直方图均衡化CLAHE 有限对比适应性直方图均衡化 2D直方图OpenCV中的2D直方图Numpy中2D直方图 直…

基于frida检测demo来学习frida检测及anti

原文地址:https://www.zhuoyue360.com/crack/108.html 前言 随着逆向的攻防强度不断的提升,目前主流的移动安全厂商的加固服务基本上都已包含了常见Hook框架的反调试,我们最常见的hook工具如下: fridaxposed 为了更好的提升自己相关的经验,我们可以拿这类demo来进行原理的学…

腾讯云轻量应用服务器镜像应用模板清单大全

腾讯云轻量应用服务器支持多种应用模板镜像,Windows和Linux镜像模板都有,如:宝塔Linux面板腾讯云专享版、WordPress、WooCommerce、LAMP、Node.js、Docker CE、K3s、宝塔Windows面板和ASP.NET等应用模板镜像,腾讯云服务器网分享腾…

聊一下互联网开源变现

(点击即可收听) 互联网开源变现其实是指通过开源软件或者开放源代码的方式,实现收益或盈利。这种方式越来越被广泛应用于互联网行业 在互联网开源变现的模式中,最常见的方式是通过捐款、广告、付费支持或者授权等方式获利。 例如,有些开源软件…

Linux 基础(五)常用命令-文件属性

文件属性 文件权限文件属性修改文件权限属性 文件所有者 文件权限 文件属性 Linux中文件权限 可以通过文件属性体现; 使用 ll 查看文件列表 最前面的 l d 表示文件类型 1 5 表示硬链接数 或者 子文件夹个数 所属用户 所属用户组 文件大小 创建/更新时间 文件&…

首个女性向3A手游要来了?获IGN认可,《以闪亮之名》能否突出重围

最近的手游市场可以说是热度十足,各大厂商都发布了旗下新作的消息,3A高自由度似乎成了所有新游的主基调,但说起与众不同,那便不得不说这款《以闪亮之名》,这是本季度新游中唯一一个女性向3A作品。 这款手游主打超自由时…

2009年“五一”假期市民旅游指南

信息来源于:上海旅游官网 为使广大市民更好地领略上海的都市风情,满足 市民的旅游消费需求,丰富节日生活 ,本市部分景点 、旅游企业 精心策划,积极准备,推出一系列适合市民市内旅游的节目,在…

常州嬉戏谷游玩全攻略

攻略导读:常州环球动漫嬉戏谷,一座国际动漫游戏体验博览园,颠覆传统,突破创新,定位鲜明,以满足逾4亿中国互联网用户的庞大娱乐需求为目标,以更适合未来前往的体验型公园为前瞻。假面文化的“梦幻…

第四十八周周报

学习目标: 修改ViTGAN 学习内容: 位置编码和多尺度 学习时间: 8.5-8。12 学习产出: 这两周主要工作在修改ViTGAN的结构和代码,将相对位置编码加入ViTGAN并将生成器变为多尺度,由于匹配维度很困难&am…

Jpa与Druid线程池及Spring Boot整合(二): spring-boot-starter-data-jpa 踏坑异常处理方案

Jpa与Druid线程池及Spring Boot整合(一) Jpa与Druid线程池及Spring Boot整合(二):几个坑 附录官网文档:core.domain-events域事件 从聚合根发布事件 存储库管理的实体是聚合根。在领域驱动设计应用程序中,这些聚合根通常会发布领域事件。Sp…

pass 软件_PASS软件非劣效Logrank检验的h1参数如何设置?

前言 近日,有朋友在《统计咨询》公众号咨询:在使用PASS中的Non-Inferiority Logrank Tests程序计算样本量时,h1(Hazard Rate of Reference Group) 这个参数不懂得如何设置?见下图红色矩形标注的参数。相信这个也是其他很多朋友碰…

简单聊聊什么是Sass、Pass和Iass?

Iass,Pass和Saas都是什么意思?想必大家都听过也查阅过资料。但现在网上很多文章都会把一些比较简单的概念包装得非常牛气,逼格很高,各种高大上就是不说大白话,本文正好通过搭建网校平台为例和小伙伴简单分享一下它们之…

项目如何简单的使用pass平台部署服务

目录 前言: 一:Pass平台的优势 二:Pass平台的相关要素 三:docker|jenkins\k8s\pass\git之间关系 四:项目如何使用pass 五:pass平台常规操作 5.1应用重启 5.1.1定位到命名空间下的容器项目 5.1.2服务…

云计算之IasS、PasS、SaaS

越来越多的软件,开始采用云服务。 云服务只是一个统称,可以分成三大类。 IaaS:基础设施服务,Infrastructure-as-a-servicePaaS:平台服务,Platform-as-a-serviceSaaS:软件服务,Softw…

pass平台的搭建

Docker容器化部署Rancher CentOS 7.0默认使用的是firewall作为防火墙 查看防火墙状态 firewall-cmd --state ​ 停止firewall systemctl stop firewalld.service ​ 禁止firewall开机启动 systemctl disable firewalld.service ​ 安装rancher docker run -d --restart=unless-…

pass,saas区别

毫无疑问,PaaS与企业在服务与开发过程中的需求密切相关,特别是随着云计算的发展和企业平台化战略的驱动,企业对于云原生应用和全新的应用开发都提出了更高要求,而PaaS作为“承上启下”的中间层也变得越来越重要,更成为…

saas,pass介绍

毫无疑问,PaaS与企业在服务与开发过程中的需求密切相关,特别是随着云计算的发展和企业平台化战略的驱动,企业对于云原生应用和全新的应用开发都提出了更高要求,而PaaS作为“承上启下”的中间层也变得越来越重要,更成为…

Saas、Pass和lass

lass:需要将源码系统署到服务器上才能让大家访问,那服务器从哪来,咱们可以单独买一台实体服务器放家里放公司里,但是这样成本会比较高,而且维护会比较麻烦,所以更方便的方式就是去云服务平台,租…

SaaS,iass 和pass,你知道吗?

一、IaaS IaaS是Infrastructure as a server的缩写,意思是基础设施即服务。又云端公司把IT环境的基础设施建设好,然后直接对外出租硬件服务器或者虚拟机。消费者可以利用所有计算基础设施,包括处理CPU、内存、存储、网络和其它基本的计算资源…