I.MX6UL+Linux
zheng是在下
一骑绝尘蓝天笑
展开
-
linux下开发IIC
引入:通过开发LED,按键,中断等驱动,能够发现linux下开发无非是以下几点:找到结构体 初始化结构体 向内核注册 不用的时候向内核注销IIC分为控制器部分和设备驱动控制器部分是完成IIC控制器的初始化,包括使用的引脚,时钟,速度,读写功能。设备驱动包括所使用的设备寄存器的配置,和寄存器的读取,即如何向所使用的设备写入和获取数据。问题一:Linux下IIC总线驱动(I...原创 2020-03-15 16:04:03 · 533 阅读 · 0 评论 -
Linux下 INPUT子系统
知识点一:input_dev结构体1.申请input_dev结构体变量在编写 input 设备驱动的时候我们需要先申请一个 input_dev 结构体变量,使用input_allocate_device 函数来申请一个 input_dev函数原型:struct input_dev *input_allocate_device(void)2.释放input_dev使用 in...原创 2020-03-08 19:39:21 · 285 阅读 · 0 评论 -
linux驱动获取dts属性
引入:设备树描述了设备的详细信息,这些信息包括数字类型的、字符串类型的、数组类型的,我们在编写驱动的时候需要获取到这些信息。Linux 内核给我们提供了一系列的函数来获取设备树中的节点或者属性信息,这一系列的函数都有一个统一的前缀“of_”,所以在很多资料里面也被叫做 OF 函数。这些 OF 函数原型都定义在 include/linux/of.h 文件中。一、查找结点函数:1.of...原创 2020-02-11 19:01:04 · 4092 阅读 · 0 评论 -
设备树讲解
前言:设备树很简单,只需要学习语法。一、DTCDTSDTB的关系源码 :test.dts可执行文件: test.dtb编译工具:DTC编译所有dts文件:make dtbs编译指定的dts文件:maketest.dtb二、DTS 基本语法头文件:可以将芯片共有的信息提取出来作为一个通用的.dtsi文件可以将芯片共有的信息提取出来作为一个通用的....原创 2020-02-11 18:20:56 · 1187 阅读 · 0 评论 -
imx6ul挂载nfs文件系统
前提:实验开发板:imx6ul 100ask实验前提:ubuntu已经安装tftp和nfs工具,并创建了tftp目录和nfs目录 已经配置好交叉编译工具 已经下载源码压缩包并解压出文件夹100ask_imx6ul-sdk一、编译并烧写bootloader进入Uboot源码目录:cdUboot-2017.03 清除编译文件:make distclean 编译配置文件:m...原创 2020-02-07 16:07:26 · 1210 阅读 · 2 评论 -
I.MX6UL RTC实时时钟简介
1.I.MX6UL RTC简介I.MX6Ul 实时时钟为SNVS,SNVS 直译过来就是安全的非易性存储,SNVS 里面主要是一些低功耗的外设,包括一个安全的实时计数器(RTC)、一个单调计数器(monotonic counter)和一些通用的寄存器SNVS分为SNVS_HP和 SNVS_LP也就是高功耗域(SNVS_HP)和低功耗域(SNVS_LP)78/5000下图说明了SN...原创 2019-12-04 20:35:28 · 918 阅读 · 0 评论 -
i.MX6U SPI浅析
1.SPI简介SPI 全称是 SerialPerripheral Interface,也就是串行外围设备接口。SPI 是 Motorola 公司推出的一种同步串行接口技术,是一种高速、全双工的同步通信总线,SPI 时钟频率相比 I2C 要高很多,最高可以工作在上百 MHz。SPI 以主从方式工作,通常是有一个主设备和一个或多个从设备,一般 SPI 需要4 根线,但是也可以使用三根线(单向传输...原创 2019-12-04 12:24:59 · 1334 阅读 · 0 评论 -
I.MX6ULL IIC浅析
1.IIC简介IIC有两条数据线,SCL和SDA。 空闲时间SCL和SDA均处于高电平。 IIC标准模式下速度可以达到100KB/S,快模式下速度可以达到400KB/S。 IIC支持多从机,通过从机地址来区分。2.IIC必备知识1.起始位即IIC通讯协议开始标志SCL为高电平时,SDA出现下降沿。2.停止位即IIC通讯结束SCL为高电平期间SDA出现上...原创 2019-12-03 17:45:18 · 636 阅读 · 0 评论 -
I.MX6UL 中断控制器GIC浅析
GIC架构简介GIC是中断管理控制器,类似STM32的NVICGIC负责收集中断源并发送给CPU中断源--->GIC--->CPU问题一:中断源有哪些?中断源分为三种:SPI:共享中断(如串口中断,定时器中断等)PPI:私有中断SGI:软件中断为了区分这些中断源引入中断IDI.MX6U 的总共使用了 128 +32个中断 IDID0~I...原创 2019-11-21 20:34:00 · 1400 阅读 · 0 评论 -
I.MX6UL 中断浅析一
要了解中断首先要明白几个点2.中断向量表3.中断管理4.中断服务函数中断向量表中断向量表是一系列中断服务程序入口地址组成的表。主要存放中断服务函数的入口地址。比如一般 ARM 处理器都是从地址 0X00000000 开始执行指令的,那么中断向量表就是从 0X00000000 开始存放的。如果将程序下载到其他位置还要进行中断向量表偏移。比如我们将程序下载到0X878...原创 2019-11-16 17:48:08 · 1082 阅读 · 0 评论 -
I.MX6U 串口UART浅析
引入:在单片机开发过程中我们可以通过仿真来调试程序,但是I.MX6UL我们一般不使用IDE来开发也就没有所谓的仿真调试工具。所以我们一般使用串口输出信息来达到调试的目的。1.I.MX6U UART 简介•兼容高速TIA / EIA-232-F,高达Mbit / s•串行IR接口低速,兼容IrDA(最高115.2 Kbit / s)•9位或多点模式(RS-485)支持(自动从站地址检测)...原创 2019-11-07 22:27:12 · 964 阅读 · 0 评论 -
I.MX6U GPT定时器浅析
引入:I.MX6U除了EPIT定时器还有GPT定时器。GPT定时器简介:1.32位定时器2.向上计数3.12位分频值4.三个输出比较通道,可设置为输出模式5.两个输入捕获通道,可以设置触发方式6.可以产生比较中断,捕获中断,和溢出中断。7.计数器可以运行在restart和free-run模式问题一:时钟源可以选择哪几种?1.ipg_clk_24...原创 2019-11-04 23:02:45 · 774 阅读 · 0 评论 -
I.MX6U EPIT定时器浅析
引入:定时器是常用的外设,I.MX6U 提供了多种硬件定时器,有些定时器功能非常强大。而EPIT定时器比较简单,因此先挑软柿子捏。EPIT简介1.是一个32位定时器2.12位分频3.3种时钟源可以选择4.递减计数问题1:可选择的时钟源是哪几个?1.高频参考时钟ipg_clk_highfreq2.低频参考时钟ipg_clk_32k3.外围时钟ipg...原创 2019-11-04 21:03:39 · 487 阅读 · 0 评论 -
I.MX6U 启动方式浅析
引入:前段时间浅析了一些I.MX6U的寄存器,那么接下来肯定是下载实验,但是下载前首先要知道I.MX6U是如何启动的。问题一:I.MX6U 有哪几种启动方式?引导ROM支持以下引导设备:•NOR闪存•NAND闪存•OneNAND闪存•SD / MMC•串行(SPI)NOR闪存和EEPROM•QuadSPI(QSPI)闪存问题二:如何选择启动方式?BOOT 的处理过程是...原创 2019-11-02 13:24:13 · 955 阅读 · 0 评论 -
linux 设备树 浅析
引题:linux以前的版本如果在linux下新增一款开发板的支持,需要在内核的arch/arm/mach-xxx 和 arch/arm/plat-xxx 文件夹下增加.c和.h文件。例如你自己设计了一款开发板,你就需要新增.c和.h文件来定义一些信息,但这些信息只针对你自己这款开发板。因此当linux应用的越来越广泛,linux产品越来越多,这些.c和.h文件也就会越来越多,使得内核越来越庞大,因...原创 2019-10-29 22:35:21 · 465 阅读 · 0 评论 -
I.MXUL使用Linxu点亮一个LED
明确:1.LED属于字符设备驱动,2.关于字符设备的介绍在上篇文章中有介绍,3.关于GPIO的操作在之前文章中也有介绍。字符设备驱动介绍:https://blog.csdn.net/qq_35947329/article/details/102709469I.MX6UL IO分析:https://blog.csdn.net/qq_35947329/article/details/1025...原创 2019-10-25 21:28:13 · 301 阅读 · 0 评论 -
linux字符设备驱动分析
1.linux有哪些驱动?字符设备驱动块设备驱动网络设备驱动2.字符设备是什么?字符设备是一种按字节来访问的设备,常见的有LED驱动,按键驱动,串口,IIC,SPI,LCD。字符设备驱动通常要实现以下功能:打开驱动,关闭驱动,读写。例如:打开LED驱动(LED初始化)关闭LED驱动(LED反初始化)读(读取LED状态)写(设置LED状态)3.块设备是什么...原创 2019-10-23 21:10:46 · 383 阅读 · 0 评论 -
i.MX6ul时钟分析
引入I.MX6U 的系统主频为 528MHz,但是默认情况下内部 bootrom 会将 I.MX6U 的主频设置为 396MHz因此需要时钟配置截图:时钟管理系统图这两幅图主要介绍CCM的作用。CCM:时钟控制模块可以产生7路PLL,其中两路每路还可以产生4路PFDPFD是具有没有模拟组件或反馈回路。 频率开关时间比PLL快得•PLL1也称为ARM PLL•PLL2...原创 2019-10-19 11:20:51 · 824 阅读 · 0 评论 -
i.MX6UL IO分析
I.MX6U 的 GPIO 一共有 5 组:GPIO1、GPIO2、GPIO3、GPIO4 和 GPIO5,GPIO1 有 32 个 IO,GPIO2 有 22 个 IO,GPIO3 有 29 个 IO、GPIO4 有 29 个 IO,GPIO5有 12 个 IO,这样一共有 124 个 GPIO重要寄存器:以GPIO1_IO00举例IOMUXC_SW_MUX...原创 2019-10-16 21:33:17 · 1600 阅读 · 0 评论