![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
I.MX6U NoOS
文章平均质量分 85
使用I.MX6U裸机开发实验
等云散去
这个作者很懒,什么都没留下…
展开
-
4.1 ARM中断——Cortex-A7中断基础理论
中断系统是一个处理器重要的组成部分,中断系统极大的提高了 CPU 的执行效率,本文主要讲解Cortex-A7的中断理论知识。1. Cortex-A7中断系统简介1.1中断向量表中断向量表是一个表,这个表里面存放的是中断向量。中断服务程序的入口地址或存放中断服务程序的首地址成为中断向量,因此中断向量表是一系列中断服务程序入口地址组成的表。这些中断服务程序(函数)在中断向量表中的位置是由半导体厂商定好的,当某个中断被触发以后就会自动跳转到中断向量表中对应的中断服务程序(函数)入口地址处。中断向量表在整个程原创 2020-10-20 07:36:49 · 1423 阅读 · 0 评论 -
3.2 C语言实现GPIO输出实验(LED)——使用BSP工程管理代码(二)
一、简述在写一些小的工程时,我们会源码文件放到工程的根目录下,如果工程文件比较少的话这样做无可厚非,但是如果工程源文件达到几十、甚至数百个的时候,这样一股脑全部放到根目录下就会使工程显得混乱不堪。所以我们必须对工程文件做管理,将不同功能的源码文件放到不同的目录中。另外我们也需要将源码文件中,所有完成同一个功能的代码提取出来放到一个单独的文件中,也就是对程序分功能管理。使其美观、功能模块清晰、易于阅读。本文所做的事主要有三件:1、移植官方的SDK定义文件;2、使用结构体来组织同一类型外设的地址;3、原创 2020-09-14 19:14:54 · 1045 阅读 · 2 评论 -
3.1 C语言实现GPIO输出实验(LED)——让C跑起来(一)
基于前面汇编实现GPIO输出实验(LED)硬件基础和分析。这里通过汇编完成C语言的环境搭建,用C语实现LED的点灯。一、汇编搭建C语言运行环境1、环境搭建Cortex-A有九个运行模型,这里我们设置处理器运行在SVC模式下。处理器模式的设置是通过修改CPSR(程序状态)寄存器来完成的。/*file name: start.S*/.global _start_start: /* 设置处理器进入SVC模式 */ mrs r0, cpsr /* 读取cpsr到r0*/原创 2020-09-11 12:28:22 · 1598 阅读 · 0 评论 -
2. 汇编实现GPIO输出实验(LED)
基于I.MX6U通过汇编实现点亮LED的实验,分析GPIO的控制方法和配置。一、原理图分析LED0 接到了 GPIO_3 上, GPIO_3 就是 GPIO1_IO03,当 GPIO1_IO03输出低电平(0)的时候发光二极管 LED0 就会导通点亮,当 GPIO1_IO03 输出高电平(1)的时候发光二极管 LED0 不会导通,因此 LED0 也就不会点亮。所以 LED0 的亮灭取决于 GPIO1_IO03的输出电平,输出 0 就亮,输出 1 就灭。二、GPIO相关寄存器分析1、IO功能复用寄存原创 2020-07-19 14:06:24 · 4443 阅读 · 0 评论 -
1. ARM汇编基础
一、内容概要二、GNU汇编语法1、label: instruction @ comment2、常见的伪操作3、函数操作4、注意事项注意! ARM 中的指令、伪指令、伪操作、寄存器名等可以全部使用大写,也可以全部使用小写,但是不能大小写混用。三、Cortex-A7常用汇编指令1、处理器内部数据(寄存器)传输指令2、存储器(RAM)访问指令3、压栈和出栈指令4、...原创 2020-07-07 19:25:46 · 126 阅读 · 0 评论