一、嵌入式系统硬件介绍
cpu + RAM(内存) + FALSH 集成(flash存储设备) = MCU/单片机
AP/ MPU
进化之后可以外接内存和存储设备,跑复杂的操作系统,比如手机
cpu一上电就会执行程序,程序存放在片内的ROM中,帮助运行SPI flash启动程序,变量存放在RAM中
cpu发出的地址到哪里中间会经过一个内存控制器,将cpu的指令发给各种控制器,ROM、ROM
IMX6ULL 点灯
点亮LED
1、看原理图确定控制LED的引脚
2、看主芯片手册确定如何设置/控制引脚
3、写程序
控制芯片的引脚1还是0,来控制输出电压
1、将GPIO模块组使能
2、设置多路选择器IO_mux,设置gpio是连接到那个模块
3、设置GPIO口是输出还是输入
4、设置gpio输出高低电平
对引脚的操作不能影响到其他位,因为一个寄存器有很多位,每一个位都是一个引脚
直接设置寄存器 reg = 1,bit0 = 1、bit1 = 0、bit2 = 0,后面两个被强制设置为0
使用一个函数set_reg = 1,bit0 = 1、bit1 = 0、bit2 = 0 ,只有第一位起作用,其他为0的无效
gpio口清零是使用clr_reg 只有1有效
1、使能某一组GPIO
2、选择引脚功能
3、
1、查看芯片看LED原理图
2、使能
寄存器CCGR1里面的CG13控制GPIO1组是否使能
3、设置为GPIO5_3为GPIO
表示第一组的第一个引脚
GPIO模式
也就是要使得这个寄存器最后三位变成101
4、设置为输出功能
gpio5_3 设置为输出,就是在将改寄存器的引脚3设置为1(芯片引脚从0开始的)
绝对地址= 基地址 + 偏移地址
5、设置电位为高还是低(低就是点亮,高是熄灭)
o 表示高电位,1表示地电位
LED操作
ARM架构
第一个程序深度解析
使用按键控制LED
串口UATR编程
kile_gcc_Makefile
代码重新定位
异常与中断