首页 > 其他分享 >IMX6ULL开发板spi OLED驱动

IMX6ULL开发板spi OLED驱动

时间:2024-06-24 10:55:37浏览次数:13  
标签:cnblogs 1742799 OLED spi oled other https IMX6ULL com

本文是IMX6ULL开发板spi OLED驱动学习笔记,方便后面查看时快速的回顾,而不需要一点点的看视频

视频地址:
https://www.bilibili.com/video/BV1Yb4y1t7Uj?p=144&spm_id_from=pageDriver&vd_source=1d93d6a5e22d4b223c6c3ac4f5727eb8

视频选集:P141 - P150

1、将文件上传到虚拟机共享目录
file

2、make编译出驱动
file

3、修改设备树

vim 100ask_imx6ull-14x14.dts
file

&ecspi1 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_ecspi1>;
		
    fsl,spi-num-chipselects = <2>;
    cs-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>, <&gpio4 24 GPIO_ACTIVE_LOW>;
    status = "okay";

    oled: oled {
        compatible = "100ask,oled";
        reg = <0>;
        spi-max-frequency = <1000000>;
        dc-gpios = <&gpio4 20 GPIO_ACTIVE_HIGH>;
    };
		```
编译设备树:
![file](/i/l/?n=24&i=other/1742799/202406/1742799-20240624104757076-887665210.png)
注意:必须退回到linux内核目录里编译

将设备树文件放到共享目录:

`cp arch/arm/boot/dts/100ask_imx6ull-14x14.dts /home/book/nfs_rootfs/`

4、替换设备树

进入开发板,将设备树拷贝到/boot之后重启

`mount -t nfs -o nolock,vers=3 192.168.5.11:/home/book/nfs_rootfs /mnt`
![file](/i/l/?n=24&i=other/1742799/202406/1742799-20240624104757278-526445394.png)

5、验证设备树

进入设备树查找oled 

`cd /sys/firmware/devicetree/base`

`find -name "*oled*"`
![file](/i/l/?n=24&i=other/1742799/202406/1742799-20240624104757448-75871267.png)

进入oled目录查看:

`cd ./soc/aips-bus@02000000/spba-bus@02000000/ecspi@02008000/oled`
![file](/i/l/?n=24&i=other/1742799/202406/1742799-20240624104757615-2008571055.png)

6、安装驱动

·insmod oled_drv.ko·
![file](/i/l/?n=24&i=other/1742799/202406/1742799-20240624104757784-1206741841.png)

7、执行oled_test验证

`./oled_test /dev/myoled`
![file](/i/l/?n=24&i=other/1742799/202406/1742799-20240624104757969-1925996638.png)
![file](/i/l/?n=24&i=other/1742799/202406/1742799-20240624104758185-1460660820.png)
> 本文由博客一文多发平台 [OpenWrite](https://openwrite.cn?from=article_bottom) 发布!

标签:cnblogs,1742799,OLED,spi,oled,other,https,IMX6ULL,com
From: https://www.cnblogs.com/xjxcxjx/p/18264560

相关文章

  • STM32通过SPI硬件读写W25Q64
    文章目录1. W25Q642.硬件电路3. 软件/硬件波形对比4.STM32中的SPI外设5.代码实现5.1MyI2C.c5.2 MyI2C.h5.3W25Q64.c5.4 W25Q64.h5.5 W25Q64_Ins.h5.6main.c1. W25Q64对于SPI通信和W25Q64的详细解析可以看下面这篇文章STM32单片机SPI通信详解-CSDN......
  • STM32通过SPI软件读写W25Q64
    文章目录1.W25Q642.硬件电路3. W25Q64框架图4. 软件/硬件波形对比5.代码实现5.1MyI2C.c5.2 MyI2C.h5.3W25Q64.c5.4 W25Q64.h5.5 W25Q64_Ins.h5.6main.c1.W25Q64对于SPI通信和W25Q64的详细解析可以看下面这篇文章STM32单片机SPI通信详解-CSDN博客......
  • 通讯协议大全(UART,RS485,SPI,IIC)
    参考自: 常见的通讯协议总结(USART、IIC、SPI、485、CAN)-CSDN博客UART那么好用,为什么单片机还需要I2C和SPI?_哔哩哔哩_bilibili5分钟看懂!串口RS232RS485最本质的区别!_哔哩哔哩_bilibili喜欢几位博主老师老师的还请看原贴/原视频数据通信 数据通信是指通过某种传......
  • [题解]AT_abc236_f [ABC236F] Spices
    思路首先对所有的\(c\)从小到大排序,然后对于每一个值如果之前能凑出就不选,否则就选。这样做显然是对的。令\(p_1,p_2,\dots,p_{2^n-1}\)表示将\(c\)排序之后,对应原来的下标;\(S\)表示选出数的集合;\(S'\)表示最终选出数的集合。可以证明两个问题:如果\(p_i\)可以被已选......
  • STM32单片机SPI通信详解
    文章目录1.SPI通信概述2.硬件电路3.移位示意图4.SPI时序基本单元5.SPI时序6.Flash操作注意事项7.SPI外设简介8.SPI框图9.SPI基本结构10. 主模式全双工连续传输11. 非连续传输12. 软件/硬件波形对比13.代码示例1.SPI通信概述SPI(SerialPeriphera......
  • 【SPIE出版】第六届无线通信与智能电网国际会议(ICWCSG 2024,7月26-28)
    随着科技的飞速发展和能源需求的日益增长,智能电网技术逐渐成为电力行业的重要发展方向。与此同时,无线通信技术在近年来也取得了显著的进步,为智能电网的发展提供了强有力的支持。为了进一步推动无线通信与智能电网的结合与发展,第六届无线通信与智能电网国际会议(ICWCSG2024......
  • Cannot generate SSPI context
         1.分析  1)获取服务器的SPN    a)通过SQLCheck.exe(需要到微软官网进行下载)    b)通过setspn工具  2)判断SPN是否正确,如果不正确则需要矫正SPN    a)如果好的连接找不到任何SPN则会使用NLTM    b)如果好的连接能找到......
  • 一站式统一返回值封装、异常处理、异常错误码解决方案—最强的Sping Boot接口优雅响应
    1.前言统一返回值封装、统一异常处理和异常错误码体系的意义在于提高代码的可维护性和可读性,使得代码更加健壮和稳定。统一返回值封装可以避免每一个接口都需要手工拼装响应报文;统一异常处理可以将异常处理的逻辑集中到一个地方,避免代码中出现大量的try-catch语句,降低了代码的......
  • Flash驱动控制--芯片擦除(SPI协议)
    摘要:本篇博客具体包括SPI协议的基本原理、模式选择以及时序逻辑要求,采用FPGA(EPCE4),通过SPI通信协议,对flash(W25Q16BV)存储的固化程序进行芯片擦除操作。关键词:SPI;VerilogHDL;Flash【SPI协议通信模式】SPI是Motorola公司推出的一种同步串行接口,是一种高速、全双工、同步的通信总......
  • 嵌入式通信协议-----SPI协议详解
    目录一、简介1.概念2.特点3.优缺点 4.应用场景二、通信原理三、通信特性1.时钟频率2.时钟极性(CPOL)3.时钟相位(CPHA)4.四种模式5.多主机模式(1)多片选(2)菊花链四、编程实现五、三种SPI比较1.DualSPI2.QueuedSPI3.三者的区别一、简介1.概念      SP......