I.MX6UL
文章平均质量分 65
何 访
给曾经走过的路,留下些脚印
展开
-
中断服务函数应用实例--GPIO
实例:使用按键按下触发GPIO中断,改变蜂鸣器的电平。I.MAX6U GPIO的触发方式有四种,分别是低电平,高电平,上升沿,下降沿触发。GPIO的中断触发由ICR1和ICR2寄存器描述。两个bits描述一个GPIO,最多32个GPIO。EDGE_SEL寄存器,这个是设置不管上升沿或下降沿触发,对应的GPIO位置1,都可以触发相应的中断,但是ICR的寄存器的值会失效。使能/关闭GPIO对应中断,设置GPIO_IMR寄存器。清中断标志位,清除GPIO_ISR相应的位。这里的清除是写1清除。GIC设置首原创 2022-12-04 19:32:24 · 438 阅读 · 0 评论 -
Coxtex-A中断原理
1.ARM芯片在0x00000000,开始运行,并存放着中断向量表,通常第一个是存放着sp指针,指向栈顶,第二个是复位向量(Reset_handler).2.在实际应用过程,会设置,中断向量偏移,配置对应的中断向量偏移寄存器,SCB->VTOR。3.GIC中断控制器,关闭/打开中断,设置优先级。 Cortex-A,一般自己写中断向量表。Cortex-A的中断向量表如图,I.MX6U,引入了中断号区分不同的中断,中断ID从0到1019。 Cortex-A系列的需要自己手动编写,中断向量的编写主要是修原创 2022-12-04 15:27:19 · 174 阅读 · 0 评论 -
I.MX6UL 时钟略解
设置PLL1通过CCM_ANALOG_PLL_ARM寄存器的DEV_SELECT位(bit-6-0)来设置PLL1,公式为上图。(PLL output ..),同时使能CCM_ANALOG_PLL_ARM的ENABLE位(bit13),使能输出。需要特别注意的是:在修改PLL1时,需要先切换到晶振为系统提供一个备用的时钟,才能保证系统的正常运行,并且继续对PLL1进行修改操作。配置剩余时钟,PLL2,和PLL3,使用默认配置。主频时钟源,sw_clk,由CCSR,决定使用PLL1,还是晶振。原创 2022-11-20 23:56:42 · 186 阅读 · 0 评论