
linux
alianqiugui
这个作者很懒,什么都没留下…
展开
-
linux-----devicetree中常用的of函数
linux下devicetree中常用的of函数从device_node中获取信息:int of_property_read_u8_array(const struct device_node *np, const char *propname,u8 *out_values, size_t sz);int of_property_read_u16_array(const struct device_翻译 2016-08-06 11:05:18 · 1010 阅读 · 0 评论 -
LDD3之并发和竞态-completion(完成量)的学习和验证
原文:http://blog.youkuaiyun.com/kangear/article/details/34898267LDD3之并发和竞态-completion(完成量)的学习和验证首先说下测试环境: Linux2.6.32.2 Mini2440开发板 一开始难以理解书上的书面语言,这里《linux中同步例子(完成量completion)》举了一个公交车上司机和乘客转载 2018-01-18 16:59:35 · 600 阅读 · 0 评论 -
spi 协议硬件分析以及在linux上的实现分析
Spi几种模式: 模式0: CPOL=0 CPHA=0 模式1: CPOL=0 CPHA=1 模式2: CPOL=1 CPHA=0 模式3: CPOL=1 CPHA=1现在看看3模式 1.CLK空闲的时候为高电平 [CPOL = 1] 2.在第二个边沿采样 [CPHA = 1]发送一字节 8bit数据原创 2018-01-11 10:34:08 · 2411 阅读 · 1 评论 -
通过printf设置Linux终端输出的颜色和显示方式
在Linux终端下调试程序时,有时需要输出大量信息。若能控制字体的颜色和显示方式,可使输出信息对比鲜明,便于调试时观察数据。 终端的字符颜色由转义序列(Escape Sequence)控制,是文本模式下的系统显示功能,与具体语言无关。 转义序列以控制字符'ESC'开头。该字符的ASCII码十进制表示为27,十六进制表示为0x1B,八进制表示为033。多数转义序列超过两个字符,故通常以'ESC'和左括转载 2017-09-10 22:46:42 · 1536 阅读 · 0 评论 -
wifi驱动的理解(1)——驱动架构
在分析WIFI驱动前,分享一下个人对Linux驱动的一些了解,其实纵观Linux众多的设备驱动,几乎都是以总线为载体,所有的数据传输都是基于总线形式的,即使设备没有所谓的总线接口,但是Linux还是会给它添加一条虚拟总线,如platform总线等;介于WIFI的驱动实在是太庞大了,同时又是基于比较复杂的USB总线,所以建议读者在看此文章之前,先了解一下USB设备驱动和网络设备驱动。 我们要看转载 2016-09-05 11:07:07 · 629 阅读 · 0 评论 -
wifi驱动的理解(2)——usb接口在wifi模块中的角色
上一篇文章我们已经通过三条线索简单地描述了wifi驱动的框架,现在我们开始深入到每条线索中。首先我们从USB设备这条线索开始。在分析之前,我们需要理解在整个wifi模块中,USB充当什么角色?它的作用是什么?实质上wifi模块上的数据传输有两端,一端是wifi芯片与wifi芯片之间,通过无线射频(RF)进行数据传输;另一端则是wifi芯片与CPU之间,通过USB进行数据传输。 了解Linux的U转载 2016-09-05 11:13:55 · 932 阅读 · 0 评论 -
linux-- input子系统分析
二 设备驱动层本节将讲述一个简单的输入设备驱动实例。这个输入设备只有一个按键,按键被连接到一条中断线上,当按键被按下时,将产生一个中断,内核将检测到这个中断,并对其进行处理。该实例的代码如下:#include <asm/irq.h>#include <asm/io.h>static struct input_dev *button_dev; /*输入设备结构体*/static irqr翻译 2016-09-22 11:07:50 · 894 阅读 · 0 评论 -
linux 内核定时器
一个简单的例子#include <linux/module.h> #include <linux/timer.h> #include <linux/jiffies.h> struct timer_list mytimer; static void myfunc(unsigned long data) { printk("%s\n", (char *)data); mod_timer(&mytime翻译 2016-09-21 09:45:04 · 424 阅读 · 0 评论 -
linux 低功耗模式中的中断链
低功耗模式实现你所有驱动的supend和resume函数.注册一个中断唤醒源,一般是GPIO,RTC中断 .然后调用echo mem > state将系统挂起到内存中,这时候SDRAM在进行self-refresh的动作.基本电源的消耗在这里了目前2.6.kernel已经为你作好了。你只需要在你每个驱动里按照接口函数suspend(…),和resume()将这个驱动的suspend 和resume完原创 2016-12-23 16:06:53 · 1740 阅读 · 0 评论 -
minicom的配置
1、在使用minicom之前,首先要保证你对串口有读/写的权限。我们知道,Linux的设备对应于/dev/目录中的某个文件,串口COM1对应ttyS0,COM2对应ttyS1,使用以下命令来查看你对COM1的权限: $ ls -l /dev/ttyS0 crw-rw—- 1 root dialout 4, 64 2009-08-01 11:05 /dev/ttyS0 可以看到,它的属主是roo转载 2016-11-04 10:14:00 · 504 阅读 · 0 评论 -
linux-------debug tools ---printk level
Firstly, we could input the command “adb shell ” –> into the machine and then, control the info flow to echo or cat /proc/sys/kernel/printk to achieve the base function that control the printk level.翻译 2016-08-11 15:51:00 · 676 阅读 · 0 评论 -
Linux 驱动---------gpio配置和基本应用
GPIO的几种模式: mode Are 高阻输入 保持高阻抗状态,彻底断开输出,避免干扰,对总线状态不起作用,此时总线可由其他器件占用。 推挽输出 可以输出高,低电平,连接数字器件。 开漏输出 输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行。$软件上就是通过设置IO口的模式,然后控制IO的上拉下拉,写入对应寄存器,通过寄存器控制电路:上拉寄存器是控制翻译 2016-08-06 09:58:21 · 3849 阅读 · 0 评论 -
LDD3之并发和竞态-completion(完成量)的学习和验证
原文:http://blog.youkuaiyun.com/kangear/article/details/34898267LDD3之并发和竞态-completion(完成量)的学习和验证首先说下测试环境: Linux2.6.32.2 Mini2440开发板 一开始难以理解书上的书面语言,这里《linux中同步例子(完成量completion)》举了一个公交车上司机和乘客...转载 2018-02-27 17:08:17 · 292 阅读 · 0 评论