【NXP开发板应用—智能插排】2.初步解析example之GPI

【前言】
首先感谢深圳市米尔科技有限公司举办的这次活动并予以本人参加这次活动的机会,以往接触过嵌入式,但那都是皮毛,最多刷个系统之类的,可以说对于嵌入式系统开发这件事情是相当非常陌生的,这次活动为我提供了一个非常好的入门和学习嵌入式的机会,同时在社区及技术群内也得到了很大的帮助和鼓励,这也是我不断前行和进步的动力,在这里一并致谢了。下面我附上本次学习心得及过程。
米尔MYS-6ULX单板机介绍:
MYS-6ULX是一款以NXP i.MX6UL/i.MX6ULL处理器,Cortex-A7内核为核心的嵌入式单板机,主频为528MHz。配备了256MB高速DDR3、256M NAND Flash,集成了以太网、WIFI、LCD接口、USB OTG、USB Host、TF Card、用户按键、用户LED、IO扩展接口等功能。
详细介绍:[http://www.myir-tech.com/product/mys_6ulx.htm]
收到米尔的板子,先上图:

【概述】
计划通过本次项目实现一些家庭电器设备控制,进现实现远程监控;
1,实现计时控制插排包括,计时,延时,定时,倒计时,周期开通和关闭功能;
2,实现PWM调控灯光或者风扇调速;
3,实现红外遥控控制空调。

【初步解析example之GPIO】

我做的项目是直接通过开发板的gpio控制插排,从而控制用电设备,有两种状态,一个是开关状态,另外一个是pwm控制灯光和风扇转速等, 网上查阅了很多资料,终于明白了嵌入式linux的初始化开发板的资源的方式,通过Device Tree来驱动和加载设备的,相当于我们mcu设备初始化的时钟,io,uart等。下面我们通过简单的几步来理解是如何实现的

我做的项目是直接通过开发板的gpio控制插排,从而控制用电设备,有两种状态,一个是开关状态,另外一个是pwm控制灯光和风扇转速等, 网上查阅了很多资料,终于明白了嵌入式linux的初始化开发板的资源的方式,通过Device Tree来驱动和加载设备的,相当于我们mcu设备初始化的时钟,io,uart等。下面我们通过简单的几步来理解是如何实现的

1. 开始之前,先打开一个上传到开发板的可执行命令 gpio_led ,如下图所示

我们看到带参数的,再看看源代码是怎么处理参数的

到这里我们大概明白了,就是通过参数来控制gpio的,那么我们是不是随标敲一个参数就能控制任意gpio了?显然是不可能的(也有凑巧的概率)
那么是怎么实现这个参数的呢?简单说就是这些cpu,gpio,uart等资源都放在了dts文件里,最后编译成dtb,由uboot引导程序初始化并以参数方式提交给kernel,这就是为何通过uart(usb-ttl)可以看到系统启动加载的一些信息。

2、系统通过dts文件来维护device tree的,我们通过米尔提供的开发手册找到该文件,如下图所示

我们只需找到相应的dts文件,打开看到

include 文件指向另外一个dts文件,找到该文件并打开

阅览打开的文件发现了,gpio_leds,gpio_key和本次相关的资源,其他资源略。
下图的节点及定义,简单的说一下结构
a) leds表示节点名称
b) compatible属性用于of_find_node_compatible函数获取设备节点用的,这个函数的通过”gpio-leds“字符串去遍历device tree,查找匹配的设备节点
c) pinctrl-0 = <&pinctrl_leds>主要用于说明设备硬件资源在哪里获取,比如这里就是到iomuxc里面去获取IO资源
还有gpios这个很容易看懂了。

iomuxc设备节点里面定义了CPU所有的IO资源,包括每个IO口的初始化状态都定义好了,比如leds,key

5经过3,4两步创建所需功能的节点,然后交叉编译dts=》dtb,下载到开发板,这些步骤参考开发手册。

经过以上的操作,基本完成了设备的驱动的开发。下一步开始本次项目,智能插排,按照上述办法先完成驱动。然后是控制命令,最后是gui(这部分对我来说比较难,我不会qt,可能会使用webserver,基于websocket控制,前一阵子参加双核大赛研究了一阵子websocket)。

后续继续更新博客,敬请关注,有同道者欢迎提出建议。
声明:本文首发在与非网社区 NXP论坛?竞技场?恩智浦/米尔i.MX6ULL竞赛专区.?作者论坛ID:leo121_3006061

原文地址:https://www.cnblogs.com/cbd7788/p/9627675.html

时间: 2024-10-21 01:18:39

【NXP开发板应用—智能插排】2.初步解析example之GPI的相关文章

第八篇:基于物联网/WIFI/单片机的智能插排控制系统论文、开题报告、原理图(全套毕业设计资料,绝对干货,内附下载链接)

首先打个广告:如果需要做毕设以及嵌入式项目合作,欢迎进入我们工作室:创想嵌入式设计工作室 以下时本人独立开发设计的毕设项目课题:<基于物联网/WIFI/单片机的智能插排>,现在共享出来供大家参阅,可用于做项目时借鉴,博尾附有下载链接.(内附本人联系方式,可一起交流探讨,交朋友). 针对本课题,本次共享的资料包几乎涵盖毕业设计所需的全部资料:设计方案,开题报告,程序源码,原理图,模块资料,论文,答辩PPT,模块学习资料,等等.本资料包不仅仅适用于"基于物联网/WIFI/单片机的智能插排

启明开发板测试以太网插拔网线

stm32官方开发板是用PB14连接DP83848的INT管脚 当前,启明DP83848的INT管脚只是上拉了,并没有连接PB14, PB14目前连接的是USB_HS_DM. 要想测试插拔网线,只能自己飞线,同时,USB_HS_DM不能使用. 把板子背面的R59焊掉. R59靠近板子中心的接点,连接,R45靠近dp83848芯片的接点. 原文地址:https://www.cnblogs.com/yanhc/p/8955780.html

TQ210v6开发板——工业音频端口编解码详细解析(图解)

TQ210V6开发板作为天嵌2014年隆重推出的最新210开发板,其端口设计对比以前的210开发板有一定的提升.下面,小编将为大家详细解析TQ210V6开发板的音频端口的编解码设计,还附有详细的音频接口详细解析图. TQ210v6的I2S音频电路采用Wolfson Microelectronics 音频转换芯片WM8960,WM8960是一款低功耗.高质量的立体编码解码器,专为便携式数字音频应用设计. WM8960集成了一个完整的麦克风接口和一个立体声耳机驱动器,由于不再需要单独的麦克风.扬声器

iTOP-4412开发板10.1寸[金属框]屏幕硬件修改支持排线和HDMI

注:iTOP-4412开发板(精英版和全能版)同时也有10.1寸屏幕,如果 金属框10.1寸屏幕(如下图所示)转接板使用的默认焊接方式 则默认只能使用HDMI线, 不能支持FPC排线. 本文档介绍,如何修改转接板背面的配置电阻,在iTOP-4412底板上同时支持HDMI和 FPC线. 如下图所示,是 10.1 寸屏幕的配置电阻原理图部分截图. 如下图所示,这是 PCB 截图,左边的一排电阻是 4412 的配置,右边的一排电阻是其它 开发板的配置. 如下图所示,如果焊接椭圆框中的电阻,iTOP-4

通过TFTP服务器,往开发板下载程序

主要内容: (1):设置开发板的网络配置 (2)打开window下的tftp终端软件(即启动window下的fttp服务) (3)在u-boot下输入下载命令进行下载 进行下载 具体步骤 一.设置开发板的网络配置 根据把开发板的IP地址设置为跟 window的同一个网段下的地址后,接网线(最好将开发板接在路由器上),然后在u-boot下ping   window(因为在windows下ping开发板,开发板时不回复的) 我们可以看到  host 192.168.1.102 is alive  即

TPYBoard V102:能跑Python的stm32开发板

近来micropython语言做硬件编程很火,随之而来的就开始带动着支持micropython语言编程的开发板也开始火的发烫,今天小编就来和大家介绍一款很经典的micropython开发板-TPYBoardV102开发板. 一.板载硬件资源介绍 按照惯例先来介绍一个这块开发板的硬件组成,个人感觉这个开发板的性能还是属于相当不错的,下面详细介绍一下. TPYBoardV102是以遵照MIT许可的MicroPython为基础,由TurnipSmart公司制作的一款MicroPython开发板,它基于

NXP恩智浦VEGA织女星开发板免费申请!

前言 大概两周前申请了一块NXP恩智浦的开发板,今天终于收到了!在这里推荐给大家,官方网站刚上线一个月左右,目前申请的人还不算多,感兴趣的朋友可以申请一个,体验一下这个四核性能怪兽.大厂就是大气,包装盒,开发板,Micro USB数据线,跳线帽一应俱全,全国包邮! 包装盒 开发板正面 重点是主控芯片--NXP推出的RV32M1异构4核MCU芯片,片上集成两个RISC-V架构内核和两个ARM架构内核,对于ARM架构大家再熟悉不过了,从学习工作经常玩的单片机STM32,到手机用的处理器联发科.高通骁

NXP恩智浦迅为i.MX6Q开发板硬件说明

迅为i.MX6Q开发板是基于恩智浦NXP处理器平台,兼容单核,双核,工业级,汽车级,i.mx6q最新PLUS版本,可根据需要更换,开发高端产品无忧. i.MX6Q开发板接口介绍 i.MX6Q核心板-四核商业级: i.MX6Q核心板-四核工业级: i.MX6Q核心板-PLUS商业级: i.MX6DL核心板-双核商业级: 底板结构尺寸 : 1. POWER 电源接口 电源输入为 12V/2A+,给底板供电. 原理图部分如下图所示. 2. SWITCH 电源开关 轻触电源开关可以控制开发板电源通断.

MT7688MT7628wifi4G模块开发板与物联网智能家居的关联

21世纪,人类步入智能信息化的时代,物联网人工智能悄无声息地进入了人们的生活,慢慢地成了大家生活中不可或缺的一部分.利用网络通信技术,自动控制技术,音视频技术设施集成实现提升人们生活的安全性,便利性,舒适性,艺术性,并实现环保节能的生活环境.如智能家居,车联网,4G路由器,wifi视频,wifi音箱,wifi图传,吸顶AP,远程控制,可视门铃等等!BOJINGnet基于MT7688MT7628wifi模块开发板研发出了物联网智能家居既有的各大测试功能:◆ 4G LTE转WiFi或网口,支持移远E