I.MX6ULL

I.MX6ULL

正点原子 I.MX6ULL MINI 开发板学习笔记:UART 串口通信与 printf

这篇笔记继续正点原子 I.MX6ULL MINI 开发板裸机学习,主题是UART 串口通信与 printf 输出。有了串口,开发板就能向 PC 打印调试信息,这是裸机调试最重要的手段。代码来自实际工程 /home/zhao/code/2026/touch_screen。 1. 完成什么实验? 配置 I.MX6ULL 的 UART1,实现单字符发送 putc()、字符串发送 puts(),并把标准库 printf 底层对接上去,让程序可以通过 printf() 向串口助手输出信息。 2. 什么是 UART? UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)是一种异步串行通信协议。它只需要两根数据线:TX(

作者:azhezhezhe

I.MX6ULL

正点原子 I.MX6ULL MINI 开发板学习笔记:GPT 定时器与延时函数

这篇笔记继续正点原子 I.MX6ULL MINI 开发板裸机学习,主题是GPT 定时器与软件延时。代码来自实际工程 /home/zhao/code/2026/touch_screen。 1. 完成什么实验? 配置 I.MX6ULL 的 GPT1 定时器作为自由运行的计数器,实现微秒级和毫秒级软件延时函数 delay_us() / delay_ms(),供 LED 闪烁、I2C 时序等模块调用。 2. GPT 与 EPIT 有什么区别? 特性EPITGPT 计数方向递减递增 主要用途周期中断自由运行计数、输入捕获、输出比较 重载可自动重载自由运行,溢出后从 0 继续 延时实现中断方式轮询 CNT 差值 3.

作者:azhezhezhe

I.MX6ULL

正点原子 I.MX6ULL MINI 开发板学习笔记:EPIT 定时器

这篇笔记继续正点原子 I.MX6ULL MINI 开发板裸机学习,主题是EPIT 定时器。定时器是嵌入式系统里最常用的外设之一,用来产生精确延时和周期性中断。代码来自实际工程 /home/zhao/code/2026/touch_screen。 1. 完成什么实验? 配置 I.MX6ULL 的 EPIT1 定时器,使其以固定周期产生中断,在中断服务函数里翻转 LED,实现周期闪烁。 2. 什么是 EPIT 定时器? EPIT(Enhanced Periodic Interrupt Timer)是 I.MX6ULL 内部的增强型周期中断定时器。它是一个 32 位递减计数器,从装载值 LR 开始减,减到比较值 CMPR 时产生比较中断;

作者:azhezhezhe

I.MX6ULL

正点原子 I.MX6ULL MINI 开发板学习笔记:ARM Cortex-A7 中断控制器 GIC

这篇笔记继续正点原子 I.MX6ULL MINI 开发板裸机学习,主题是ARM Cortex-A7 的中断系统。代码来自实际工程 /home/zhao/code/2026/touch_screen。 1. 完成什么实验? 理解 ARM Cortex-A7 中断响应流程,掌握 GIC(Generic Interrupt Controller)的初始化和中断注册方法。后续按键、EPIT、GPT、PWM、触摸屏等都依赖这套中断机制。 2. 什么是中断? 中断是外设或内部事件主动通知 CPU 的一种机制。当事件发生时,CPU 会暂停当前程序,跳转到预先设置好的中断处理函数执行;处理完后再返回原程序。相比轮询,中断能大大提高 CPU 效率。 3. ARM

作者:azhezhezhe

I.MX6ULL

正点原子 I.MX6ULL MINI 开发板学习笔记:I.MX6ULL 时钟系统与 CCM

这篇笔记继续正点原子 I.MX6ULL MINI 开发板裸机学习,主题是I.MX6ULL 的时钟系统。如果把 SoC 比作一台机器,时钟就是它的“心跳”,所有模块都靠时钟驱动。代码来自实际工程 /home/zhao/code/2026/touch_screen。 1. 完成什么实验? 配置 I.MX6ULL 的系统时钟:把 ARM 内核时钟跑到约 528MHz,同时配置 528MHz/480MHz PLL 的 PFD,并打开所有外设的时钟门控,为后续 UART、I2C、SPI、LCD 等外设提供时钟。 2. SoC 为什么需要时钟系统? SoC 内部有 CPU、

作者:azhezhezhe

I.MX6ULL

正点原子 I.MX6ULL MINI 开发板学习笔记:GPIO 输入——按键与蜂鸣器

这篇笔记继续正点原子 I.MX6ULL MINI 开发板的 GPIO 学习,主题是GPIO 输入——按键检测和蜂鸣器控制。代码来自实际工程 /home/zhao/code/2026/touch_screen。 1. 完成什么实验? 把 GPIO1_IO18 配置为输入模式,检测按键是否被按下;按下时通过中断翻转 LED 状态。同时把 GPIO5_IO01 配置为输出,控制蜂鸣器响/停。 2. GPIO 输入和输出有什么区别? * 输出模式:CPU 通过 DR 寄存器控制引脚电平,如点灯、驱动蜂鸣器。 * 输入模式:CPU 通过 PSR 寄存器读取引脚真实电平(注意:I.

作者:azhezhezhe

I.MX6ULL

正点原子 I.MX6ULL MINI 开发板学习笔记:GPIO 输出与 LED 点灯

这篇笔记记录在正点原子 I.MX6ULL MINI 开发板上完成的最基础实验——GPIO 输出控制 LED 点灯。内容来自实际工程 /home/zhao/code/2026/touch_screen 中的验证代码,适合作为裸机学习的第一站。 1. 完成什么实验? 通过配置 I.MX6ULL 的 GPIO1_IO03 引脚为输出模式,控制板载 LED 的亮灭和翻转。 2. 什么是 GPIO? GPIO(General Purpose Input/Output,通用输入输出)是 SoC 上最基础的可编程引脚。每个 GPIO 引脚可以被配置为输入或输出:输出时 CPU 可以控制引脚电平(高/低)

作者:azhezhezhe