自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xxwl的博客

学会分享,升华自己

  • 博客(15)
  • 资源 (6)
  • 收藏
  • 关注

原创 linux驱动在sys下添加读写属性

class_create 用来创建一个类,存放于sysfs下面,卸载时配套使用class_destroydevice_create 在/dev/目录下创建相应的设备节点,在加载模块的时候,用户空间的udev会自动响应device_create函数,去/sysfs下寻找对应的类似而创建设备节点,卸载时配套使用 device_destroydevice_create_file 实际调用s

2016-11-25 19:59:26 5968

原创 platform设备和驱动的注册机制

首先,如果对platform设备和驱动的注册机制不熟悉的话,可以先看一下大神的博客 http://blog.csdn.net/zqixiao_09/article/details/50888795一、下面逐一分析一下每一个函数的功能 1、platform_device_register //把设备注册到platform bus上1)platfor

2016-11-24 21:49:21 854

原创 模拟SPI实现和调试流程

一般来说,所有的spi通信设备都可以使用模拟spi来实现,而且模拟spi的好处就是不需要针对每一款mcu去重新熟悉其spi控制器的配置,只要简单配置一下spi_clk、spi_cs、spi_mosi、spi_miso四个引脚的输入输出即可,具有很好的可移植性。下面我以stm32为例,简单讲解一下模拟spi的实现和调试流程,实例中spi以上升沿来进行收发数据1、首先先贴出代码 //初始化spi

2016-11-22 20:27:41 21459

原创 模拟i2c实现流程

首先,在理论上,先分析一下I2C具体都包含了那些内容,后面再结合实例分析一下模拟I2C实现的具体流程第一,I2C的具体包括以下几部分内容 1、I2C协议 2条双向串行线,一条数据线SDA,一条时钟线SCL。 SDA传输数据是大端传输,每次传输8bit,即一字节。 支持多主控(multimastering),任何时间点只能有一个主控。 总线上每个设备都有自己的一个a

2016-11-22 20:21:47 4904

原创 linux i2c驱动注册流程

以x210的触摸屏为例,分析一下i2c驱动注册的流程 1、在arch\arm\mach-s5pv210\mach-x210.c中 //新建一个i2c设备信息结构体static struct i2c_board_info i2c_devs1[] __initdata = { { I2C_BOARD_INFO("gslX680", 0x40), },};//把新的i

2016-11-22 20:09:01 678 1

原创 总结一下使用过的几类LCD屏特点

1、MCU屏一般MCU屏都会自带显存,接口为16位的80并口,相当于支持RGB565模式,8080是通过"读使能(RE)"和"写使能(WE)"两条控制线进行读写操作。关键管脚说明RESET脚,复位LCD RS      寄存器选择,置1为写数据,置0为写命令,1表示选择命令寄存器,0表示选择数据寄存器CS      片选信号RD      置0表示读数据WR

2016-11-22 12:52:45 7400

原创 ubuntu进行交叉编译时出现gcc版本无法识别

如果使用ubuntu进行交叉编译时,出现gcc版本无法识别的情况,那么修改把系统的语言设置为英文 vim /etc/default/locale中文修改为:LANG="zh_CN.UTF-8"LANGUAGE="zh_CN:zh"英文修改为:LANG="en_US.UTF-8"LANGUAGE="en_US:en"

2016-11-18 23:11:44 1285

原创 QT、文件系统和应用程序三者的关系

在我们进行嵌入式linux开发时,很多人都会对QT、文件系统和应用程序三者的关系不太清楚,下面简述一些它们之间的关系1、构建linux嵌入式系统分为5部分:bootloader移植、内核移植、根文件系统构建、图形系统构建和应用程序开发2、bootloader用于加载并引到内核3、内核用于加载模块驱动、挂载根文件系统和启动init进程4、根文件系统

2016-11-18 23:10:59 2764

原创 linux启动时间优化措施

在我们进行linux系统优化时,可以从以下几方面入手1、如果有硬性的启动时间要求,比如开机时间要求达到10s以内,那么就必须要硬件上面支持。比如使用一般的nand flash想达到那么快的速度那是不可能,至少要20秒以上,所以这个时候,就必须要使用inand来实现。2、当硬件确定支持启动时间要求后,软件方面可以由以下方面入手1)bootloader的启动,由于bootloader在

2016-11-18 23:10:17 4777 1

原创 ucosiii中断管理特性

ucosiii在中断管理的特性总结1、当ISR处理完成后,程序会返回中断前的任务或更高优先级的任务。2、长时间关中断可能会导致中断来不及响应而重叠,即多次中断被当做一次中断。3、当多个任务具有相同优先级时,使用延迟提交方式,可以减少中断延迟时间,     因为优先级相同,那么在执行完中断服务后,仍然回到原来的程序中,会导致     另外的任务等待的时间变长。4、直接提交方式

2016-11-18 19:41:38 756

原创 ucosiii任务调度特性

任务调度1、任务级调度 OSSched()2、中断级调度OSIntExit()3、运行多个任务具有相同优先级,可以被设置为循环轮转调度4、任务发生调度的情况     (1)任务调用提交服务函数Post,发送信号量或者消息给其它任务时调度发生,调度在Post函数的结束时发生,注意          调度是不会发生(见OS_OPT_POST_NO_SCHED的可选参数)

2016-11-18 19:40:24 2488

原创 ucosiii资源管理特性

资源管理1、保护共享资源的方式     (1)关中断          能很快地结束访问共享资源,不推荐使用,因为会导致中断延迟          CPU_SR_ALLOC();     //这个宏为一个本地的变量分配了存储空间用于保存关闭中断前的CPU状态寄存器SR          CPU_CRITICAL_ENTER();          CPU_CRITICAL_

2016-11-18 19:39:52 654

原创 ucosiii系统特性

UCOSIII系统特性1、可剥夺的多任务内核,只支持单CPU2、允许一个任务优先级被多个任务使用,当这个优先级处于最高就绪态的时候,UCOSIII就会轮流调度处于这个     优先级的所有任务,让每个任务运行一段时间由用户指定的时间长度,叫做时间片3、极短的关中断时间,采用锁定内核调度的方式而不是关中断的方式保护临界段代码,降低关中断的时间,可以     快速响应中断请求,如果

2016-11-18 19:39:14 1264

原创 ucosiii信号量新特性简述

ucosiii信号量可用于ISR与任务间、任务与任务间的同步,新增加可选模式,如非阻塞等待、释放但不进行任务调度、新增任务内嵌的信号量(用户程序无需建立信号量便可与任务直接通信)     常规信号量和任务内建信号量     1)常规信号量一般使用流程声明OS_SEM TEST_SEM;OSSemCreate ((OS_SEM*)&TEST_SEM,

2016-11-18 10:48:01 1179

原创 ubuntu开发环境搭建

分享一下ubuntu12.04开发嵌入式软件时的环境搭建流程

2016-11-17 22:25:04 700

ET6037Y 18路 RGB IC 驱动

ET6037Y 18路 RGB IC 驱动

2016-10-13

嵌入式Linux应用程序开发标准教程》(第2版)配套PPT.rar

嵌入式Linux应用程序开发标准教程》(第2版)配套PPT

2016-02-18

嵌入式Linux应用程序开发标准教程》(第2版)光盘源代码

嵌入式Linux应用程序开发标准教程》(第2版)光盘源代码

2016-02-18

Android 串口 JNI 代码

Android串口JNI代码,亲自验证,可以进行数据收发。

2016-02-17

Android Usb OTG源码

Android Usb OTG源码,可以对USB OTG设备进行数据读写,经过验证。

2016-02-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除