- 博客(216)
- 资源 (7)
- 收藏
- 关注
转载 socket 选项 TCP_NODELAY 和 NAGLE 算法
原文地址:http://blog.csdn.net/foruok/article/details/22414255当我们通过 TCP socket 分多次发送较少的数据时,比如小于 1460 或者 100 以内,对端可能会很长时间收不到数据,导致本端应用程序认为超时报错。这时可能是受到了 TCP NAGLE 算法的影响。 关于 TCP NAGLE 算法,可以参考这篇文章《
2015-04-05 20:51:33 703
转载 inline的用法
inline的核心思想是通过替换消除函数调用的开销。所谓替换是指,用函数本体替换每一处对此函数的调用。函数调用的开销是指,每一次函数调用,程序都需要保存当前函数的现场,例如保存所有寄存器的值,每次函数返回都需要恢复现场,这个现场的保存和恢复属于函数调用的开销。 如果一个函数被inline化,意味着此函数不会被调用,那么此函数在编译时将不会出现在符号表中,这样意味着此函数没有地
2015-04-02 10:17:08 608
转载 漫谈程序员系列:让程序员蛋疼的那些事儿
原文出处:http://blog.csdn.net/foruok/article/details/41276595
2015-03-31 09:33:11 482
转载 音视频同步系列文章之------时间戳与时间尺度(time scale)
根据一些文章我自己推敲了一下几个概念如下: 采样频率是每秒钟抽取声波幅度样本的次数。8000 帧率是每秒显示帧数。 20 时间戳单位:时间戳计算的单位不为秒之类的单位,而是由采样频率所代替的单位,这样做的目的就是为了是时间戳单位更为精准。比如说一个音频的采样频率为8000HZ,那么我们可以把时间戳单位设为1/8000。
2015-03-22 17:10:28 1621
转载 深入了解DSP与ARM的区别与联系
这些天正准备找工作的事,对于一些理论上的,或者说表面上的知识需要梳理下,所以有空整理了这篇简陋的比较,权当从另一个侧面理解下这两款主流处理器的特点了吧! DSP:DSP(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及
2015-03-08 14:40:23 3694
转载 Linux下/proc目录简介
1. /proc目录Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文
2015-03-06 17:29:11 529
转载 手工释放linux内存——/proc/sys/vm/drop_cache
原文出处:http://blog.csdn.net/wyzxg/article/details/7279986/author:skatetime:2012/02/22 手工释放linux内存——/proc/sys/vm/drop_cache 转载一篇文章 linux的内存查看:[root@localhost 0.
2015-03-04 13:51:57 570
转载 H.264优秀特征
原文出处:http://blog.csdn.net/maopig/article/details/7200028一、主要特性1、H.264/AVC相对以前的编码方法,以MPEG-2为例,在图像内容预测方面提高编码效率,改善图像质量的主要特点如下:● 可变块大小运动补偿: 选择运动补偿大小和形状比以前的标准更灵活,最小的亮度运动补偿块可以小到4×4。●1/
2015-02-28 17:08:08 805
转载 DM6467之视频采集(Linux)下MMAP
原文出处:http://blog.csdn.net/maopig/article/details/7185463做dsp6467是在linux下做视频采集,仅ARM端一共有三种视频采集方式: 1)使用read、write方式:直接使用 read 和 write 函数进行读写。这种方式最简单,但是这种方式会在用户空间和内核空间不断拷贝数据 ,同时在用户空间和内核空间占用
2015-02-28 17:01:13 780
转载 从bootm 命令讲起/U-boot的环境变量: bootcmd 和bootargs
原文出处:http://blog.csdn.net/maopig/article/details/7171609从bootm 命令讲起 1 找到linux的内核入口 Bootm命令通过读取uImage的头部0×40字节的信息,将uImage定位到正确的地址,同时找到linux的内核入口地址。 这个地方就涉及到uImage的头部0×40字节信息到底是什么的问
2015-02-28 16:36:22 1792
转载 module_param 在内核编程中的作用
原文出处:http://blog.csdn.net/maopig/article/details/7171700 module_param 在用户态下编程可以通过main()的来传递命令行参数,而编写一个内核模块则通过module_param()!module_param的作用一.module_param1.为什么引入 在用户态下编程可以
2015-02-28 16:31:23 840
转载 代码中特殊的注释技术——TODO、FIXME和XXX的用处
本博客网址:http://blog.csdn.net/reille/,转载本博客原创文章请注明出处。本文内容概要: 代码中特殊的注释技术——TODO、FIXME和XXX的用处。 前言:今天在阅读Qt Creator的源代码时,发现一些注释中有FIXME英文单词,用英文词典居然查不到其意义!实际上,在阅读一些开源代码时,我们常会碰到诸如:TODO、FIXME和XXX
2015-01-09 09:09:27 877
转载 tvp5150 若干问题,很好的解答
http://blog.csdn.net/yangzhifu/article/details/7388101作者:德州仪器半导体技术(上海)有限公司 通用DSP 技术应用工程师 喻云峰1.简介TVP5150系列是一颗使用简易,超低功耗,封装极小的数字视频解码器。使用单一14.31818MHz时钟就可以实现PAL/NTSC/SECAM各种制式的解码,输出8-bit ITU
2014-11-18 14:57:19 3143
转载 cache一致性问题
这周碰到的一个问题,在解决的过程中得到不少高手的热心帮助,把一些总结贴出来,欢迎大家指点。写一个屏驱动的时候,需要把一块内核中用kmalloc分配的内存映射到应用层中使用。这是一个很simple的需求,很轻松的就可以通过mmap搞定:驱动部分代码:1698 if((mmap_addr = kmalloc(PAGE_SIZE, GFP_KERNEL)) == NU
2014-11-02 14:19:45 1251
转载 正则表达式和sscanf
在看这篇文章之前建议你先了解一下什么是正则表达式,具体不重复了,google一下能出一大堆,不过这篇文章比较好,贴个url http://unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm,作者说30分钟能看完的不是地球人,但是我15分钟就看完了还记住了90%以上,好吧我来自火星,玩笑到此结束,下面切入正题。 本文
2014-09-29 10:39:52 1214
转载 从头开始写项目Makefile(九):目录搜索
【版权声明:转载请保留出处:blog.csdn.net/gentleliu。Mail:shallnew at 163 dot com】 在一个较大的工程中,一般会将源代码和二进制文件(.o 文件和可执行文件)安排在不同的目录来进行区分管理。这种情况下,我们可以使用 make 提供的目录搜索依赖文件功能(在指定的若干个目录下自动搜索依赖文件)。在Makefile中,使用依赖
2014-09-13 16:08:56 661
转载 从头开始写项目Makefile(十):make内嵌函数及make命令显示
【版权声明:转载请保留出处:blog.csdn.net/gentleliu。Mail:shallnew at 163 dot com】 这一节我们讲一下make的函数,在之前的章节已经讲到了几个函数:wildcard、patsubst、notdir、shell等。一般函数的调用格式如下:$(funcname arguments)或$(funcname arguments)
2014-09-13 16:07:40 649
转载 从头开始写项目Makefile(七):统一目标输出目录
【版权声明:转载请保留出处:blog.csdn.net/gentleliu。Mail:shallnew at 163 dot com】 上一节我们把规则单独提取出来,方便了Makefile的维护,每个模块只需要给出关于自己的一些变量,然后再使用统一的规则Makefile。这一节我们继续改进我们的Makefile,到目前为止我们的Makefile编译链接输出的目标都在源文件同目录下或模块M
2014-09-13 16:06:57 728
转载 从头开始写项目Makefile(八):模式规则
【版权声明:转载请保留出处:blog.csdn.net/gentleliu。Mail:shallnew at 163 dot com】 上一节讲到目录创建成功,目标文件没有生产到对应目录下,这里我们先给目标文件加上对应目录,这样的话产生对应的目标文件会直接生成到对应目录。我们先给库文件目标和可执行文件目标加上路径,如下:[html] view plaincopy
2014-09-13 16:06:01 708
转载 从头开始写项目Makefile(六):参数传递、条件判断、include
【版权声明:转载请保留出处:blog.csdn.net/gentleliu。Mail:shallnew at 163 dot com】在多个Makefile嵌套调用时,有时我们需要传递一些参数给下一层Makefile。比如我们在顶层Makefile里面定义的打开调试信息变量DEBUG_SYMBOLS,我们希望在进入子目录执行子Makefile时该变量仍然有效,这是需要将该变量传递给子Makef
2014-09-13 16:05:50 852
转载 从头开始写项目Makefile(四):伪目标
【版权声明:转载请保留出处:blog.csdn.net/gentleliu。Mail:shallnew at 163 dot com】一般情况下,Makefile都会有一个clean目标,用于清除编译过程中产生的二进制文件。我们在第一节的Makefile就用到了这个 clean目标,该目标没有任何依赖文件,并且该目标对应的命令执行后不会生产clean文件。像这种特点目标,它的规则所
2014-09-13 16:04:05 785
转载 从头开始写项目Makefile(五):嵌套执行
【版权声明:转载请保留出处:blog.csdn.net/gentleliu。Mail:shallnew at 163 dot com】在大一些的项目里面,所有源代码不会只放在同一个目录,一般各个功能模块的源代码都是分开的,各自放在各自目录下,并且头文件和.c源文件也会有各自的目录,这样便于项目代码的维护。这样我们可以在每个功能模块目录下都写一个Makefile,各自Makefile处理
2014-09-13 16:03:00 774
转载 从头开始写项目Makefile(三):变量的使用
【版权声明:转载请保留出处:blog.csdn.net/gentleliu。Mail:shallnew at 163 dot com】仔细研究我们的之前Makefile发现,我们还有改进的地方,就是此处:[plain] view plaincopytarget_bin : main.o debug.o ipc.o timer.o tool
2014-09-13 14:00:41 714
转载 从头开始写项目Makefile(一):基本规则
【版权声明:转载请保留出处:blog.csdn.net/gentleliu。Mail:shallnew at 163 dot com】一般一个稍大的linux项目会有很多个源文件组成,最终的可执行程序也是由这许多个源文件编译链接而成的。编译是把一个.c或.cpp文件编译成中间代码.o文件,链接是就使用这些中间代码文件生成可执行文件。比如在当前项目目录下有如下源文件:
2014-09-13 14:00:24 809 1
转载 从头开始写项目Makefile(二):隐含规则自动推导
【版权声明:转载请保留出处:blog.csdn.net/gentleliu。Mail:shallnew at 163 dot com】上一节的Makefile勉强可用,但还写的比较繁琐,不够简洁。对每一个.c源文件,都需要写一个生成其对应的.o目标文件的规则,如果有几百个或上千个源文件,都手动来写,还不是很麻烦,这也不够自动化啊。这样,我们把生成.o目标文件的规则全部删除掉,就是这
2014-09-13 13:59:41 763
转载 从头开始写项目Makefile(零):前言
【版权声明:转载请保留出处:blog.csdn.net/gentleliu。Mail:shallnew at 163 dot com】 最近发现我们项目的Makefile不够好,于是着手改了一下,以前Makefile写好后就很少动它了,直接在项目之间拷来拷去直接拿来用,这次重新修改项目Makefile,发现自己又学到不少东西,于是乎决定总结一下记录下来与各位苦逼的程序猿一道分享一下
2014-09-13 13:59:01 598
转载 void及void指针含义的深刻解析
原文出处:void的含义void即“无类型”,void *则为“无类型指针”,可以指向任何数据类型。void指针使用规范①void指针可以指向任意类型的数据,亦即可用任意数据类型的指针对void指针赋值。例如:int * pint;void *pvoid;pvoid = pint; /* 不过不能 pint= pvoid; */如果要将pvoid
2014-09-04 11:33:00 595
转载 linux中段错误的处理
linux中段错误的处理: http://blog.csdn.net/panfengyun12345/article/details/11043919
2014-09-03 16:33:55 1736
原创 osip/eXosip在Linux-2.6.37+@ARM上使用的问题
关于发出INVITE信令后,立刻被状态机返回event EXOSIP_CALL_RELEASED的错误。忙过这一段详细展开。。。
2014-07-14 09:56:31 1215 2
原创 如何理解指向指针的指针?
问题:如何理解指向指针的指针?我在一篇教程中看到下面这段,它描述指向指针的指针是如何运作的。引用文章相关段落如下:int i = 5, j = 6, k = 7;int *ip1 = &i, *ip2 = &j;现在我们可以这么写:int **ipp = &ip1;那么现在指针 ipp 指向了 ip1,ip1 指向了 i。
2014-06-26 14:10:13 768
原创 DM8168的PCIE2.0使用笔记
1、概述 参考:sprugx8b.pdf DM816x_AM389x_PCI_Express_Root_Complex_Driver_User_Guide.pdf DM816x_AM389x_PCI_Express_Endpoint_Boot_Driver_User_Guide.pdf TMS320dm8168.pdfhtt
2014-06-24 10:51:23 3857
转载 linux中Oops信息的调试及栈回溯
Oops 信息包含以下几部分内容。1 一段文本描述信息。比如类似“Unable to handle kernel NULL pointer dereference at virtual address 00000000”的信息,它说明了发生的是哪类错误。2 Oops 信息的序号。比如是第 1 次、第 2 次等。这些信息与下面类似,中括号内的数据表示序号。Internal
2014-06-19 16:10:45 849
转载 warning: the frame size of 1040 bytes is larger than 1024 bytes
问题描述: 在编译内核模块驱动时,如果出现如下警告信息:warning: the frame size of 1040 bytes is larger than 1024 bytes。主要是因为内核中设置了堆栈报警大小,其默认为1024bytes。我们主要将其修改为4096既可以消除告警信息。如果解决:(1)make menuconfig(2)k
2014-06-18 16:20:34 7680
转载 关于K&R代码风格中的大括号
起因是今天更改以前同事遗留下来的代码,改的有些累,所以有些感触。最大的感触就是这个K&R风格的大括号。对这种风格的括号我还是很抵触,因为不管是查看还是调试程序都非常的不方便。标准的K&R风格应该是这样:if(count>100){ count=0; reset=true;}但是修改代码的时候竟然看到这样的代码段:if(count>100){ count=0;res
2014-06-15 20:23:10 14272 3
原创 C语言中宏 __DATE__ , __TIME__ 的应用
static int do_version(int argc, char** argv){ printf("%s\n", __SVN_VERSION); return 0;}
2014-06-13 10:31:12 1612
原创 DM8168调试之ASSERT (ipcFramesOutLink_tsk.c|IpcFramesOutLink_copyFrameInfo|275)解决
DM8168调试之ASSERT (ipcFramesOutLink_tsk.c|IpcFramesOutLink_copyFrameInfo|275)解决
2014-06-11 19:03:17 960
原创 error: initializer element is not constant
static app_task_spawn_info_t app_list[]={ {APP_TYPE_OUTBOUND_TRANS_ENC, "outbound_trans_pthread", 90, NULL,\ &glb_outBound_trans_dynamic_params_default, gCtrol.handle_outBound_trans,\
2014-06-03 11:52:32 2621
原创 DM8168 DM8148 EDMA3 linux驱动程序,C实现
驱动拟定完成了以下几个功能:1、DMA一致性内存的申请,返回给用户使用;2、DMA一致性内存的释放;3、DMA一致性内存的映射(mmap);4、给定源实地址和目的实地址,完成A-sync或AB-sync两种模式的DMA内存搬运,TC0~TC3可选,模式可选;1、写了个小测试程序,完成edma3驱动的验证2、验证过程:调用edma3驱动,申请两段DMA内存,返回给用户空间
2014-05-30 11:23:52 2556
IECISO17025-2017.pdf
2019-06-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人