IGKBoard
文章平均质量分 93
邓永豪
To be a top guy.
展开
-
[imx6ull]Linux下的SocketCAN通信
控制器局域网络(Controller Area Network,简称CAN)是一种为实时应用精心设计的串行通信协议总线。它基于双绞线传输机制,已在全球范围内得到广泛认可,并在众多场合中得到应用,成为现场总线通信技术的国际标准化方案。CAN协议最初为汽车工业所设计,目的是在车辆内部实现不同电子控制单元(ECUs)之间的高效通信,它有效地取代了成本高昂、体积庞大的传统布线系统。得益于其卓越的健壮性和可靠性,CAN协议已经成功地扩展到自动化和工业控制等多个领域。原创 2024-06-09 15:16:46 · 985 阅读 · 0 评论 -
深入探讨Linux驱动开发:驱动介绍与hello驱动实例
通过之前对于IGKBoard开发板的应用层的学习与开发,现在已经进入了对Linux驱动的学习,对于Linux驱动的学习知识我也会在学习结束,总结汇总后发到我的博客当中,大家可以用作参考。对于Linux的程序开发分为应用程序开发与内核级驱动程序开发,分别对应Linux的用户态和内核态,用户态和内核态之间的交互主要通过系统调用(system call)来实现。系统调用是一种特殊的函数调用,用于在用户态的应用程序中请求操作系统内核执行特权操作,例如访问硬件设备、创建进程、进行文件操作等。原创 2023-04-19 10:56:39 · 2807 阅读 · 0 评论 -
深入探讨Linux驱动开发:Linux设备树
设备树(Device Tree,简称 DT)是一种在嵌入式系统中描述硬件设备的一种数据结构和编程语言。它用于将硬件设备的配置信息以树形结构的方式进行描述,以便操作系统(如 Linux)可以根据这些信息正确地识别、配置和管理硬件设备。设备树最初被引入到 Linux 内核中,用于解决硬件平台多样性带来的问题。传统上,Linux 内核在编译时需要包含大量的硬件配置信息,这对于支持多种硬件平台的嵌入式系统来说是不实际的。原创 2023-04-23 17:44:01 · 1605 阅读 · 3 评论 -
深入探讨Linux驱动开发:字符设备驱动开发与测试
Linux内核将设备按照访问特性一般分为三类:字符设备、块设备、网络设备:详细的学习字符设备驱动框架之前,我们先来简单的了解一下Linux下的应用程序是如何调用驱动程序的,Linux应用程序对驱动的调用如图如所示:应用程序运行在用户空间,Linux驱动属于内核的一部分,运行于内核空间,要是用户想要实现对内核的操作,那么他必须使用系统调用来实现从用户空间到内核空间的操作。原创 2023-04-20 21:32:54 · 1227 阅读 · 1 评论 -
[imx6ull]PWM编程-蜂鸣器控制
PWM(脉冲宽度调制)是一种通过调节一系列脉冲的宽度来生成所需波形(包括形状和幅值),对模拟信号电平进行数字编码的技术。通过调节占空比来调节信号、能量等的变化。占空比是指在一个周期内,信号处于高电平的时间占据整个信号周期的百分比,例如方波的占空比为50%。PWM是一种非常有效的技术,利用微处理器的数字输出来控制模拟电路。其中,交流调光电路(如手机充电的呼吸灯)是PWM技术的常见应用之一,也可以称为无级调光。通过调节PWM信号的占空比,可以实现灯光亮度的调节。当占空比较大时,高电平的时间较长,灯光亮度增加。原创 2023-04-07 18:11:54 · 1519 阅读 · 0 评论 -
[imx6ull]Linux下TTY-串口编程
TTY 是Teletype或Teletypewriter的缩写,原来是指电传打字机,在以前计算机体积很大,所以用teletype这个设备来连接到计算机,后来这种设备键盘显示器取代,但是他们都作为计算机的终端设备所存在,所以TTY沿用至今,用来泛指计算机的终端设备,它作为一个子系统既支持串口,也支持键盘,显示器,还支持更复杂的功能。老式电传打字机。原创 2023-04-01 10:44:49 · 956 阅读 · 0 评论 -
[imx6ull]SPI接口编程-回环测试
SPI是串行外设接口(Serial Peripheral Interface)的缩写。是Motorola公司推出的一种同步串行接口技术,是一种高速的,全双工,同步的通信总线。通常由一个主模块和一个或多个从模块组成,主模块选择一个从模块进行同步通信,从而完成数据的交换。SPI 是一个环形结构,通信时需要至少4根线。它们是MISO(主设备数据输入)、MOSI(主设备数据输出)、SCLK(时钟)、CS(片选),一个主机和一个从机的一般连接方式如原创 2023-03-31 10:48:01 · 2983 阅读 · 0 评论 -
[imx6ull]ADC编程-烟雾传感器采样
MQ-2烟雾传感器是一个多种气体探测器,常用于家庭和工厂的气体泄漏监测装置,适宜于液化气、苯、烷、酒精、氢气、烟雾等的探测。MQ-2的探测范围极其的广泛。它的优点:灵敏度高、响应快、稳定性好、寿命长、驱动电路简单。如下图我使用的MQ-2:MQ-2型烟雾传感器属于二氧化锡半导体气敏材料,属于表面离子式N型半导体。处于200~300摄氏度时,二氧化锡吸附空气中的氧,形成氧的负离子吸附,使半导体中的电子密度减少,从而使其电阻值增加。原创 2023-03-26 21:16:59 · 2136 阅读 · 4 评论 -
[imx6ull]GPIO编程-LED灯设备控制
我们IGKBoard开发板支持sysfs方式控制gpio的电平行为,下面简单介绍一下sysfs方式控制,如有/sys/class/gpio文件夹,则说明系统支持sysfs方式控制gpio。/sys/class/gpio中的内容:sys/class/gpio/export文件用于通知系统需要导出控制的GPIO引脚编号/sys/class/gpio/unexport 用于通知系统注销已导出的GPIO。原创 2023-03-24 22:02:19 · 523 阅读 · 0 评论 -
[imx6ull]input设备编程-按键控制
Input 子系统是管理输入的子系统, 和 pinctrl 和 gpio 子系统一样, 都是 Linux 内核针对某一类设备而创建的框架。Input子系统是Linux对输入设备提供的统一驱动框架。如按键、键盘、触摸屏和鼠标等输入设备的驱动方式是类似的,当出现按键、触摸等操作时,硬件产生中断,然后CPU直接读取引脚电平,或通过SPI、I2C等通讯方式从设备的寄存器读取具体的按键值或触摸坐标,然后把这些信息提交给内核。原创 2023-03-23 17:38:51 · 527 阅读 · 0 评论 -
[imx6ull]文件IO-温度传感器采样
DS18B20是常用的数字温度传感器,其输出的是数字信号,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。原创 2023-03-22 10:56:34 · 367 阅读 · 0 评论 -
[imx6ull]嵌入式开发的交叉编译
在 X86 架构 Linux 系统下进行 C 程序开发时, 我们使用系统的 gcc 编译器进行代码的编译, 编译生成的可执行程序直接在 X86 架构下的 PC 下运行的,这个过程叫做本地编译 (Native Compile)。原创 2023-03-21 17:08:45 · 391 阅读 · 0 评论 -
Linux下的chmod命令
chmod命令使用符号模式可以设置多个项目:who(用户类型),operator(操作符)和 permission(权限),每个项目的设置可以用逗号隔开。 chmod命令可以使用八进制数来指定权限。文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件所有者(User)的读、写、执行,用户组(Group)的读、写、执行以及其它用户(Other)的读、写、执行。历史上,文件权限被放在一个比特掩码中,掩码中指定的比特位设为1,用来说明一个类具有相应的优先级。原创 2023-03-21 16:19:00 · 12991 阅读 · 0 评论 -
TFTP服务器搭建与使用
TFTP作为一个传输文件的简单协议,是基于UDP协议而实现的,但是也不能确定有些TFTP协议是基于其它传输协议完成的。此协议设计的时候是进行小文件传输的,因此它不具备通常的FTP的许多功能,它仅提供简单的文件传输功能,不能列出目录,不进行认证,且传输8位数据,传输由客户端发起。在我们的交叉编译时,就可以用到TFTP协议来从我们的TFTP服务器上来获取我们所需要的编译后的可执行文件,然后在我们的客户端运行。原创 2023-03-20 20:33:52 · 6432 阅读 · 3 评论 -
[imx6ull]开发板多种连网方式精讲
在使用IGKBoard开发板时,因为没有网络,所以交叉编译遇到了困难,于是我研究了两种IGKBoard的连网方式,因为我们的IGKBoard有两个以太网接口,并且有一个板载RealTek WiFi模块,分别可以通过网线让IGKBoard开发板连上网,也可以通过WiFi让开发板连接上网,下面就让我来对这两种连网的方式来进行讲解。本篇对于IGKBoard开发板的两种连网方式进行了讲述,那么对于开发板连网你一般更喜欢用哪一种方法呢?原创 2023-03-13 21:39:19 · 2557 阅读 · 0 评论 -
[imx6ull]IGKBoard开发板介绍
最近拿到的新开发板IGKBoard(IoT Gateway Kit Board)开发板,这是一块基于NXP i.MX6ULL系列Cortex-A7高性能处理器设计的物联网开发板,下面让我们一起来了解一下这款开发板吧。这款开发板有如上图的配置,包括了CortexA7的处理器、512KB的内存、8GB的Flash、板载的RealTek WiFi模块、两个以太网接口、音视频接口等,对于之后的开发提供了强大的支持。原创 2023-03-13 09:43:23 · 222 阅读 · 0 评论