1. 如何找出 .NET 程序中的数据库连接泄漏

    通常我们可以通过查看性能计数器 NumberOfReclaimedConnections 来观察是否存在数据库连接泄露的问题,通常对应于 .NET Data Provider for Oracle 和 .NET Data Provider for SqlServer下,如下图:

    2018/06/07 Windbg

  2. 使用 WNetUseConnection 连接网络资源时,返回报错 1219

    问题现象:在使用 WNetUseConnection 连接网络资源时,偶发性返回报错 1219。当网络资源是 Linux Samba 配置的共享资源时,比较容易复现该问题。

    2018/05/31 Win32

  3. 使用 NetFileEnum 无法获取文件列表

    当我们使用 NetFileEnum 枚举当前打开的网络文件时,如果文件较多,此时抓取网络包会出现 STATUS_BUFFER_OVERFLOW 的现象。这种现象是正常行为,表示服务端返回的数据未读完,我们需要通过多次调用 NetFileEnum 来读取所有数据。此时 NetFileEnum 的返回值一般为 ERROR_MORE_DATA。

    2018/05/31 Win32

  4. 使用 HTTPS 协议时实时通话系统响应延迟

    问题现象:基于 .NET Framework 4.5 开发的 CS 架构系统,在使用过程中偶发出现 HTTPS 请求延迟 12 秒左右才到达服务器端。

    2018/05/30 WEB

  5. 在 Win7 中调用 CoreAudio API IsFormatSupported 或者 Initialize 时随机出现延迟十秒的现象

    某日朋友反馈在他们开发的基于 CoreAudio 的音频系统在测试时某台机器每天会复现一两次 API 需要十秒才返回结果的现象。

    2018/05/28 Debug

  6. RDK 中的 Vps_printf() 与 Vps_rprintf()

    最近在TI的e2e以及相关QQ群众讨论时很多同学在做DSP算法或者在使用中断时SYS/BIOS被异常挂起,最终分析下来的原因是因为在中断上下文中使用了Vps_printf()或者是在禁止中断后恢复中断前的期间内使用了Vps_printf(),即hwi_disable()和hwi_restore()的上下文中使用。

    2018/05/25 Davinci

  7. Netra 基于 RDK 平台的软件框架设计

    ​ Netra(DM8168)处理器是个多核处理器,每个核之间相互独立却又相互关联,如何高效简洁地利用每个核完成一套系统功能是非常关键的,RDK 这套软件平台就是针对这种多核平台设计的一套多通道视频应用方案,主要用于 DVR、NVR、IPNC 之类的产品。

    2018/05/25 Davinci

  8. Netra McASP 接口介绍

    ​ McASP即multichannel audio serial port,是通用音频接口,支持TDM(Time-Division Multiplexed stream)协议、I2S协议等。McASP可以非常灵活的与S/PDIF (Sony/Philips Digital Interface)等接口连接。McASP的数据线可以灵活的配置成输入或者输出,同步模式则根据具体接口设计来决定,可以配置成主模式(由内部生成帧同步、字同步、位同步)或者从模式(由外部提供帧同步、字同步、位同步)。

    2018/05/25 Davinci

  9. HDVPSS 模块介绍及使用

    HDVPSS模块即High-Definition Video Process Sub System,主要用于视频的capture、deinterlacing、scaler、up/down sample、graphics、display等,由Media Controller Dula ARM Cortex-M3系统中的VPSS-M3控制。软件工程师在做程序的时候需要注意各个模块支持数据的输入格式和输出格式(另外需要注意的是:TI提供的RDK中限定了display controller的矩阵连接,如果希望灵活使用这个矩阵连接,需要自行拆分,关于该部分内容请参考HDVPSS_UserGuide.pdf中Display Controller Driver中Macro Mapping)。HDVPSS整体硬件框架如下图所示,注意数据格式。

    2018/05/25 Davinci

  10. 如何在 Yocoto Project 中给内核打补丁

    Yocto Project为我们提供了简单高效的嵌入式Linux基础镜像包管理系统,它默认采用分层结构来组织所有的软件包。而Linux Kernel作为其基础包之一,学会了如何对kernel打patch,那么就可以举一反三的修改自己的定制镜像。下面将分步介绍在Yocto Project中如何向linux内核源代码打patch。其中一个原则是不修改Yocto目前已有的层。因此我们需要创建一个层来实现对Linux Kernel打patch的工作,这样即使Yocto Linux Kernel在以后的版本中出现变更也不会影响到我们自己创建的层。

    2018/05/25 Yocoto