IMX6ULL

2024/4/12 16:58:00

IMX6ULL驱动开发实战连载-02设备树的编译和加载

哈喽,大家好。今天介绍的是设备树的加载和编译。设备树,我也是第一次接触,在编译的时候,也是遇到了很多问题。折腾了好几次才加载成功。在这里,也想和大家说,遇到问题不要怕,我们现阶段所遇到的…

IMX6ULL驱动开发实战连载-01搭建开发环境

哈喽,大家好。我是小仲。板子在3.31号就收到了,但是,由于最近一直很忙,拖到了现在才开始搭建环境。接下来的一段时间,会基于野火IMX6ULL开发板写一系列教程,主要侧重于驱动和内核的调试技巧。这方面的文章&…

Linux下的IMX6ULL——IMX6ULL Pro开发板基本操作(二)

目录: 前面我们已经配置好了环境,下载好了软件,下面让我们对我们使用的开发板有给简单的了解吧,IMX6ULL Pro开发板基本操作是必不可少的一大环节,下面让我们从它的硬件资源,软件资源等一系列开发板的基础操…

Linux——Linux驱动之玩转SPI(下)iMX6ULL驱动SPI接口的6轴MEMS传感器芯片实现数据采集开发实战

【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! 《QT开发实战》 《嵌入式通用开发实战》 《从0到1学习嵌入式Linux开发》

记录一下imx6ull linux 5.10.9多点电容触摸屏驱动报错问题解决方法

最近再研究如何将linux 5.10.9移植到imx6ull,用的原子的开发板,在移植电容触摸屏驱动时报错gpio gpiochip0: (209c000.gpio): gpiochip_lock_as_irq: tried to flag a GPIO set as output for IRQ,如下图: 该错误的意思就是尝试将…

I.MX6ULL开发笔记(二)——硬件外设操作

0x01 点亮第一个RGB灯 在文章http://t.csdnimg.cn/EGWt9中有介绍Linux下文件目录,那么在Linux系统下,RGB灯也是一个设备,所以我们需要到/sys目录下去操作这个设备。 之后,我们进入到class目录,这里挂载着开发板上的外…

Linux 驱动开发基础知识—— LED 驱动程序框架(四)

个人名片: 🦁作者简介:一名喜欢分享和记录学习的在校大学生 🐯个人主页:妄北y 🐧个人QQ:2061314755 🐻个人邮箱:2061314755qq.com 🦉个人WeChat:V…

IMX6ULL的官方SDK和官方BSP下载

买了块IMX6ULL的开发板,但是不想直接用开发板跟的程序,还有比如后面移植uboot和kernel的时候也想基于IMX6ULL官方的uboot和kernel做移植工作,所以自己先找一下怎么在官网下载这些东西。 1 官方SDK下载 百度搜索NXP官网,进去之后…

迅为iTOP-i.MX6ULL开发板I2C驱动程序实现 I2C通信

在第 67.1 章节学习 i2c 的时候,我们是在应用层操作设备节点对 i2c 设备进行读写的,那么如果我们在 驱动里面对 i2c 设备进行读写要怎么办呢?本章节我们将来学习。 我们复制第 67.3 章节的代码,在此基础上进行修改。我们在应用里…

Linux下的IMX6ULL——开发板基本操作(二)

目录: 前面我们已经配置好了环境,下载好了软件,下面让我们对我们使用的开发板有给简单的了解吧,IMX6ULL Pro开发板基本操作是必不可少的一大环节,下面让我们从它的硬件资源,软件资源等一系列开发板的基础操…

IMX6ULL —— ASCII 字符和中文字符的点阵显示

前言: 使用的开发板为韦东山老师的 IMX6ULL 目录 ASCII 字符的点阵显示 1.获取点阵 2.描点 3.main 函数 4.编译 c 文件 show_ascii.c 中文字符的点阵显示 1.指定编码格式 2.编码格式实验 默认编码 GB2312 转为 UTF-8 UTF-8 转为 GB2312 汉字区位码 ​…

IMX6ULL —— 字符编码方式和实现

前言: 使用的开发板为韦东山老师的 IMX6ULL 目录 字符的编码方式 编码与字体 1.ASCII 2.ANSI 3.UNICODE UNICODE 编码实现 1.使用 3 个字节表示一个 UNICODE 2.UCS-2 Little endian/UTF-16 LE 3.UCS-2 Big endian/UTF-16 BE 4.UTF8 字符的编码方式 编码…

Framebuffer 介绍和应用编程

前言: 使用的开发板为韦东山老师的 IMX6ULL 目录 Framebuffer介绍 LCD 操作原理 涉及的 API 函数 1.open 函数 2.ioctl 函数 3.mmap 函数 Framebuffer 程序分析 1.打开设备 2.获取 LCD 参数 3.映射 Framebuffer 4.描点函数 5.随便画几个点 6.上机实验…

IMX6ULL驱动开发实战连载系列目录

接下来的一段时间,会基于野火IMX6ULL开发板写一系列实战教程,主要侧重于驱动和内核的调试技巧。这方面的文章,我也是第一次写,过程中可能会踩不少坑,可能更新时间间隔会很。如果有写的不好的,大家可以及时指…

【IMX6ULL驱动开发学习】11.驱动设计之面向对象_分层思想(学习设备树过渡部分)

一个可移植性好的驱动程序,应该有三个部分组成 1、驱动框架程序(xxx_drv.c) — 对接应用层的 open read write 函数,不做GPIO具体操作 2、硬件操作程序(xxx_chip_gpio.c)— 执行具体的GPIO操作,…

IMX6ULL学习笔记(17)——工程管理

一、简介 之前我们把所有源码文件放在一个文件夹下。 这样做存在两个主要问题,第一,代码存放混乱不易阅读。第二,程序可移植性差。如果工程源文件达到几十、甚至数百个的时候,这样一股脑全部放到根目录下就会使工程显得混乱不堪。…

【IMX6ULL驱动开发学习】02.IMX6ULL烧写Linux系统

由于我买的是正点原子的IMX6ULL阿尔法开发板,但是我是看韦东山老师视频学习的驱动 所以这里我烧录的方法是按照韦东山老师的课程来的 这里给出烧写Linux系统用到的工具 链接:https://pan.baidu.com/s/1bD-xxn3K8xQAVkJSaJmTzQ 提取码:af6w …

i.MX 6ULL 驱动开发 二十一:I2C(I2C子系统+MISC子系统)

一、前言 I2C 子系统:作用是完成驱动和设备的匹配。 MISC 子系统:作用是简化字符设备注册过程。 I2C 控制器驱动使用 platform 总线驱动框架。 I2C 设备驱动使用 I2C 总线驱动框架。 二、I2C 协议 IC(IIC)总线协议详解—完整…

i.MX 6ULL 驱动开发 二十七:块设备

参考:【块设备】通用块层 struct bio 详解 | zzm (aliez22.github.io) 一、Linux 中块设备驱动框架 二、块设备基本概念 1、扇区的概念来自硬件,扇区是硬件最小操作单位。 2、块的概念来自文件系统,是文件系统数据处理的最小单位。 3、段…

UART驱动调试方法

从收发方向调试,数据从App -> 行规程 -> serial_core -> 硬件驱动 -> TXD 行规程和serial_core是linux提供的代码,基本很少出错。这样就就可以比较开始和结束的数据,判断驱动是否正确。 从接收方向,RX -> 触发中断…

IMX6ULL学习笔记(13)——GPIO接口使用【汇编方式】

一、GPIO简介 i.MX6ULL 芯片的 GPIO 被分成 5 组,并且每组 GPIO 的数量不尽相同,例如 GPIO1 拥有 32 个引脚, GPIO2 拥有 22 个引脚, 其他 GPIO 分组的数量以及每个 GPIO 的功能请参考 《i.MX 6UltraLite Applications Processor Reference M…

IMX6ULL学习笔记(22)——eLCDIF接口使用(TFT-LCD屏显示)

一、TFT-LCD简介 TFT-LCD(Thin Film Transistor-Liquid Crystal Display) 即薄膜晶体管液晶显示器。TFT-LCD 与无源 TN-LCD、 STN-LCD 的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT)&#…

【IMX6ULL驱动开发学习】10.设置uboot使用网络加载zImage和dtb

1. 在uboot中设置网络 首先启动自己的板子,使用 ifconfig 命令或者 ifconfig -a 命令查看自己网卡的地址 ifconfig ifconfig -a我的网卡地址是这个 52:15:66:2E:16:71接着设置自己的ip setenv ipaddr 192.168.1.100设置服务器ip setenv serverip 192.168.1.200保…

[Linux_IMX6ULL驱动开发]-基础驱动

驱动的含义 如何理解嵌入式的驱动呢,我个人认为,驱动就是嵌入式上层应用操控底层硬件的桥梁。因为上层应用是在用户态,是无法直接操控底层的硬件的。我们需要利用系统调用(open、read、write等),进入内核态…

【IMX6ULL驱动开发学习】07.驱动程序分离的思想之平台总线设备驱动模型和设备树

一、驱动程序分离的思想 【IMX6ULL驱动开发学习】05.字符设备驱动开发模板(包括读写函数、poll机制、异步通知、定时器、中断、自动创建设备节点和环形缓冲区)_阿龙还在写代码的博客-CSDN博客 之前编写驱动程序的代码存在不少弊端:移植性差…

Linux 驱动开发基础知识—— 具体单板的 LED 驱动程序(五)

个人名片: 🦁作者简介:一名喜欢分享和记录学习的在校大学生 🐯个人主页:妄北y 🐧个人QQ:2061314755 🐻个人邮箱:2061314755qq.com 🦉个人WeChat:V…

【IMX6ULL驱动开发学习】12.Linux SPI驱动实战:DAC驱动设计流程

基础回顾: 【IMX6ULL驱动开发学习】10.Linux I2C驱动实战:AT24C02驱动设计流程_阿龙还在写代码的博客-CSDN博客 【IMX6ULL驱动开发学习】11.Linux之SPI驱动_阿龙还在写代码的博客-CSDN博客 一、编写驱动 查看芯片手册,有两种DAC数据格式&a…

Linux 驱动开发基础知识——内核对设备树的处理与使用(十)

个人名片: 🦁作者简介:学生 🐯个人主页:妄北y 🐧个人QQ:2061314755 🐻个人邮箱:2061314755qq.com 🦉个人WeChat:Vir2021GKBS 🐼本文由…

Linux 驱动开发基础知识——总线设备驱动模型(七)

个人名片: 🦁作者简介:学生 🐯个人主页:妄北y 🐧个人QQ:2061314755 🐻个人邮箱:2061314755qq.com 🦉个人WeChat:Vir2021GKBS 🐼本文由…

Linux应用开发基础知识——文件IO操作(三)

前言: 在 Linux 系统中,一切都是“文件”:普通文件、驱动程序、网络通信等等。 所有的操作,都是通过“文件 IO”来操作的。所以,很有必要掌握文件操作的常用接口。 目录 一、文件IO 1.什么是文件: 2.怎么…

LVGL 在framebuffer设备上的移植

LVGL 在framebuffer设备上的移植 ItemDescDate2023-12-31Authorhongxi.zhuplatformNXP I.MX6ULLLCDSPI TFTLCD NV3030B 文章目录 LVGL 在framebuffer设备上的移植一、LVGL源码获取二、源码修改适配三、编译&运行补充 一、LVGL源码获取 新建lvgl_imx6ull文件夹&#xff0c…

Linux应用开发基础知识——输入系统应用编程(八)

前言: 触摸屏分为电阻屏、电容屏。电阻屏结构简单,在以前很流行;电容屏支持多点触摸,现在的手机基本都是使用电容屏。我们应当注意的是LCD、触摸屏不是一回事,LCD 是输出设备,触摸屏是输入设备。制作触摸屏…

【IMX6ULL驱动开发学习】15.IMX6ULL驱动开发问题记录(sleep被kill_fasync打断)

发现问题的契机: 学习异步通知的时候,自己实现一个功能:按键控制蜂鸣器,同时LED灯在闪烁 结果:LED好像也同时被按键控制了 最后调试结果发现: 应用层的sleep被驱动层的kill_fasync打断,所以sle…

Linux基础项目开发2:物联网监控——视频监控方案介绍(一)

前言: 这次我们来做一个关于视频监控的基础小项目,需要我们用到网络的相关知识,还会学到好多优秀的网络协议,下面让我们开始对物联网视频监控进行一个大体框架的介绍吧 目录 项目内容: 1.视频监控方案介绍 2.视频监控…

Linux下的IMX6ULL——环境搭建与软件安装(一)

前言: 从今天开始我们就要用到IMX6ULL这块开发板进行linux的学习了,对于初学者,下载好资料、搭建好开发环境后,按照下面顺序学习即可: 先应用,再驱动,最后做项目。应用、驱动、项目这三个慢慢走…

Linux驱动之设备树下的platform驱动

目录 一、设备树下的 platform 驱动简介 二、修改设备树文件 2.1 添加 LED 设备节点 2.2 添加 pinctrl 节点 2.3 检查 PIN 是否被其他外设使用 三、platform 驱动程序编写 四、测试 APP 编写 五、运行测试 5.1 编译 5.2 运行测试 前面一篇我们讲解了传统的、未采用设备…

编写虚拟UART驱动程序-框架

一、框架回顾 二、编写UART驱动要做的事 1.注册一个uart_driver 2. 对于每一个port,都会在设备树里面有一个节点 3. 设备树里的节点和platform_driver节点匹配 4. 当platform_dirver的probe函数被调用时,可以获得设备树里的信息,从而把每个串…

编译替换内核_设备树_驱动_IMX6ULL

前言: 使用的开发板为韦东山老师的 IMX6ULL 目录 为什么编译驱动程序之前要先编译内核? 1.驱动程序要用到内核文件: 2.编译驱动时用的内核、开发板上运行到内核,要一致: 3.更换板子上的内核后,板子上…

imx6ull开发板调试nfs环境配置+运行hello程序

20210314imx6ull开发板nfs环境配置 1.设置git邮箱和用户名 wangwang-virtual-machine:~$ git config --global user.name "snaking616" wangwang-virtual-machine:~$ git config --global user.email "snaking616163.com" wangwang-virtual-machine:~$ gi…