自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

朝闻道 夕死可矣

  • 博客(26)
  • 资源 (2)
  • 收藏
  • 关注

原创 20101129

<br />查看依赖库 ldd<br />ldd直接可以看到,如果没有的话,<br /><br />arm-linux-objdump -x nfs_2.2/bin/qpe | grep NEEDED <br />前台直接退出<br />重新编译一个进行安装<br />先测一下实时上传<br />停止音频采集编码上传有问题<br />断开的时候本地显示没有停掉<br />通过描述数组来生成内存池<br />一个结构体指针数组,一个描述数组<br />实际上是从头取buffer,从尾上加入buffer<br

2010-11-30 10:10:00 312

原创 20101126

<br />在编译的时候需要加上<br />`pkg-config gtk+-2.0 hildon-1 --cflags --libs`<br />生存的可执行文件与Makefile在同一级目录下<br />$@  生成的目标集<br />在命令行上也可以启动,但是gtk 会初试化失败<br /> <br />后台没有启动就没有办法获取设备名称<br />开机的时候就将后台启动<br />前台进程无法退出<br />最后的一个消息是不是已经发出?<br />加上一个消息后就可以正常退出了<br />向pro

2010-11-29 13:20:00 346

原创 20101125

<br />安装包的制作<br />如何生成deb包?<br />GUI的编译<br />命令   dpkg-buildpacket –rfakeroot<br />会在上一级生成一个deb包<br />语言包的获取<br />先使用xgettext 从源文件中获取字符串信息,生成po文件<br />再使用msgfmt 将po文件转换成文件<br /> <br />Mid 前后台参数的传递<br />采样的共享内存的方法<br />typedef struct<br />{              int

2010-11-25 19:00:00 397

原创 Gdbserver(1)

<br />Gdbserver<br /> <br /> 与gdb之间的通信可以是串口,也可以是tcp连接。在目标设备上运行的程序可以使strip过的,因为符号分析在gdb这端。<br /> 启动方式<br />如果是串口方式<br />Gdbserver /dev/com1 emacs foo.txt<br />如果是tcp的方式<br />命令的输入格式为<br />Gdbserver host:port emacs foo.txt <br />注意 host 为gdb的ip,port为local po

2010-11-23 00:45:00 461

原创 linux下的dump时机

<br />  从ulimit 这个命令入手,这个是shell的内置命令<br />    现在看一下ulimits的实现<br />Ulimit –a 的时候直接调用系统函数<br /> <br />功能描述:<br />获取或设定资源使用限制。每种资源都有相关的软硬限制,软限制是内核强加给相应资源的限制值,硬限制是软限制的最大值。非授权调用进程只可以将其软限制指定为0~硬限制范围中的某个值,同时能不可逆转地降低其硬限制。授权进程可以任意改变其软硬限制。RLIM_INFINITY的值表示不对资源限制。<b

2010-11-22 13:25:00 565

原创 起风了

<br /> <br />   <br />   风起, 落叶萧萧。<br /> <br />  一丝执念

2010-11-21 18:58:00 579

原创 dump 原理

<br /> <br />一  Windows上dump触发条件<br />在C++ 中,一般使用_beginthreadex来创建一个线程( 参见vs2003 中的threadex.c)<br />在用户指定的线程函数外,都有一个异常捕获<br />__try<br />{<br />                _endthreadex (<br />                    ( (unsigned (WINAPI *)(void *))(((_ptiddata)ptd)->_inita

2010-11-19 18:44:00 1825

原创 linux 下dump的使用

<br />                       Linux下dump的使用<br />    <br />1  Core文件的生成... 1<br />2  定位出错的地方... 2<br /> <br /> Linux下的dump文件一般称为core文件,可以用来记录程序崩溃前的线程callstack信息,内存信息等,可以作为排错的一种辅助手段。生存的core大小可以限制,保存的内容也可以灵活的选择,因此在MID上也可以使用。<br />由于linux的开发性,类似的调试技术比windows上的

2010-11-19 15:49:00 10504

原创 jni方式获取route信息

<br /> <br /> <br /> <br /> <br /> <br />1 遍历本机的路由信息... 1<br />2   获取到到指定IP的路由信息... 2<br />3  jni的用法... 4<br /> <br /> <br />1 遍历本机的路由信息<br />遍历出所有的route 信息,类似route PRINT <br />思路比较简单,直接用 GetIpForwardTable 获取本机的所有的路由信息,逐一遍历即可<br /> <br /> <br />        PMI

2010-11-19 15:43:00 751

原创 gdb(1)

<br />1 编译生成gdbserver<br /> <br />   下载gdb的源码,进入gdbserver 目录<br /> <br /> ./configure –-host=arn-linux  --target=arm-linux<br /> <br />然后make 生成gdbserver 。<br /> <br />最后 arm-linux-strip gdbserver<br /> <br /> <br />2        主框架流程<br /> <br />Server.c<br /

2010-11-18 23:52:00 327

原创 一路走好

        来了的,留下的,走了的

2010-11-18 22:28:00 350

原创 USB(11)

<br />usb_disable_interface <br />禁掉一个接口的所有端点<br />usb_unbind_interface<br />解除接口绑定<br /> <br />usb_driver_claim_interface <br />把一个驱动绑定到一个接口上<br />本质上也就是驱动和设备的关系嘛<br /> <br />usb_driver_release_interface<br />将一个driver与device解除绑定<br /> <br />Pxa310 的OTG<b

2010-11-13 19:50:00 971

原创 usb(10)

<br />Usb/core/driver.c 中提供的一些例程<br /> <br />先说一个结构体<br />Usb_device_id<br /> <br /> <br />struct usb_device_id {<br />            /* which fields to match against? */<br />            __u16               match_flags;<br /> <br />            /* Used for pr

2010-11-13 16:04:00 630

原创 Usb(8)

<br />usb_hub  有这样一个变量quiescing <br /> <br />如果这个值设置成 1,表示这个usb_hub 是静止的,驱动也就不会向所有的port 发送<br />请求状态的报文。<br />Hub_events走到这里就可以continue了<br />如果error 被设置了值,那就需要重启了<br />usb_reset_composite_device<br />首先需要判断这个设备的状态<br />如果是suspend 或者是noattach,那么就直接返回失败<br

2010-11-12 19:54:00 400

原创 Usb(9)

<br />Autoresume与 autosuspend<br />如果配置了电源管理,那么usb就有了上面的2种状态<br />在device 中有如下结构体<br /> <br />struct dev_pm_info {<br />            pm_message_t              power_state;<br />            unsigned                      can_wakeup:1;<br />#ifdef   CONFIG_PM<

2010-11-12 19:54:00 343

原创 Usb(7)

<br />在usb_init 中,有usb_hub_init<br />int usb_hub_init(void)<br />{<br />            if (usb_register(&hub_driver) < 0) {<br />                        printk(KERN_ERR "%s: can't register hub driver/n",<br />                                    usbcore_name);

2010-11-12 19:53:00 407

原创 Usb(6)

<br />驱动pxa3xx-ohci 提供了设备的探测方法<br /> <br />ohci_hcd_pxa3xx_drv_probe<br /> <br />static int ohci_hcd_pxa3xx_drv_probe(struct platform_device *pdev)<br />{<br />            int ret;<br /> <br />            pr_debug ("In ohci_hcd_pxa3xx_drv_probe");<br /> <b

2010-11-12 19:52:00 583

原创 Usb(5)

<br />在pxa310 中查看host目录下的Makefile<br />是要编译出一个名为”ohci_hcd”的模块<br /> <br />对OHCI主控器进行编程要容易得多。控制器假设有一组端点(endpoint)可用,并知道帧中不同传输类型的调度优先级和排序。主控器使用的主要数据结构是端点描述符(ED),它上面连接着一个传输描述符(TD)的队列。 ED包含端点所允许的最大的包大小,控制器硬件完成包的分割。每次传输后都会更新指向数据缓冲区的指针,当起始和终止指针相等时,TD就退归到完成队列(don

2010-11-12 18:22:00 522

原创 USB(4)

while (1) {  /* Grab the first entry at the beginning of the list */  spin_lock_irq(&hub_event_lock);  if (list_empty(&hub_event_list)) {   spin_unlock_irq(&hub_event_lock);   break;  }  tmp = hub_event_list.next;  list_del_init(tmp);  hub = list_entry(tmp

2010-11-07 20:49:00 408

原创 Usb(3)

<br />Usb框架<br /> <br />1 Hub在host 向其询问状态的时候将位图返回<br />2 主机向hub查询改port的状态,并获取了该设备的基本特性<br />3 host 等待上电稳定后向hub 发送该port的使能请求<br />4 设备复位后,获取不超过100mA的电流,主机可以使用0地址与其通信<br />5 请求设备描述符<br />6 复位该port<br />7 请求设置新地址<br />8 通过新地址获取设备描述符<br />9 获取配置描述符<br />10 协商配

2010-11-07 19:39:00 469

原创 USB(2)

<br /> <br />物理上USB设备通过星型的分层总线连接到host上<br />但在逻辑上这些hub是透明的,各主机软件与USB直接相连<br />应用软件通过usbd发起IRQ请求,HCD响应IRQ 转化成USB 传输事务并进行排序<br />在一条共享的USB总线上进行数据传输<br />端点管道接口之间的关系<br />传输类型访问间隔包的大小<br />控制传输可靠的双向传输  3个阶段 setup 数据传输状态传输<br />控制传输控制管道格式<br />最大包长度高速设备为64个字节低

2010-11-07 18:13:00 290

原创 2011110702

<br />几种工作模式<br /> <br />1 Unicast<br /> 检查时区设置,改成东八区<br /> 创建接受UI ,mcu消息的消息队列<br />分配能够存放16个cif YUV数据的Buffer<br /> 与UI的通信,UDP 接受port 2071 发送port 2072 <br /> UI修改IP 数据库,通知后台,后台重新加载,去掉ewf<br /> UI修改了分辨率和颜色深度,vwall 加载数据库后,修改显示属性<br /> 初始化DDRAW,加载背景<br />更换背景

2010-11-07 16:35:00 264

原创 业务(20101107)

<br />MD中的每一个媒体接受对象在创建的时候就指定了对应的窗格,指定了监听的UDP port<br />这个指定的窗口还有各种各样的解码器对象,每个解码器都有自己的媒体处理线程,窗口当前使用的解码器需要把媒体处理线程的ID设置进这个媒体接受对象中。<br /> <br />接受对象的buffer<br />前面已经说了,是一个数组,构成一个逻辑环,一边存放从网络上接受的说数据,一边由解码线程取<br /> <br />MD整体上还是个console程序,使用到了win32,程序入口还是mainCRTS

2010-11-07 15:26:00 267

原创 产品业务流程1

<br /> <br />上级向下级请求媒体流<br />现在MC已经建立了自己专门的发送线程<br />如果其他线程需要发送消息(TCP),就抛到该线程进行处理<br />发送线程首先根据对应目标的ip,检索出对应的socket <br />如果找不到,且目标设备为下级MC 或mx 或rs<br />这个时候需创建新的socket ,连到目标IP port <br />还要将<ip ,socket及目标设备类型>对存放起来<br /> <br /> <br /> <br />MX <br />Mx 对应M

2010-11-07 01:09:00 458

原创 pxa310 u2d

Init 1有个人说 我要用笔创造一个世界 其实我也想Pxa3xx u2d Init 注册了一个平台驱动**************************************************************************/static struct platform_driver u2d_driver = { .driver = { .name = "pxa3xx-u2d", }, .probe = pxa3xx_u2

2010-11-06 00:09:00 754

原创 AT91

<br /> <br />1  udc_init_module. 1<br />2     at91_udc_driver5<br /> <br /> <br />Gadget  AT91 <br /> <br /> <br />1  udc_init_module<br /> <br /> <br />  注册了这样一个驱动<br />static struct platform_driver at91_udc_driver = {<br />       .remove          = __exi

2010-11-04 15:38:00 754

Inside_the_Java_Virtual_Machine

Inside_the_Java_Virtual_Machine

2012-05-17

mp4文件的详细结构

MP4 文件的详细结构,还不错。pdf格式的,有兴趣的可以看看。

2010-09-13

空空如也

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

TA关注的人

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