i.MX6ULL点灯
对应底板原理图找到对应的IO引脚号
CCGR寄存器共有七个,分别是0~6。
使能时钟,CCGR0~6这7个寄存器控制着6ULL所有外设时钟的使能。
为了简单,设置CCGR0~6这7个寄存器全部为0xFFFFFFFF,相当于使能所有外设时钟。
IO复用,寄存器(IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO03。
0101 ALT5 — Select mux mode: ALT5 mux port: GPIO1_IO03 of instance: gpio1。
将寄存器IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO03的bit3~0设置为0101,此时GPIO_IO03复用为GPIO
寄存器IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO03设置GPIO1_IO03的电气属性。
包括压摆率、速度、驱动能力、开漏、上下拉。
配置GPIO功能,设置输入输出。设置GPIO1_GDIR寄存器,GPIO1_IO03为输出。
设置GPIO_DR寄存器的bit3输出低电平。
ARM汇编基础
我们在学习STM32的时候几乎没有用过汇编,但是在进行嵌入式Linux开发的时候是绝对要掌握基本的ARM汇编,因为Cortex-A芯片上电SP指针还没有初始化,C环境没有准备好,所以不能运行C代码,必须先用汇编语言设置好C环境,比如初始化DDR,设置SP指针等。