当前位置: 首页 > news >正文

stm32内 misc stm32f10x_hd stm32f10x_it stm32f10x_conf关系

STM32启动流程

初始位置 

startup_stm32f10x_hd.s

查看源码

;******************** (C) COPYRIGHT 2010 STMicroelectronics ********************

;* File Name          : startup_stm32f10x_hd.s

;* Author             : MCD Application Team

;* Version            : V3.4.0

;* Date               : 10/15/2010

;* Description        : STM32F10x High Density Devices vector table for MDK-ARM

;*                      toolchain.

;*                      This module performs:

;*                      - Set the initial SP

;*                      - Set the initial PC == Reset_Handler

;*                      - Set the vector table entries with the exceptions ISR address

;*                      - Configure the clock system and also configure the external

;*                        SRAM mounted on STM3210E-EVAL board to be used as data

;*                        memory (optional, to be enabled by user)

;*                      - Branches to __main in the C library (which eventually

;*                        calls main()).

;*                      After Reset the CortexM3 processor is in Thread mode,

;*                      priority is Privileged, and the Stack is set to Main.

;* <<< Use Configuration Wizard in Context Menu >>>  

描述:STM 32 f 10 x MDK ARM高密度器件向量表;*工具链。;*此模块执行:* -设置初始SP* -设置初始PC = = Reset _ Handler* -用异常ISR地址设置向量表项;* -配置时钟系统并配置外部;*安装在STM3210E-EVAL板上的SRAM用作数据;*内存(可选,由用户启用)* -分支到C库中的__main(最终;*调用main())。;*复位后CortexM3处理器处于线程模式;*优先级是有特权的,堆栈设置为Main。;* < < <在上下文菜单中使用配置向导>>>

; Reset handler

Reset_Handler   PROC

                EXPORT  Reset_Handler             [WEAK]

                IMPORT  __main

                IMPORT  SystemInit

                LDR     R0, =SystemInit

                BLX     R0              

                LDR     R0, =__main  //跳转入main

                BX      R0

                ENDP

main()

文件关系

core_cm3.c

/**************************************************************************//**

 * @file     core_cm3.c

 * @brief    CMSIS Cortex-M3 Core Peripheral Access Layer Source File

 * @version  V1.30

 * @date     30. October 2009

 *

 * @note

 * Copyright (C) 2009 ARM Limited. All rights reserved.

 *

 * @par

 * ARM Limited (ARM) is supplying this software for use with Cortex-M

 * processor based microcontrollers.  This file can be freely distributed

 * within development tools that are supporting such ARM based processors.

/*------------------ ICC Compiler -------------------*/

/* define compiler specific symbols */

stm32f10x.h

#include "core_cm3.h"

编译相关的命令与字节翻转命令,编译时包含头文件

system_stm32f10x.c

/**

  ******************************************************************************

  * @file    system_stm32f10x.c

  * @author  MCD Application Team

  * @version V3.4.0

  * @date    10/15/2010

  * @brief   CMSIS Cortex-M3 Device Peripheral Access Layer System Source File.

  ****************************************************************************** 

系统时钟等设置

startup_stm32f10x_hd.s将调用相应的函数

misc.c

/**

  ******************************************************************************

  * @file    misc.c

  * @author  MCD Application Team

  * @version V3.4.0

  * @date    10/15/2010

  * @brief   This file provides all the miscellaneous firmware functions (add-on

  *          to CMSIS functions).

/**

  * @brief  Configures the priority grouping: pre-emption priority and subpriority.

  * @param  NVIC_PriorityGroup: specifies the priority grouping bits length.

  *   This parameter can be one of the following values:

  *     @arg NVIC_PriorityGroup_0: 0 bits for pre-emption priority

  *                                4 bits for subpriority

  *     @arg NVIC_PriorityGroup_1: 1 bits for pre-emption priority

  *                                3 bits for subpriority

  *     @arg NVIC_PriorityGroup_2: 2 bits for pre-emption priority

  *                                2 bits for subpriority

  *     @arg NVIC_PriorityGroup_3: 3 bits for pre-emption priority

  *                                1 bits for subpriority

  *     @arg NVIC_PriorityGroup_4: 4 bits for pre-emption priority

  *                                0 bits for subpriority

  * @retval None

  */

中断优先级等相关设置

stm32f10x_it.c

  ******************************************************************************

  * @file    Project/STM32F10x_StdPeriph_Template/stm32f10x_it.c

  * @author  MCD Application Team

  * @version V3.4.0

  * @date    10/15/2010

  * @brief   Main Interrupt Service Routines.

  *          This file provides template for all exceptions handler and

  *          peripherals interrupt service routine.

关系:

startup_stm32f10x_hd.s 中将此文件中相应的中断命令

stm32f10x_conf.h

  * @file    Project/STM32F10x_StdPeriph_Template/stm32f10x_conf.h

  * @author  MCD Application Team

  * @version V3.4.0

  * @date    10/15/2010

  * @brief   Library configuration file.

外设:头文件包含,要不要包含头文件设置

外设SPI ADC UART GPIO

http://www.lryc.cn/news/214256.html

相关文章:

  • 树结构及其算法-二叉查找树
  • PHP自定义文件缓存实现
  • 猫耳 Android 播放框架开发实践
  • linux下df -h 命令一直卡住的解决方法
  • 系统架构设计热点知识
  • 2023-在mac下安装Homebrew的国内镜像
  • Ubuntu 20.04设置虚拟内存 (交换内存swap)解决内存不足
  • RabbitMQ-死信交换机和死信队列
  • [HNCTF 2022 WEEK2]easy_include 文件包含遇上nginx
  • python中transform和apply的区别是什么
  • TCP 协议
  • Azure机器学习 - 在 Azure 机器学习中上传、访问和浏览数据
  • 新建包含cuda和cudnn的docker
  • Opensips安装配置(以下操作均已centOS 6.3系统为准)
  • 第03章 用户与权限管理
  • 赋能制造业高质量发展,释放采购数字化新活力——企企通亮相武汉2023国际智能制造创新论坛
  • 洗地新天花板:CEYEE希亦顶配机皇T800 Pro洗地机多点发力上市开售
  • 如何创建一个react项目
  • 面试算法49:从根节点到叶节点的路径数字之和
  • http1,https,http2,http3总结
  • stable-diffusion-webui环境部署
  • 使用Ansible中的playbook
  • 模型应用系实习生-模型训练笔记(更新至线性回归、Ridge回归、Lasso回归、Elastic Net回归、决策树回归、梯度提升树回归和随机森林回归)
  • 【Verilog】7.2.1 Verilog 并行 FIR 滤波器设计
  • 【音视频 | wav】wav音频文件格式详解——包含RIFF规范、完整的各个块解析、PCM转wav代码
  • 人工智能基础_机器学习012_手写梯度下降代码演示_手动写代码完成梯度下降_并实现梯度下降可视化---人工智能工作笔记0052
  • Docker安装部署[8.x]版本Elasticsearch+Kibana+IK分词器
  • 折纸达珠峰高度(forwhile循环)
  • 探索网络攻防技术:自学之道
  • 图像二值化阈值调整——cv2.threshold方法