-
启动文件
启动文件 初始化堆栈指针SPStack_Size EQU 0x00000400 ; 宏定义设置大小为1KB AREA STACK, NOINIT, READWRITE, ALIGN=3 ;分配一个数据段, 名字叫STACK, 不初始化, 可读可写, 8字节对齐Stack_Mem SPACE Stack_Size ; 分配内存空间__initial_sp ; 紧挨着SPACE语句, 表示栈的结束, 由低向高生长 初始化堆用于动态内存的分配...…
-
ARM汇编
ARM汇编ARM 处理器有 7 中常见的运行模式: User(用户模式)、 FIQ(快中断模式)、 IRQ(中断模式)、 SVC(管理模式)、 Abort(终止模式)、 Undef(未定义模式)和 Sys(系统模式)。其中 User 是非特权模式,其余 6 中都是特权模式。但新的 Cortex-A 架构加入了TrustZone 安全扩展,所以就新加了一种运行模式:Monitor(安全模式),新的处理器架构还支持虚拟化扩展,因此又加入了另一个运行模式: Hyp(虚拟化模式),所以 Corte...…
-
使用固件库
使用固件库相关文件 初始化汇编文件, startup_stm32f10x_hg.h设置堆栈指针, 设置PC指针, 初始化中断向量表, 配置系统时钟, 调用C库函数_main最后进入C语言环境 时钟配置文件stm32f10x.c: 把外部时钟HSE经过PLL倍频设置为72MHz 外射相关stm32f10x.h实现了外射寄存器映射stm32f10x_xx.c:外设的驱动库函数stm32f10x_xx.h:外设的初始化结构体, 初始化结构体的成员参数列表, 驱动外设库函数声明 内核相关C...…
-
修改
修改增加串口打印功能去掉无关代码删除所有的测试文件代码增加串口打印初始化串口, 实现这个函数…
-
修改
修改增加串口打印功能去掉无关代码删除所有的测试文件代码增加串口打印初始化串口, 实现这个函数…
-
GPIO
GPIO寄存器GPIO的寄存器 GPIOx_CRL: 控制输入输出以及模式, 输出速度可理解为: 输出驱动电路的带宽:即一个驱动电路可以不失真地通过信号的最大频率。 GPIOx_CRH: 同上 GPIOx_IDR: 读出GPIO的状态 GPIOx_ODR: 设置对应的位 GPIOx_BSRR设置对应的位为0 GPIOx_BRR: 清除 GPIOx_LCKR: 锁RCC寄存器 RCC_CR时钟控制寄存器 时钟配置寄存器(RCC_CFGR) 时钟中断寄存器 (RCC_CIR...…
-
寄存器
寄存器封装: 比较小的小圆圈=>正方向起始位置逆时针旋转, 没有的话正看丝印, 左上角开始 三条总线! 黄色的是驱动单元, 右边的是ST公司设计的外设 程序在Flash, ICode总线进行取址, , DCode用来取变量存在SRAM中, 常量储存在FLASH中(const关键字), 数据可以被DMA和DCode访问, 需要总线矩阵进行仲裁 System总线主要用来读取寄存器 APB2是高速总线, APB1是低速总线内存32位可以访问4G的内存分为8块 第0块存放Flas...…
-
FreeRTOS
FreeRTOS官网文件中只保留E:\a学习\9.myOC\FreeRTOS\FreeRTOSv202212.01\FreeRTOS\Demo文件夹下面的CORTEX_STM32F103_Keil, 其他的文件暂时用不到source文件是核心文件 只保留以上的文件, 之后打开项目之后编译文件, 选择用keil5进行格式转换*** Using Compiler 'V5.06 update 5 (build 528)', folder: 'D:\kiel5\ARM\ARMCC\Bin'Bui...…