自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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-系统移植篇24——MfgTool系统烧写

本文介绍了使用NXP官方MfgTool工具烧写系统到i.MX6ULL开发板的方法。

2025-07-25 18:18:16 703

原创 imx6ull-系统移植篇23——根文件系统构建(下)

本文主要介绍了Linux根文件系统的完善与功能测试过程。

2025-07-25 15:55:58 700

原创 imx6ull-系统移植篇22——根文件系统构建(上)

本文介绍了构建Linux根文件系统的关键步骤。主要内容包括:1. 根文件系统的基础组成,2. 使用BusyBox构建最小文件系统;3. 添加动态库文件到/lib和/usr/lib目录;4. 通过NFS挂载测试根文件系统。

2025-07-25 14:05:28 1027

原创 imx6ull-系统移植篇21——Linux 内核移植(下)

本文介绍了Linux内核移植中CPU主频和网络驱动的修改过程。

2025-07-24 14:40:36 782

原创 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-系统移植篇15——U-Boot 图形化配置(下)

本文深入解析了U-Boot图形化配置的原理,与自定义菜单实现方法。

2025-07-21 19:58:41 820

原创 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-系统移植篇12——bootcmd环境变量

本文主要介绍了U-Boot启动Linux内核前的关键环境变量:bootcmd。

2025-07-21 09:30:00 819

原创 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-系统移植篇9——bootz启动 Linux 内核

分析bootz 启动 Linux 内核过程,包含函数源码和函数详解。

2025-07-17 15:46:50 1568

原创 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-系统移植篇7——U-Boot 启动流程(上)

分析U-Boot的启动流程,跟着调用函数链抽丝剥茧~

2025-07-15 18:08:53 634

原创 imx6ull-系统移植篇6——U-Boot 链接脚本分析

本文详细分析了U-Boot链接脚本:u-boot.lds的结构与功能。

2025-07-15 15:36:49 737

原创 imx6ull-系统移植篇5——U-Boot 顶层 Makefile 简析

本文简单分析了U-Boot顶层Makefile的关键功能与编译流程。

2025-07-14 20:08:26 1553

原创 imx6ull-系统移植篇4——U-Boot 工程目录分析

使用正点原子imx6ull开发板,先来分析一下U-Boot 源码的工程目录吧。

2025-07-14 15:57:36 1000

原创 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-裸机学习实验17——SPI 实验

本文介绍了基于I.MX6U开发板的SPI接口驱动六轴传感器ICM-20608的实现方法。

2025-07-10 23:01:10 753

原创 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关注的人

提示
确定要删除当前文章?
取消 删除