自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ghostyu的专栏

记录点点滴滴

  • 博客(110)
  • 资源 (16)
  • 论坛 (3)
  • 收藏
  • 关注

原创 《二》CC2540和CC2541上实现ANCS(Apple Notification Center Service)

如何利用TI BLE协议栈在CC2540/41上开发ANCS的NC,这应该是许多开发者共同的愿望,在协议栈demo:TimeApp基础上修改,是最快的选择。TimeApp实现的是SIG发布的标准Service,但Apple ANCS与SIG标准Service非常相似,在上一篇文章中,我们有提到ANCS中的三个Characteristics,但这三个并不是整个ANCS,上图中显示的电池电量

2014-06-10 23:51:54 9095 4

原创 Nexus 5设备调试

第一时间买了nexus5作为我们的bluetooth low energy的Android上的开发平台。到手几天后,才发现,新东西的资源和介绍真是少之又少。在windows xp上开始Nexus5的设备调试遇到了下面几个问题1、以前的Android USB调试 选项哪里去了?4.0以后的系统隐藏了开发者模式。选择 设置-关于手机-版本号,点了没用?狂点若干次,就打开usb调试了。

2013-11-07 00:10:05 10979 1

原创 xcode目标调试时未出现ios真机设备

在Scheme中只有各个Simulator,没有出现已经连接到电脑的iphone4手机,在其他Project中明明有的,而且可以真机调试,怎么新建的工程没有?后来才发现,我的iphone4版本未6.01,我而我所建的Project为6.1,因此手机不可用,解决办法是:单击在TARGETS下的项目名称,然后在右面出现的里面选择Summary将Deployment Target的6.1改到ip

2013-05-17 22:45:39 1864

原创 CC2540开发套件资料更新日志

前期我们完善了开发套件硬件,接下来,我们将专注于软件的开发和开发板资料的完善,重要的更新见下列日志,欢迎新老用户前往我们的云盘更新。最近更新为红色字体,详情见http://ghostyu.taobao.com【20】2013.06.20实验LEDDemo相关更新1>>添加实验LEDDemo中CC2540从机端程序:SimpleBLEPeripheral_LEDDemo.

2013-05-04 11:49:50 15973 3

转载 蓝牙又火了 zigbee怎么办

蓝牙作为手机的标配,以前觉得作用也就在于两部接近的手机之间发发图片,也没觉着有多大的用处,反而是zigbee,超低功耗、自组网等特性,加上物联网、智能家居等概念的热炒,曾让笔者对该技术充满了遐想!但是最近参加蓝牙技术大会,却让笔者感觉到蓝牙这项“老”技术又迎来了第二春。最新发布的蓝牙4.0相信大家也有所了解了,用于工业应用的1类射频射程已经达到了100米,通常用于移动设备的2类射频也达到了

2013-04-23 08:52:17 3321

原创 2013年3大目标

1、精通linux网络编程2、深入IPNC,包括前后端3、心中的产品链

2013-02-20 16:18:06 2634

原创 调试心得:CC2533使用timer3和GPIO模拟UART

当芯片资源非常紧张,或者没有任何可以查看芯片的运行情况时(仿真器实时仿真有时并不好用),用一个GPIO模拟UART将芯片里的数据实时上传到PC端,这样的实时分析就显得非常重要了。还好RF4CE没有占掉全部的cc2533定时器的资源,可以用定时器3产生105us的中断来模拟9600波特率的UART,这样PC端就可以实时的查看数据情况了,数据分析起来灰常方便!

2013-02-01 23:47:54 3841

原创 zigbee计划

记录显示,zigbee计划从2013年1月3日开始了。但是从2011年初就已经在进行了,之间两年大好时光被浪费得一干二净,现在只好快马加鞭!

2013-01-23 14:04:42 2947 2

原创 onvif规范的实现:onvif开发常用调试方法 和常见的segmentation fault错误

在前几篇中,虽然已经实现了rtsp视频流的对接,但是还要做的工作还非常多,onvif本来就是一个覆盖面非常广的一个协议,每一个功能都要填充大量的函数。而且稍不注意就会出现segmentation fault错误。下面把我之前开发调试时的经验写下来,希望能够帮助有这方面需求的人。【来自http://blog.csdn.net/ghostyu】1、打开onvif调试开关,以便让onvif打印一些可

2012-12-25 13:30:47 18063 13

原创 onvif规范的实现:成功实现ONVIF协议RTSP-Video-Stream与OnvifDeviceManager的视频对接

有了前几篇的基础,现在可以正式开始onvif的实现工作,其中一项非常重要的部分就是视频流的对接,即能够在符合onvif标准的监控客户端软件里接收到设备端NVT发来的RTSP视频流。这里,我所用的客户端软件是Onvif Device Manager v2.2。【来自http://blog.csdn.net/ghostyu】ONVIF Profile S Specification文档描述了Dev

2012-11-22 09:59:50 139076 55

原创 onvif规范的实现:server端Discovery实现,通过OnvifTestTool12.06测试

说明:网上关于ONVIF开发的文章并不多,也更找不到具体的实例来入门学习。只能靠翻阅各种Specification摸索中前进,下面是最近几天的成果。调通了服务端(或者说设备端)的Discovery,使用OnvifTestTool12.06能够搜到我的设备。【来自http://blog.csdn.net/ghostyu】1、在使用wsdl2h产生头文件前需要修改typemap.dat,修改的

2012-11-14 15:40:54 60575 67

原创 onvif规范的实现:使用gSOAP创建SOAP调用实例

预备知识ONVIF规范中设备管理和控制部分所定义的接口均以Web Services的形式提供。ONVIF规范涵盖了完全的XML及WSDL的定义。每一个支持ONVIF规范的终端设备均须提供与功能相应的Web Service。服务端与客户端的数据交互采用SOAP协议。【来自http://blog.csdn.net/ghostyu】ONVIF中的其他部分比如音视频流则通过RTP/RTSP进行 。

2012-11-08 17:09:00 42724 22

转载 onvif规范 中文介绍

什么是ONVIF ?ONVIF规范描述了网络视频的模型、接口、数据类型以及数据交互的模式。并复用了一些现有的标准,如WS系列标准等。ONVIF规范的目标是实现一个网络视频框架协议,使不同厂商所生产的网络视频产品(包括摄录前端、录像设备等)完全互通。ONVIF规范描述了网络视频的模型、接口、数据类型以及数据交互的模式。并复用了一些现有的标准,如WS系列标准等。ONVIF规范的目标是实

2012-11-08 14:54:36 57088 14

原创 原来结构体和函数是可以同名的

见识太少了。。。#include struct _func{ int s;};void _func(struct _func s){ printf("in function _func,struct _func:s.s=%d\n",s.s);}int main(){ struct _func s; s.s = 10; _func(s); return 0;}运行结构

2012-11-07 11:29:44 5764 1

原创 dm368ipnc 重写架构中的swosd 实现中文osd

appro的ipnc中只实现了英文的osd叠加,就连小小的ascii码表都没有覆盖全,而且该swosd架构灰常凌乱。其实无非就是两个功能,一是叠加文字,而是叠加图片,由于考虑到兼容不同的分辨率的视频流,所以处理的分支相对校对。图片的叠加暂不实现,用途最多的是中文的叠加,实现中文osd叠加的方法也非常简单,如下:1、了解中文字库的分布,通过汉字的内码计算出该汉字在字库中的位置。2、同

2012-11-03 23:02:39 5752 16

原创 linux驱动学习(九) usb设备驱动的初步认知

小小的概述和i2c驱动类似,usb驱动架构中也有usb-core这样的框架,为上层设备驱动程序提供封装后的方便使用的api函数,为底层与硬件相关的代码封装提供总线接入功能。撇开复杂的usb协议,我们先认知linux驱动中的usb框架,至于细节的实现,需要漫长的代码。在我们还不知道它长什么样的时候就去讨论内部的实现机制就毫无意义的。usb驱动架构图1准确的说,图1是不完整

2012-10-26 15:10:57 4322

原创 linux驱动学习(八) i2c驱动架构(史上最全) davinc dm368 i2c驱动分析

预备知识在阅读本文最好先熟悉一种i2c设备的驱动程序,并且浏览一下i2c-core.c以及芯片提供商的提供的i2c总线驱动(i2c-davinci.c)。标题党请见谅!其实i2c接口非常的简单,即使用51单片的gpio来模拟i2c,编写一个e2prom或者其他i2c接口的驱动程序,也不是什么难事,几百行代码就能搞定。但是Linux的i2c驱动体系结构却有相当的复杂度,不管是叫linux

2012-10-22 15:47:48 23754 9

原创 linux驱动学习(七) ioctl中的cmd和_IO() , _IOR() , IOW() ,_IOWR() 以及_IOC_NR()的关系

以下部分内容来自互联网在驱动程序里, ioctl() 函数传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值。cmd除了可区别数字外,还包含有助于处理的几种相应信息。ioctl()的cmd可以通过使用宏_IO()得到,那么cmd到底是怎么组成的呢?cmd的大小为 32位,共分 4 个域:bit31~bit30 2位为 “区别读写” 区,作用是区分是读取命令还是写入命

2012-10-18 15:03:12 15634 2

原创 /proc/devices awk

/proc/devices/中的设备是通过insmod加载到内核的,它可产生一个major供mknod作为 参数。 /dev/* 是通过mknod加上去的,格式:mknod device1 c/b major minor 如:mknod /dev/ttyS0 c 4 64,用户通过此设备名来访问你的驱动。那如何在shell中自动创建设备节点呢使用linux的awk命令首先我们查看一

2012-10-18 13:41:35 4481

转载 gdb参数及命令详解 (已整理) core dump调试

名称        gdb - GNU 调试器提要        gdb    [-help] [-nx] [-q] [-batch] [-cd=dir] [-f] [-b bps]              [-tty=dev] [-s symfile] [-e prog] [-se prog] [-c              core] [-x cmds] [-d dir

2012-10-17 21:51:41 21059

原创 移植gdb到DM368 IPNC中 linux arm gdb

移植gdb到嵌入式的ipnc中,大多数人习惯使用printf调试,但是遇到像”segment fault“这的错误也是后就很难定位,这时候gdb的作用就体现出来了在pc使用gdb调试应用程序前,应用程序编译是需带上 gcc -g参数,就是编译带有调试信息的程序,不然使用gdb是找不到程序的symbol的在arm中使用gdb也不例外,也要加上arm_v5t_le-gcc -g参数,只不过,a

2012-10-17 16:44:47 4144

原创 静态库是不安全的 appro aew 2A 静态库破解:解除与加密芯片的绑定 dm368ipnc

appro的ipnc方案中,除了美光的CMOS板开放硬件外,其他的CMOS板:ov2715,、ov9715、imx036等不但不提供原理图,而且还加了一颗6pin的硬件加密芯片,CMOS板接口的GIO90、与GIO93用来与加密通信(初步看像是韩国的neowine加密芯片),2a库每隔两分钟就会验证一次硬件:向加密芯片输入随机产生的7个字节,加密芯片运算后输出4个字节,软件判断运算结果是否正确

2012-10-15 23:30:43 5307 3

原创 移植Open SSH到DM368 IPNC中 linux arm ssh

我一直在寻找这样的一个ipnc模组:通用的38板,TI方案,并且开放了系统串口。可惜不是没有开发串口,就是非TI方案的,我觉得有这样的一个板子,可以做很多事情,一是这样的板子很便宜1080p dm368的才350左右,二是自己可以开发一些特定的程序在板子里运行。我觉得这样的需求应该是很多的,有时候 常规的ipc并不能满足需要。后来我问一家小板的厂家,没有串口你们怎么调试程序的。他们说不用串

2012-10-13 13:09:42 4037

原创 ipnc快收工了

2012年2月15日来公司报道,刚来的两天,让我熟悉一下芝士6467t的开发板,从头到尾跑一下,这东西资料给的全全的,又不要移植啥,重新编译烧进去就完事了,有什么难的,难道是怀疑我这个也不会嘛。。。然后没过几天,我开始了崭新的ip-camera项目,以前虽然用过arm,但是linux下的应用编程还真没试过,但事实证明,我的学习能力是没问题的,现在ip-camera已经基本完工了,等到国庆后长期

2012-09-28 15:48:46 3708 1

原创 再缜密的设计,我们也很难保证完全没有bug,之所以仍未发现,只是激活这个bug的条件还没到来

appro dm368ipnc软件中的bug【一】当外部ARN_RST_IN【DM368IPNC-OV2715-Ver_2.06.01_release版本中的GIO35脚】持续为低并且开启移动侦测报警、音频以及音频输出报警,若检测到频繁的移动侦测或者其他报警时,音频报警输出程序会再次关闭已经关闭的pcm音频设备,在snd_pcm_drain()函数的内部有一个assert,assert会检测到

2012-09-18 16:00:47 2131

原创 appro dm368ipnc nandwriter的ubl和u-boot烧写问题以及diagnostic for dm368的诊断程序

新板调试总是挫折不断,问题解决一个就又出来一个,连绵不绝。。。这次是使用ccs3.3通过nandwriter烧写ubl和u-boot的问题,按照appro的UsersGuide烧写步骤,一直比较顺利,直到提示烧写diagnostic dm368 file,资料里找来找去就是没有这个东西,然后我就选择了skip,调过了此步,ccs提示nand 烧写成功。但是板子重启后,ubl起来但是u-bo

2012-09-05 21:08:01 3911

原创 关于APPRO DM368 IPNC使用 XDS560 与 CCS 的连接问题

新板调试的时候需要通过CCS烧写ubl,我用的仿真器是seed-xds560,ccs3.3,本来以为很顺利,少个ubl而且,但是运行ccs的Setup CCStudio v3.3,怎么找也没找到DM368、365等字样的设置,然后去群里问,去论坛搜,google,baidu均无果。。。。网上有的只有dm365_xds510.ccs,但是我的仿真器是xds560啊后来才知道是可以通过DM64

2012-09-04 09:22:53 4085

原创 查看linux静态库*.a中的函数和文件 拿appro 2a算法库开刀

查看linux静态库*.a中的函数和文件,这对某些时候是非常有用的,比如我现在正在尝试替换掉appro的2a算法库,这就需要了解appro的2a结构windows下dumpbin /exports libxxx.alinux 下nm -g --defined-only libxxx.a下面是appro算法库中的文件1、Appro_2a_lib.a[roo

2012-08-31 16:32:07 16611

转载 ti ccs #pragma CODE_SECTION

由于在基于DSP的嵌入式系统开发中,存储资源特别是片内高速存储资源有限,在算法系统集成时Memory的管理对于提高整个系统的优化是非常重要的,这一方面影响数据的读取、搬移速度;另一方面还影响Cache的命中率,下面分程序和数据两方面分析。程序区:最大原则是将经常调度使用的算法模块放片内。为做到这点,TI的CCS中提供了#pragma CODE_SECTION,可以把需要单独控制存放的函数段从.te

2012-08-30 09:56:33 5009

原创 用C结构体来实现面向对象编程,ti xDAIS标准算法就这么搞的

用C结构体来实现面向对象编程,ti xDAIS标准算法就这么搞的。测试代码如下:#include #include #include typedef struct Alg_Obj{ struct Alg_Fxn* fxns;}Alg_Obj;typedef Alg_Obj *Alg_Handle;typedef struct Alg_Fxn{ void (*pr

2012-08-29 17:10:10 4164 4

转载 TI xDAIS的深入理解 推荐阅读

现代软件开发,已从上世纪的面向过程编程发展到当前的面向框架编程。软件开发经验已证明:框架话、模块化的开发方式可以极大的提高软件开发效率,提高代码质量及代码重用率。然而,在嵌入式编程中,由于长期缺乏完善的开发框架和可用的API,开发人员依旧利用C或汇编语言和底层硬件打交道,凡是亲力亲为,这必然会增加嵌入式开发的入门门槛,降低代码的重用性,甚至增加代码易集时的复制度(不过这些缺点,对于程序员来说确是好

2012-08-29 14:18:48 9973 4

原创 TI IPNC Image Tuning Tool 下载 2A算法必备

appro提供的资料里,有一些版本是带这个工具的,但后来的版本这个软件貌似被删掉了,因此分享,以节约大家的寻找时间领导想要有2A算法的技术积累,但是只有一个人的力量,这事就没那么简单了。。。既然放话了,就得去做文件名:ImageTunningTool-2.0-Setup.exe下载地址http://www.kuaipan.cn/file/id_48923272389

2012-08-29 12:10:23 4531 4

转载 camera摄像原理之四:曝光和GAMMA

从最明亮到最黑暗,假设人眼能够看到一定的范围,那么胶片(或CCD 等电子感光器件)所能表现的远比人眼看到的范围小的多,而这个有限的范围就是感光宽容度。      人眼的感光宽容度比胶片要高很多,而胶片的感光宽容度要比数码相机的ccd高出很多!对于sensor来说,又是如何来判断曝光是否正确呢?很标准的做法就是在YUV空间计算当前图像的Y值的均值。调节各种曝光参数设定(自动或手动),使得该均

2012-08-27 16:49:50 10001

转载 camera摄像原理之三:色温和自动白平衡

色温的定义:将黑体从绝对零度开始加温,温度每升高一度称为1开氏度(用字母K表示),当温度升高到一定程度时候,黑体便辐射出可见光,其光谱成份以及给人的感觉也会着温度的不断升高发生相应变化。于是,就把黑体辐射一定色光的温度定为发射相同色光光源的色温。                         随着色温的升高,光源的颜色由暖色向冷色过渡,光源中的能量分布也由红光端向蓝光端偏移。值得

2012-08-27 16:48:47 4789

转载 camera摄像原理之二:色彩空间

对于sensor 来说,我们经常接触到的色彩空间的概念,主要是RGB , YUV这两种(实际上,这两种体系包含了许多种不同的颜色表达方式和模型,如sRGB, Adobe RGB, YUV422, YUV420 …),RGB如前所述就是按三基色加光系统的原理来描述颜色,而YUV则是按照亮度,色差的原理来描述颜色。     不比其它颜色空间的转换有一个标准的转换公式,因为YUV在很大程度上是与

2012-08-27 16:47:22 3708

转载 camera摄像原理之一:光感应

做为拍照手机的核心模块之一,camera sensor 效果的调整,涉及到众多的参数,如果对基本的光学原理及 sensor 软/硬件对图像处理的原理能有深入的理解和把握的话,对我们的工作将会起到事半功倍的效果。      人眼对色彩的识别,是基于人眼对光谱存在三种不同的感应单元,不同的感应单元对不同波段的光有不同的响应曲线的原理,通过大脑的合成得到色彩的感知。一般来说,我们可以通俗的用RG

2012-08-27 16:46:33 5854

原创 system 调用命令cd无效

熟悉Unix编程的人都知道,在中声明的函数system是用来在程序中调用shell命令的方法。例如你可以在程序中写一行system("rm *");这相当于你在命令行下敲rm *,但是cd命令却不能用system来做的。一般,你要改变程序的pwd,你都必须用函数chdir(const char*),它在中声明。

2012-08-24 15:06:18 3839

原创 setitimer和sleep是冲突的

事实上,做内核开发的人知道,setitimer和sleep是冲突的!因为它们都使用了信号,而信号会打断sleep。

2012-08-24 15:03:10 2865

转载 gcc常见参数说明

1.gcc包含的c/c++编译器gcc,cc,c++,g++,gcc和cc是一样的,c++和g++是一样的。一般c程序就用gcc编译,c++程序就用g++编译。2.gcc的基本用法gcc test.c这样将编译出一个名为a.out的程序gcc test.c -o test这样将编译出一个名为test的程序,-o参数用来指定生成程序的名字3.为什么会出现undef

2012-07-18 15:27:27 1202

原创 常见的makefile写法

1、目标名称,摆脱手动设置目标名称TARGET = $(notdir $(CURDIR))all:$(TARGET) CMD....$(CURDIR) 表示Makfile当前目录全路径$(notdir $(path)) 表示把path目录去掉路径名,只留当前目录名这样就可以得到Makefile当前目录名称,用目录名作为目标程序名是一个不错的选择2、使用include,把

2012-07-17 14:37:53 13410

CC-Debugger中文使用说明书

CC-Debugger中文使用说明书 CC-Debugger 仿真器 zigbee cc2530

2013-02-25

成功实现ONVIF协议RTSP-Video-Stream与OnvifDeviceManager的对接

设备端或者服务端在或者说NVT端的RTSP Video Stream,能够与OnvifDeviceManager成功对接,对想要实现onvif视频对接的人来说有一定的参考意义 只上传了最重要的文件:onvif.c是自己写的代码实体,其他的代码都是自动产生的,可以按照博文里的方法自动产生,至于main函数,博文里已经贴出了代码。 详情见博文:blog.csdn.net/ghostyu 并不是拿来就能用就是好的,别人的只是参考,自己过一遍才最重要

2012-11-22

OnvifDeviceManager onvif客户端

onvif协议的客户端软件,能够对接符合onvif协议的ipc,该软件需要.NetFramework4的支持

2012-11-22

onvif discovery 服务端(设备端)实例

自己实现的onvif discovery服务端(设备端)实例,能够被OnvifTestTool12.06测试工具搜索到。对于刚接触onvif的人来说有一定的指导意义

2012-11-14

gSOAP手册 英文 很重要

gSOAP手册 虽然是英文的 但是非常重要,详细可以参见我的博文

2012-11-14

ONVIF-Core-Spec-v210.pdf

Onvif规范的核心文档,非常难重要,根据该文档已时实现的discovery,可以参考我的博客

2012-11-14

webcam.tar.bz2

arm mini2440 基于V4L2 ffmpeg x264的usb摄像头远程监控

2012-03-19

zigbee z-stack sampleApp 分析,原创

zigbee z-stack sampleApp 分析,原创,今年6月份为学校的写的分析文档之一

2011-12-24

博通 BCM4312 linux驱动

惠普cq45 wifi驱动 进入源码文件夹 命令 #make clean #make #make install #modprobe

2011-10-01

09电子设计大赛 NEC赞助芯片 SPWM D78F1203 本科组必用

09电子设计大赛 NEC赞助芯片 D78F1203 本科组必用 英文资料 可能用于逆变电源 产生SPWM信号

2009-09-01

09电子大赛预测题 基于自动寻迹的智能公交车系统

2009年全国大学生电子设计大赛预测题 本科组 基于自动寻迹的智能公交车系统

2009-08-29

激光显示器 2009职业技能大赛 电子产品

2009年天津职业技能大赛 电子产品设计与制作项目,制作成果,此作品在比赛中获得全国二等奖

2009-08-12

数控步进直流源,原理图 PCB

基于单片机的数控直流稳压电源,最大输出电压12V,最大输出电流1A,有过流保护功能

2009-08-12

超声波测距仪原理图,印制板图

原理图已经试验过,正确无误,最大测量距离为3米,最小为10cm, PCD可直接经厂家生产

2009-08-12

windows truetype格式详解

windows, truetype, 格式, VC++

2009-03-29

贝塞尔曲线程序MFC

MFC的贝塞尔曲线程序 内容详细 Visual c++平台

2009-03-29

ghostyu的留言板

发表于 2020-01-02 最后回复 2020-01-02

C结构体尽然可以这样用?

发表于 2012-08-28 最后回复 2013-10-10

linux内核里的一个函数,大家看看有啥区别

发表于 2011-11-01 最后回复 2012-08-28

空空如也

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

TA关注的人 TA的粉丝

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