ARM
文章平均质量分 83
ORI2333
努力变得更强
展开
-
【I.MX6U裸机开发】GPIO中断
中断向量表存储中断服务程序的入口地址,特定中断触发时跳转到相应位置。GIC(General Interrupt Controller)管理中断,类似STM32中的NVIC。Cortex-A7内核有7个主要异常中断,包括复位中断、未定义指令中断、软中断、指令预取中止中断、数据访问中止中断、IRQ中断和FIQ中断。GIC将中断源分为SPI(共享中断)、PPI(私有中断)和SGI(软件中断)三类,支持多核处理。中断优先级通过GICC_PMR和GICC_BPR寄存器设置,优先级数字越小,优先级越高。原创 2024-07-17 19:04:18 · 701 阅读 · 0 评论 -
【ARM学习笔记】ARM Cortex -A7 串口通信
串口简述全称:串行接口别名:COM接口工作方式:串行式逐位数据传输,两条线即可实现,一条发送,一个接收,一个GND,速度较低、主要分类:UART(异步串口接收器)USART(同步步串口接收器)(多一个时钟线)本片主要叙述UARTUART全称:Universal Asynchronous Receiver/Trasmitter,异步串口接收器,包括了RS232、RS449、RS423、RS422和RS485等接口标准规范和总线标准规,即UART是异步串行通信口的总称。原理:把数据的字原创 2021-02-04 22:20:40 · 1092 阅读 · 0 评论 -
【ARM学习笔记】ARM Cortex -A7 GPT定时器
简述:全称:General Purpose Timer。作用:高精度延时特性:一个可选时钟源的 32 位向上计数器一个12位的分频器两个输入捕获通道,可以设置触发方式三个输出比较通道,可以设置输出模式可以生成捕获中断、比较中断和溢出中断计数器可以运行在重新启动(restart)或(自由运行)free-run 模式具体描述时钟源一共5个时钟源,由GPTx_CR中的CLKSRC(bit8:6):控制:CLKSRC时钟源000关闭时钟源001ipg_cl原创 2021-02-04 11:42:32 · 1169 阅读 · 0 评论 -
【ARM学习笔记】ARM Cortex -A7 EPIT定时器
简述ARM Cortex-A7的一个定时器,用来完成周期性中断定时特点:时钟源可选的32位向下计数器12位的分频值当计数值和比较值相等的时候产生中断可以即使编程的计数器值在低功耗和调试模式下能够编程为活跃状态原理分析结构分析多路选择器,共有三个时钟源可选择:ipg_clk:由时钟控制模块CCM提供的Peripheral clock;ipg_clk_32k:低频率参考时钟,32kHz的参考时钟,来自外部的32kHz晶振;ipg_clk_highfreq:由时钟控制模块CCM原创 2021-02-02 13:01:27 · 724 阅读 · 0 评论 -
【ARM自学笔记】ARM Cortex -A中断系统(程序篇)
原理说明点击此文章:ARM Cortex -A中断系统(原理篇)功能描述当按下按键后,蜂鸣器工作,再次按下后关闭蜂鸣器。按键采用中断方式处理。流程移植SDK中中断相关文件编写start.s文件编写中断驱动文件编写GPIO驱动文件编写按键驱动文件编写main文件编译烧录移植core_ca7.h文件重要API函数:函数描述GIC_Init初始化 GICGIC_EnableIRQ使能指定的外设中断GIC_DisableIRQ关闭指定的外设中断原创 2021-01-31 21:26:13 · 1386 阅读 · 0 评论 -
【ARM自学笔记】ARM Cortex -A中断系统(原理篇)
前言本文所描述的为Cortex-A7中断系统简述中断是什么?中断(Interrupt)是指处理器接收到来自硬件或软件的信号,提示发生了某个事件,应该被注意,这种情况就称为中断。通常,在接收到来自外围硬件(相对于中央处理器和内存)的异步信号,或来自软件的同步信号之后,处理器将会进行相应的硬件/软件处理。发出这样的信号称为进行中断请求(interrupt request,IRQ)。硬件中断导致处理器通过一个运行信息切换(context switch)来保存执行状态(以程序计数器和程序状态字等寄存器信息原创 2021-01-31 19:05:00 · 6778 阅读 · 2 评论 -
【ARM自学笔记】ARM7时钟简述及配置
简述所使用的芯片为NXP的I.MX6U。硬件分析原理图如下:分为两个来源:32.768KHz晶振(I.MX6U的RTC时钟源)24MHz晶振(I.MX6U内核和外设的时钟源)流程分析PLL时时钟源PLL(锁相环): 锁相回路(PLL:Phase-lockedloops)是一种利用反馈控制原理实现的频率及相位的同步技术,其作用是将电路输出的时钟与其外部的参考时钟保持同步。当参考时钟的频率或相位发生改变时,锁相回路会检测到这种变化,并且通过其内部的反馈系统来调节输出频率,直到两者重新同步原创 2021-01-29 21:28:25 · 1664 阅读 · 0 评论 -
【ARM自学笔记】按键蜂鸣器(裸机)
描述按键控制蜂鸣器开关。裸机。原理分析读取按键的IO值,根据IO值去控制有源蜂鸣器。电路分析按键原理图如下:且KEY0是接到USART1_CTS这个IO上。接上拉电阻,没有按下时为高电平;按下时为低电平。代码GPIO相关驱动#include "bsp_gpio.h"/* * GPIO初始化。 */void gpio_init(GPIO_Type *base, int pin, gpio_pin_config_t *config){ if(config->direc原创 2021-01-28 21:25:45 · 631 阅读 · 0 评论 -
【ARM自学笔记】NXP官方sdk移植
前言使用的处理器型号为I.MX6U,裸机开发,NXP官方写有SDK包(此为Cortex-A内核特例),点此链接。此SDK包已经定义好寄存器文件,如同STM32的标准库或者hal库。过程移植官方SDK主要需要fsl_common.h fsl_iomuxc.h MCIMX62Y2.h这三个文件搭建C语言环境设定一些常用变量编写主代码make 编译烧录详细搭建环境.global _start /* 全局符号 *//* * 设置C运行环境 */ _start:原创 2021-01-26 17:14:20 · 617 阅读 · 0 评论 -
【ARM自学笔记】裸机c语言点灯
流程通过汇编文件搭建C语言环境编写C语言汇编代码/* * 设置C运行环境 */ _start: /* 进入 SVC 模式 */ mrs r0, cpsr bic r0, r0, #0x1f /* 将 r0 低5位清零,也就是cpsr的M0~M4 */ orr r0, r0, #0x13 /* r0或上 0x13,表示使用SVC模式*/ msr cpsr, r0 /* 将r0的数据写入到cpsr_c中 */ ldr sp原创 2021-01-25 18:35:32 · 358 阅读 · 0 评论 -
【ARM自学笔记】裸机汇编语言点灯
储备知识(部分)GNU:GNU编译器套装,指一套编程语言编译器,以GPL及LGPL许可证所发行的自由软件,也是GNU计划的关键部分,也是GNU工具链的主要组成部分之一。GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。1985年由理查德·马修·斯托曼开始发展,现在由自由软件基金会负责维护工作。原名为GNU C语言编译器(GNU CCompiler),因为它原本只能处理C语言。GCC在发布后很快地得到扩展,变得可处理C++。之后也变得可处理Fortran、Pascal、Objecti原创 2021-01-22 20:40:09 · 561 阅读 · 0 评论 -
【ARM自学笔记】Cortex-A7 架构
简介Cortex-A7 MPCore 处理器支持1~4核,通常是和Cortex-A15组成 big.LITTLE架构。在此架构中,Cortex-A15 作为大核负责高性能运算,而Cortex-A7负责普通应用(相对来说较为省电)官方性能说明:在 28nm 工艺下, Cortex-A7 可以运行在 1.2~1.6GHz,并且单核面积不大于 0.45mm2(含有浮点单元、 NEON 和 32KB 的 L1 缓存),在典型场景下功耗小于 100mW, 这使得它非常适合对功耗要求严格的移动设备,这意味原创 2021-01-21 16:54:02 · 2764 阅读 · 1 评论