- 博客(49)
- 收藏
- 关注
原创 imx6ull-驱动开发篇5——新字符设备驱动实验
本文介绍了Linux新字符设备驱动开发的完整流程。讲解了动态分配设备号的方法,关键API的使用(包括cdev_init、cdev_add和cdev_del等),自动创建设备节点的函数等。
2025-07-31 15:18:21
577
原创 imx6ull-驱动开发篇4——LED 驱动开发实验
本文先分析了地址映射的两个函数ioremap和iounmap,介绍了I/O内存访问函数,然后编写Linux下LED灯的字符设备驱动代码。
2025-07-30 14:55:14
860
原创 imx6ull-驱动开发篇3——字符设备驱动开发实验
本文详细介绍了Linux字符设备驱动开发的全过程,以虚拟设备chrdevbase为例,主要内容包括:1) 驱动开发环境搭建;2) 编写驱动模块;3) 编写测试应用程序;4) 编译驱动模块和测试程序,加载/卸载模块并创建设备节点;5) 验证测试。
2025-07-29 18:13:19
621
原创 imx6ull-驱动开发篇2——字符设备驱动开发步骤
本文介绍了Linux字符设备驱动的开发步骤,包括模块加载/卸载机制、设备号管理、操作函数实现等核心内容。
2025-07-29 14:11:49
1337
原创 imx6ull-驱动开发篇1——字符设备驱动简介
本文介绍了Linux字符设备驱动的基本概念和开发框架。主要内容包括:1. Linux驱动分类,2. 字符设备驱动特点,3. 驱动调用机制:4. 核心结构体file_operations
2025-07-28 13:45:14
861
2
原创 imx6ull-系统移植篇22——根文件系统构建(上)
本文介绍了构建Linux根文件系统的关键步骤。主要内容包括:1. 根文件系统的基础组成,2. 使用BusyBox构建最小文件系统;3. 添加动态库文件到/lib和/usr/lib目录;4. 通过NFS挂载测试根文件系统。
2025-07-25 14:05:28
1027
原创 imx6ull-系统移植篇20——Linux 内核移植(上)
本文介绍了将NXP官方Linux内核移植到正点原子I.MX6U-ALPHA开发板的过程。
2025-07-23 16:34:59
1013
原创 imx6ull-系统移植篇19——Linux 内核启动流程
本文详细剖析了Linux内核的启动过程,从入口函数stext到最终用户空间init进程的创建。
2025-07-23 14:30:05
819
原创 imx6ull-系统移植篇18——linux顶层 Makefile(下)
本文分析了Linux内核构建过程的关键步骤:1. make过程,2. built-in.o生成,3. 镜像区别,4. zImage构建过程
2025-07-22 16:04:41
719
原创 imx6ull-系统移植篇17——linux顶层 Makefile(上)
本文解析了Linux内核顶层Makefile的源码、make xxx_defconfig 过程、Makefile.build 脚本分析
2025-07-22 13:50:51
1116
原创 imx6ull-系统移植篇16——Linux 工程目录分析
本文介绍了linux初次编译的注意事项,然后大概分析了linux源码的工程目录结构。
2025-07-22 10:00:00
1547
原创 imx6ull-系统移植篇14——U-Boot 图形化配置(上)
本文介绍了U-Boot图形化配置工具menuconfig的使用方法,以启用dns命令为例演示配置过程。
2025-07-21 16:22:07
985
原创 imx6ull-系统移植篇13——启动 Linux 内核
本文介绍了U-Boot中bootargs环境变量的作用及其参数配置,演示了两种Linux内核启动方式:1)从EMMC加载zImage和设备树文件启动;2)通过网络tftp方式下载启动镜像。
2025-07-21 14:03:35
821
原创 imx6ull-系统移植篇11——U-Boot 移植(下)
本文详细介绍了U-Boot的移植过程。主要内容包括:1. 创建开发板默认配置文件和头文件,修改相关参数;2. 添加板级文件夹并修改Makefile、Kconfig等文件;3. 重点修改LCD驱动(包括显示参数和环境变量)、网络驱动(PHY地址、复位引脚配置);4. 删除原74LV595驱动,添加新的网络复位引脚初始化代码;5. 修改板子名称显示信息。
2025-07-20 23:31:40
851
原创 imx6ull-系统移植篇10——U-Boot 移植(上)
使用NXP 官方开发板 uboot 进行编译测试,学习如何在 uboot 中添加我们自己的板子。
2025-07-20 15:36:20
637
原创 imx6ull-系统移植篇8——U-Boot 启动流程(下)
本文分析了U-Boot启动流程的关键函数,包括:board_init_f(初始化外设和全局变量)、relocate_code(代码重定位)、relocate_vectors(向量表重定位)、board_init_r(高级硬件初始化)、命令行处理流程(cli_loop、parse_file_outer等)
2025-07-16 16:35:32
598
原创 imx6ull-系统移植篇5——U-Boot 顶层 Makefile 简析
本文简单分析了U-Boot顶层Makefile的关键功能与编译流程。
2025-07-14 20:08:26
1553
原创 imx6ull-系统移植篇3—— U-Boot 命令使用(下)
本文介绍了U-Boot常用命令操作指南,主要涵盖以下内容: 文件系统操作命令:包括FAT格式/EXT格式、NAND操作命令、 BOOT引导命令、 其他常用命令:如reset重启、go跳转执行等
2025-07-13 13:42:13
544
原创 imx6ull-系统移植篇2—— U-Boot 命令使用(上)
本文介绍了基于iMX6ULL开发板的U-Boot常用命令操作,主要内容包括:1. 基础命令:help帮助查询、信息查询命令(bdinfo/printenv/version)和环境变量操作(setenv/saveenv)2. 内存操作命令3. 网络操作命令:4. MMC设备操作命令。
2025-07-11 23:26:29
1040
原创 imx6ull-系统移植篇1——U-Boot使用体验
本文介绍了在imx6ull开发板上移植U-Boot的过程。详细说明了U-Boot编译步骤、分析了uboot启动时输出的关键信息.
2025-07-11 13:56:40
671
原创 imx6ull-裸机学习实验16——I2C 实验
本实验基于I.MX6U处理器,通过I2C1接口驱动三合一环境传感器AP3216C(包含光强ALS、接近距离PS和红外IR检测功能)。
2025-07-10 21:30:00
668
原创 mx6ull-裸机学习实验15——RTC 实时时钟实验
我们使用正点原子开发板 I.MX6U ,学习如何使用 I.MX6U 内部 RTC 来完成实时时钟功能,详细介绍了SNVS的寄存器说明和配置方法,包含实验重要的程序源码。
2025-07-10 21:00:00
847
原创 imx6ull-裸机学习实验14(下)——驱动DDR3和测试
本文介绍了I.MX6U开发板上DDR3内存的驱动方法,主要包含MMDC控制器详解和DDR初始化与测试步骤。
2025-07-10 20:30:00
1370
原创 imx6ull-裸机学习实验14(上)——DDR简介和关键时间参数
实验主要围绕I.MX6U开发板的DDR3内存驱动展开,首先介绍了RAM(SRAM/DRAM)与ROM的类型及差异,重点分析了DDR3的工作原理与关键参数。
2025-07-09 15:42:53
1207
原创 imx6ull-裸机学习实验13——串口格式化函数移植实验
本实验将printf和scanf等格式化函数移植到正点原子I.MX6U-ALPHA开发板,通过串口实现开发板与终端的交互。测试代码通过scanf输入两个整数,用printf输出相加结果,在MobaXterm终端完成交互测试。
2025-07-09 11:34:37
699
原创 imx6ull-裸机学习实验12——UART 串口通信实验
本文介绍了基于正点原子开发板I.MX6U处理器的UART串口驱动开发过程。主要内容包括:UART通信协议的基本原理、I.MX6U的UART硬件特性、寄存器配置方法;通过实验验证了串口通信功能,使用MobaXterm工具成功实现开发板与PC的数据交互。
2025-07-09 08:00:00
951
原创 imx6ull-裸机学习实验11——高精度延时实验
摘要:本文介绍了如何在正点原子imx6ull开发板上使用GPT定时器实现高精度延时。文章详细讲解了GPT定时器的特性、时钟源选择、工作模式和相关寄存器配置,并给出了实现us和ms级延时的具体步骤。实验通过控制LED0闪烁来验证延时精度,程序运行正常时LED0将以500ms周期闪烁。
2025-07-08 14:48:06
951
原创 imx6ull-裸机学习实验10——定时器按键消抖实验
本实验基于正点原子i.MX6ULL开发板,利用EPIT定时器实现按键消抖功能。通过配置按键GPIO中断和10ms定时器,在按键触发时开启定时器,并在定时器中断中检测按键状态,有效消除机械抖动。该方法相比软件延时更高效,避免了CPU性能浪费,符合Linux驱动开发中的按键处理方式。
2025-07-08 11:31:26
1176
原创 imx6ull-裸机学习实验9——EPIT定时器实验
本文介绍了在正点原子I.MX6U开发板上配置EPIT定时器的方法,详细分析配置EPIT寄存器的步骤,最后实现500ms定时翻转LED0的实验效果。
2025-07-08 09:30:00
1065
原创 imx6ull-裸机学习实验8——GPIO中断实验
本文介绍了Cortex-M和Cortex-A7中断系统的异同,重点讲解了I.MX6U的中断控制器GIC架构。通过按键中断实验,展示了如何配置GPIO中断:首先初始化中断向量表,设置GIC控制器,注册中断服务函数;然后配置GPIO引脚为中断输入模式,设置下降沿触发;最后在中断服务函数中实现按键消抖和蜂鸣器控制功能。实验结果表明,中断方式相比轮询方式能显著提高CPU效率。文章详细解析了中断优先级、中断嵌套等关键概念,为嵌入式系统中断编程提供了实用指导。
2025-07-07 16:20:27
1041
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人