1.硬件:使用正点原子的IMX6ULLLinux开发板开发板底板原理图版本:V2.1核心板原理图版本:V1.6LCD:MSP2402(ICILI9341)2.查找可用引脚开发板上引出的引脚是在JP6上,只看JP6会发现没有可用的SPI引脚,但是查看底板原理图中与核心板相连的位置会发现其实JP6上的UART2的TX/RX/CTS/RTS四个引脚正好可以复用为ECSPI3的MISO/MOSI/CLK/SS0四个引脚,SPILCD还需要三个IO口作为Reset/DC/背光的控制引脚,如下图所示(但是我是偷懒了,将背光引脚直接接的V3.3)3.添加支持SPILCD的设备树节点(不废话,直接上干货)
1 硬件资源创龙科技SOM-TLIMX6U是一款基于NXPi.MX6ULL的ARMCortex-A7高性能低功耗处理器设计的低成本工业级核心板,主频792MHz,通过邮票孔连接方式引出Ethernet、UART、CAN、LCD、USB等接口。核心板经过专业的PCBLayout和高低温测试验证,稳定可靠,可满足各种工业应用环境。SOM-TLIMX6U核心板板载CPU、ROM、RAM、晶振、电源、LED等硬件资源,并通过邮票孔连接方式引出IO。图1核心板硬件框图图2图31.1 CPU核心板CPU型号为MCIMX6Y2CVM08AB,MAPBGA封装,工作温度为-40°C~105
一、APP与驱动之间传输数据/*驱动从APP获取数据*/unsignedlongcopy_from_user(void*to,constvoid*from,unsignedlongn)/*驱动传输数据到APP*/unsignedlongcopy_to_user(void*to,constvoid*from,unsignedlongn)二、使用copy_to_user、copy_from_user在APP与hello驱动之间传输数据测试方式:./hello_test/dev/hello1234abcAPP向驱动程序写入数据./hello_test/dev/helloAPP从驱动程序读出刚才写入的
不知道什么原因用最近MXKeys蓝牙连接mac怪卡的,按一个键按四五下电脑上才有反应。于是还是想用无线接收器连接来控制电脑。按照壳子上按fn+o来切换好像不太管用。。。于是试了很久,最后用罗技自家的键盘管理软件切换上了。先下一个LogiOptions+。下载链接:https://www.logitech.com.cn/zh-cn/software/logi-options-plus.html#software-download打开后可以看到3个匹配设备:然后回到起始页,点添加设备然后这样就连上了。
此为软件模拟IIC,可以直接移植到HAL库使用。.h文件需要自己做函数声明这里就不再放出,如有问题大家可以讨论。使用的时候只需要更改SDA和SCL引脚的宏定义就可以移植使用,当然IIC协议其实就是根据IIC的时序图编写代码,主要内容就是包括开始信号,停止信号以及发送数据的格式、接收数据和数据的应答。此IIC代码可以供所有的IIC模块使用,包括IIC必须要的几个基本功能代码中都已经给出。下面开始来介绍IIC协议。IIC协议具体内容写数据:主机给从机发从机只收SDA为输出模式读数据:从机给主机发主机收SDA为输入模式IIC具体内容:(只规定了开始信号停止信号8位数据(发8位收一位ACK)ACK应答
通过GPIO子系统函数点亮LED1、GPIO子系统函数1.1确定led的GPIO标号,查看内核中的gpiochip查看gpiochip,以正点原子的IMX6ULL阿尔法开发板为例[root@100ask:/sys/class/gpio]#cat/sys/kernel/debug/gpio查看原理图,发现led接的引脚是GPIO1_IO3,对应/sys/kernel/debug/gpio中的gpiochip0组,gpiochip0组从0开始算起,所以GPIO1_IO3对应的标号就是0+3=3了(可是实际操作中设置为4才能点亮LED,这里不知道是什么道理,懂得朋友麻烦评论区指点一下)1.2请求GP
文章目录1.APP怎么读取按键值1.1妈妈怎么知道孩子醒了1.2APP读取按键的4种方法1.2.1查询方式1.2.2休眠-唤醒方式1.2.3poll方式1.2.4异步通知方式1.2.4.1异步通知的原理:发信号1.2.4.2应用程序之间发信号示例代码1.2.5驱动程序提供能力,不提供策略1.APP怎么读取按键值APP读取按键值,需要有按键驱动程序。为什么要讲按键驱动程序?APP去读按键的方法有4种:①查询方式②休眠-唤醒方式③poll方式④异步通知方式通过这4种方式的学习,我们可以掌握如下知识:①驱动的基本技能:中断、休眠、唤醒、poll等机制。这些基本技能是驱动开发的基础,其他大型驱动复杂的
文章目录一、CAN总线协议1.简介2.电气属性3.通信原理①数据帧的帧格式:②总线同步③总线竞争④数据保护二、Linux下CAN的操作1.硬件连接①CAN电平转换器②扩展板使用CAN2.查询can信息3.开启/关闭can4.发送/接收can数据5.设置can参数三、CAN的回环测试四、CAN的应用编程1.程序代码2.makefile3.程序测试一、CAN总线协议1.简介控制器局域网总线(CAN,ControllerAreaNetwork)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一,是ISO国际标准化的串行通信协议。CAN协议用于汽车中各种
文章目录1.驱动进化之路:设备树的引入及简明教程1.1设备树的引入与作用1.2设备树的语法1.2.1Devicetree格式1.2.1.1DTS文件的格式1.2.1.2node的格式1.2.1.3properties的格式1.2.2dts文件包含dtsi文件1.2.3常用的属性1.2.3.1#address-cells、#size-cells1.2.3.2compatible1.2.3.3model1.2.3.4status1.2.3.5reg1.2.3.6name(过时了,建议不用)1.2.3.7device_type(过时了,建议不用)1.2.4常用的节点(node)1.2.4.1根节点1
软硬件环境:主控:Zynq®UltraScale+™xczu9Flash:GD25Q128E,GD55B02GE系统:petalinux2021.2Kernel:5.10.0Vivado版本:2022.2概述:承接上一篇,zynq/zynqmp在fsbl适配(gd/winbond/mx)等xilinx官方不支持的flash后,使用vivado该如何烧录BOOT.bin的问题。对于vivado不支持的FLASH烧录会报错的问题(ErrorwhiledetectingSPIflashdevice-unrecognizedJEDECidbytes:c8,47,1a),如何解决?本文以gd25b512