自定义博客皮肤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的博客

学会分享,升华自己

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

原创 sed常用选项解析

1、-i 直接修改源文件,如果不用这个选项,必须重定向到新文件,还可将源文件修改前备份 sed -i.bak 's/123/234/' test.txt 将test.txt备份为test.txt.bak,然后将文件内出现的所有”123”替换为”234”sed -i "s/^123/234/" test.txt将 test.txt文件中以”123”开头的行的”123”换为”234” sed "s

2017-01-13 11:51:11 769

原创 指针学习的新理解一

可以把指针理解为一种”带类型”的新数据类型,下面从七个方面来说明这种”带类型”的新数据类型特征1、宽度 1)带类型的变量宽度永远是4字节,无论类型是什么,无论有几个2、声明 例子1)char* x; char类型加*的构成一个新类型2)short* y; short类型加*的构成一个新类型3)student* st; 结构体类型加*的构成一个新类型4)char*** x;

2016-12-24 16:34:04 451

原创 嵌入式系统设计与开发的生命周期简析

在实际开发产品的过程中,我们往往都会遵循一定的规则去进行开发,就如工人在砌墙之前,先画好图纸,然后评审,修改,再去建立整个楼房的框架,等整个框架都建立好了,那么就开始砌墙了,这个时候,工人只需要按照框架把砖给堆砌上去即可,不需要在砌墙的过程中还要去考虑如何去布局空间的问题,既提高了工作的效率,同时也减少了出错率。当然,这种方式的关键在于如何把这个框架给定合理,因为它将决定整个工程的质量。所以,在我们

2016-12-23 19:24:30 2693

原创 JNI常用函数说明二

接着上一篇,继续进行。//——————————在jni中调用Java中的方法的函数——————————————类型签名:签名是一种用参数个数和类型区分同名方法的手段,即解决方法重载问题。其中要特别注意的是:类描述符开头的’L’与结尾的’;’必须要有 String类型的签名是“Ljava/lang/String;”数组描述符,开头的’[‘必须有.方法描述符规则: “(各参数描述符)返回值描述符”

2016-12-22 19:40:36 844

原创 JNI常用函数说明一

注:本文大部分内容参考http://wenku.baidu.com/link?url=YLs988WKSwRQoV3sOGvhBhH3xALeaSNb17RB4-rQtMIrefRhRIZtBF8bYTAG4Jol0eFBkfjPRBDWikgyLo1bas4xfX4p6YpfexT_GmlWkEK和jni.h,在此基础上添加了一些自己的注释或新增了一些实例。说明: 1. env参数是指向函数的列

2016-12-20 19:33:34 1075

原创 V4L2驱动简单分析二

上一篇提到了radio-tea5764.c实例来分析了V4L2的驱动注册流程,下面再以x210摄像头驱动ov2655来继续分析一下V4L2摄像头驱动注册流程首先我们带着疑问来进入分析流程,当然这些疑问是与上一篇v4l2 radio驱动比对发现的。先罗列一下ov2655驱动关键结构体static const struct v4l2_subdev_core_ops ov2655_core_ops ={

2016-12-12 22:46:27 1322

原创 V4L2驱动简单分析一

下面以内核源码中的radio-tea5764.c来简单说明一下V4L2 radio驱动的注册流程 1、首先按照通常的设备定义文件系统接口/* File system interface */ /*文件系统通用接口即供应用层使用的接口*/ static const struct v4l2_file_operations tea5764_fops = { .owner

2016-12-12 22:25:18 632

原创 USB驱动简单分析一

USB采用树形拓扑结构,主机侧和设备侧的USB设备控制器分别称为主机控制器和USB设备控制器(UDC),每条总线上只有一个主机控制器,负责协调主机和设备间的通信,而设备不能主动向主机发送任何信息。 从主机侧去看,在linux驱动中,处于USB设备驱动最底层的是USB主机控制器硬件,在其上运行的是USB主机控制器驱动。在主机控制器上的为USB核心层,再上层为USB设备驱动层(插入主机上的U盘、鼠

2016-12-09 22:35:55 665

原创 stm32 cjson 解析json数据实例

在单片机使用到json解析数据时,可以直接引用第三方解析库,如cjson。从地址https://github.com/DaveGamble/cJSON下载最新版本,然后从中直接提取cJSON.c、cJSON.h、cJSON_Utils.c和cJSON_Utils.h。由于cjson全部都是用c语言来写,所以单片机一般都可以直接使用。 下面以实际例子来分析一下如何解析json数据:c

2016-12-06 14:36:50 18899 4

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

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

2016-11-25 19:59:26 5813

原创 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 825

原创 模拟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 21225

原创 模拟i2c实现流程

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

2016-11-22 20:21:47 4829

原创 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 655 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 7231

原创 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 1242

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

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

2016-11-18 23:10:59 2731

原创 linux启动时间优化措施

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

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

原创 ucosiii中断管理特性

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

2016-11-18 19:41:38 738

原创 ucosiii任务调度特性

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

2016-11-18 19:40:24 2462

原创 ucosiii资源管理特性

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

2016-11-18 19:39:52 635

原创 ucosiii系统特性

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

2016-11-18 19:39:14 1230

原创 ucosiii信号量新特性简述

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

2016-11-18 10:48:01 1145

原创 ubuntu开发环境搭建

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

2016-11-17 22:25:04 676

ET6037Y 18路 RGB IC 驱动

ET6037Y 18路 RGB IC 驱动

2016-10-13

Linux设备驱动开发详解:基于linux4.0

Linux设备驱动开发详解:基于最新的Linux 4.0内核 完整版 很清晰

2016-07-07

嵌入式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关注的人

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