- 博客(59)
- 收藏
- 关注
原创 嵌入式项目Makefile设计的一般方法
本文以视频会议项目为背景,讨论如何使用WindRiver Tornado2.2的GNU工具链中的make工具编译各个模块的源代码,为嵌入式项目创建Makefile提供一般的设计方法。具体方法如下:1.先为所有模块,如下图中的code/source/appl目录下dp_new、gc、mc等编写一个全局的Makefile,取名为Makefile.global,放在code/include中。这
2007-04-25 00:03:00 3220
原创 2007年想完成的四件事情--有多少投入就有多少产出?
1.买一个好书柜:原来的老书架已经放不下新书了,想换一个,可前阵子去家具城转了一圈,稍微可以的都在600以上,LP看上了一个要不错的,可我们还是没买,唉,还是钱包不够鼓啊,准备迟些日子买.2.搞个ARM开发板玩玩:很早就想搞个ARM板跑跑vxWorks和Linux了,由于去年比较忙所以一直搁着了.今年不是很忙,所以玩玩感兴趣的东东,一方面可以提高自己的开发水平,另一方ARM这东西确实应用的太广了,
2007-03-18 22:23:00 1694 1
转载 VxWorks中文FAQ
前言(Surface):随着国内使用VxWorks的用户越来越多,为了方便VxWorkers少走一些弯路,特别推出了中文FAQ,其中很多的FAQ来自comp.os.vxworks和原创。(很多FAQ都可以在该新闻组找到英文版)文档的FAQ总共分为7大类:1.入门FAQ2.Tornado工具FAQ3.BSP FAQ4.文件系统 FAQ5.网络 FAQ6.VxWor
2007-03-14 17:53:00 19744 1
原创 数据流量监测工具源玛共享3[带录制功能]
在前一篇文章《数据流量监测工具源玛共享2[嵌入式流媒体测试工具] 》提 到在shell 上输入rate_stat命令就可以全部显示数据在某模块中的所有走向;输入rate_show命令就可以知道某数据在某个检测点的数据包头信息,比如数 据包长度、序列号、尾包标志等参数。这篇文章对前面的工具作进一步的改进,将原来的rate_stat、rate_show、rate_probe分别改为pkt_prof
2007-02-14 14:58:00 1709
原创 研读《ARM嵌入式系统开发:软件设计与优化》1--强烈推荐此书
今天在书店买了一本非常不错的好书《ARM嵌入式系统开发:软件设计与优化》.本人认为它是这几年比较难得的关于嵌入式系统软件开发参考用书.虽然书名和内容主要围绕ARM这个处理器内核,但书中的很多内容都折
2007-01-16 22:10:00 5909
原创 除了代码我们还有什么
忽然间有一种忧伤袭上心头,更贴切一点应该是无奈吧.感触良多,所以打开winamp点了rock 一点的歌曲让自己的情绪放松一点。或许是最近加班太多的原因,也可能是忙了一年却总结不出太多东西而微微恐慌。时间偷偷溜走,再几年就要而立,看看自己还是一名普通的软件工程师,根本不是当初研究生时代踌躇满志的自己所期望的。有些东西就是这样,如果你无力去改变生活的轨迹,等待的就只有默默忍受,无奈惆怅甚至极度郁闷在偶
2007-01-14 12:27:00 1848
原创 数据流量监测工具源玛共享2[嵌入式流媒体测试工具]
在前一篇文章《数据流量监测工具源玛共享[视频会议/DVR]》提到编写这个一个测试的小工具的目的和实现。在最近的一段测试中,发现这个工具对发现数据走向的诊断十分有效。在shell 上输入rate_stat命令就可以全部显示数据在某模块中的所有走向;输入rate_show命令就可以知道某数据在某个检测点的数据包头信息,比如数据包长度、序列号、尾包标志等参数。NOTE:编码及测试环境为Torna
2007-01-08 17:48:00 1903
转载 嵌入式系统兄弟msn大聚会
在这里转贴一篇天涯论坛的文章,希望能为那些正准备或已经从事嵌入式软硬件开发的朋友尽绵薄之力,也希望我们这些搞嵌入式的能有更多交流的机会.-------------------------------------作者:流浪歌手的情敌本人从事嵌入式系统开发,希望和大家交流。作相关工作的朋友们,留下msn联系方式吧! liangjianguo9@msn.com作者:月吻长河 回复日期:2
2006-12-30 23:03:00 3956 2
原创 程序员的几个思维惯性
这些感受是本人这几年嵌入式软件开发的点滴积累。有些是切身体会,有一些是感悟,也有一些只是见闻。1."怎么可能"."程序出问题时,他会说:这怎么可能,我的程序前几天还跑的好好的,我只不过改了~~~,没问题。如果问题的症状出在别人的模块,项目经理让他检查代码时,他会说这问题肯定不出在自己身上,甚至可以拍着胸脯说绝对没问题。即使他真去检查代码,也不会一行一行仔细看,那些自以为没问题的地方眼睛一刷就过
2006-12-17 14:22:00 1874
原创 数据流量监测工具[视频会议][源玛共享]
最近视频会议的一个模块总是有点不对劲,从网络接收的数据到缓冲并转发到网络的过程中发现数据流不正常,为了便于调试并清楚到底有多少数据收到并以多少速率转发到网络,决定写一个可以监测数据流量的工具。感觉这个工具在查看多路多点位置的数据流非常好用。推荐一下,希望大家多提意见。不明白的,请多提问题哦。NOTE:这段代码在cygwin下调试过,结果看最后。本人的真正开发环境是vxworks下,所以在下
2006-12-11 18:29:00 1619
原创 从软件角度看央视“赢在中国”节目的那套投票系统
中央二套的“赢在中国”的这套鼓励年轻人创业的励志节目真的很不错,我也断断续续看了几场。感觉柳传志和张瑞敏评论的很到位。周宇具备很强的闯劲的勇者,很有激情,很能感染团队中的每个成员,真是一匹不折不扣的“土狼”。但我也觉得他“脾气”是大了点,容易让人怀疑在关键时刻可能他会被自己的情绪牵着走。毕竟,在中国这个大环境,光有胆识是不够的,将才历来都只有打江山的份,坐江山却很难。宋文明,温文尔雅,是谋略在
2006-12-07 14:44:00 1468
原创 嵌入式高手的至高境界?
今天忽然有这样的感受,所以写了下来:1.没有语言障碍。不论C语言还是汇编具有还是流行的J2EE,拿来就用,几乎不需要花很多的时间去熟悉。他们深知语言的本质,这一点如果没有很多年的编码很难做到。2.只有一种处理器。就市场上的MCU、MPU、DSP和SOC处理芯片种类不下上百种,而且功能都有所侧重,所以一般的人也就只熟悉几种罢了。而高手看到的只是它们的共性。3.RTOS也只是一堆API。到底有多少人在
2006-11-11 00:35:00 2549 3
翻译 一位自由程序员的经验之谈
所谓自由(stand-alone)程序员是指习惯于独立负责一个项目,基本没有其它人员协助设计、编码、测试的软件开发人员。这种人一般比较“怪”,有些也比较牛,喜欢show自己的技术,但由于长期独立工作,往往不善于社交,是软件开发群体的技术能人。这些人往往很清高自敖,不易于沟通和交际,所以也很难融入到公司的高级管理层。The Standalone Programmer:Tips from th
2006-11-01 14:38:00 4971 2
转载 程序员三部曲之一.三流的开发人员
曾有言“一流的作管理,二流的作市场,三流的作研发!”,也有言“一年管理成富翁,三年市场路路通,十年技术一场空!”,其意无非是说研发人员低人一等,最开始听到这些话的时候,多是一种不屑,想当初自己毕业的时候,很多人都认为我的性格和能力更适合去做市场,而我却恰恰相反,选择了作研发,在我看来,管理是比较高深的领域,没有科班出身,没有严格的培训是无法做好的,中国的现实,管理的成功更多的取决于你的机会和后
2006-10-25 23:37:00 2036 2
转载 程序员三部曲之二.不作35岁的程序员
在中国,程序员不能超过35岁,似乎已经是不争的事实,软件开发工作就是青春饭,顶多靠毕业这十年的时间,超过这个年龄,要不成功跃身成为管理者,要不转行进入其他领域,好像再没有更好的选择,即使偶有继续坚持作开发的,也被看成另类一族。老外却不是这样,40,50岁仍然作开发工作的大有人在,甚至很多牛人,包括获得康柏最佳软件奖的Robber,仍在埋头作着他所喜欢的编码工作,为何如此差异。我仔细想了一下,特
2006-10-25 23:35:00 2067
转载 程序员三部曲之三.不作浮躁的程序员
不可爱的程序员: 记得大学毕业刚到深圳的时候,遇到一个可爱的女孩,当她知道我是程序员的时候,就直接和我说,找男朋友,绝对不找程序员,为何?程序员不修边幅,为人木钠,不擅交际,不会说话,不懂浪漫,不会玩,不能哄女孩开心等等。我无言,我觉得她说的不无道理。程序员,或者大多数程序员确实如此,大部分时间面对代码和电脑,过于单纯简单的环境,以至于程序员真在其他领域确实难以有很大的突破。若干年后,又碰到这个
2006-10-25 23:34:00 1378
原创 我可爱的老婆开博了
同志们瞧瞧她的得意劲: 发觉本人做事情总比别人慢半拍,这年头,BLOG太流行了,不论是名人还是草民,都争先恐后地去开博,SINA,BLOGCN........挺好的,言论自由,想写什么就写什么,想什么时候写就什么时候写,想赞美就赞美,想破口大骂怎么抨击都成,这社会多开明啊,庆幸自己能生在这年代! LG每天在我耳边唠叨着:你快开博吧,写写挺好的,真的不骗你!他自己已经写了几个月了,这大
2006-10-25 23:33:00 1259
翻译 高级C测试:考查C程序员的0x10个最佳问题
/*embeddedsoft:这几个题目不是很难,但很基本,能在一定地层面上考查程序员对C的掌握情况,作者基本上对每个题目都作出了详细的解答,这些题目值得思考和借鉴!*/Advanced Test in C: The 0x10 Best Questions for C ProgrammersUsing this Test In the entire test following conve
2006-10-25 23:32:00 1969
原创 讨论关于嵌入式底层编程的两道题
一位资深的嵌入式项目经理曾这样对我说:搞嵌入式要往下走,要搞底层要搞算法,因为它们比较有前途。Embedded firmware interview questions1.Write function in C that gets array of chars, and search for the longest sequence of repeatedly 1 bits. It ret
2006-10-25 23:30:00 1792
原创 杭州西湖.周末的脚丫[照片]
西湖美,美在水,美在山,美在山水相映,美在波涛荡漾,美在柳叶青青,美在文化的积淀,很有灵性。 生活在杭州,已经快半年没去了。这个周末又去感受了一番这种江南的柔情美。 江南的女人就是秀气,嘿嘿看看我的女友就知道啦 西湖的荷花很美,不过开在7月份,现在只有荷叶了。 那种水天合一的感觉也并非只能在海边才能感受。 老婆说路边的"野花"不要乱采,那就
2006-10-25 23:28:00 3489
原创 杭州西湖.湖中音乐喷泉[录象]
上一篇《杭州西湖.周末的脚丫》中提到的音乐喷泉真的美,这里有几段录象可以观赏。夜色中的美丽湖中音乐喷泉 1夜色中的美丽湖中音乐喷泉 2 夜色中的美丽湖中音乐喷泉 3
2006-10-25 23:26:00 3750
翻译 手把手教你如何配置DMA[共享]
如果你还没有看过《嵌入式内功.葵花宝典》,那么在阅读本这篇推荐的文章之前有必要先去看看吧,你会有新的体会的。Direct Memory Access DMA...que? /*到底啥是DMA*/ DMA registers /*DMA寄存器*/ Some DMA rou
2006-10-25 23:24:00 4544
转载 当CACHE和DMA坐在跷跷板上[共享]
如果你还没有看过《嵌入式内功.葵花宝典》,那么在阅读本这篇推荐的文章之前有必要先去看看吧,你会有新的体会的。 The best way to move multimedia data With embedded media processors assuming the role of both microcontroller and signal processor, enginee
2006-10-25 23:12:00 2884
翻译 图解CACHE不一致性问题[生动透彻]
如果你还没有看过《嵌入式内功.葵花宝典》,那么在阅读本这篇推荐的文章之前有必要先去看看吧,你会有新的体会的。
2006-10-25 22:58:00 1865
转载 嵌入式系统中的CACHE问题
如果你还没有看过《嵌入式内功.葵花宝典》,那么在阅读本这篇推荐的文章之前有必要先去看看吧,你会有新的体会的。关键词:嵌入式实时系统 CACHE 不一致性随着社会的发展、人们生活水平的提高,人们对嵌入式计算机应用的要求也越来越高。因此,对嵌入式系统的性能要求也越来越高。明显体现在嵌入式系统的CPU速度的不断提高上。但问题也随之而来,嵌入式CPU的主频不断地提高,一方面加强了CPU的处
2006-10-25 22:55:00 2040
转载 ADI Blackfin的Mem DMA高速通信
如果你还没有看过《嵌入式内功.葵花宝典》,那么在阅读本这篇推荐的文章之前有必要先去看看吧,你会有新的体会的。关键词: ADSP-21535, Blackfin Mem DMAADSP-21535Blackfin是美国AD公司和Intel公司于2001年底联合推出的一款定点DSP,RISC指令结构,运作高效,具有十分优异的性能。该DSP具有300MHz的主频,2个40bit的MAC(乘加
2006-10-25 22:54:00 1425
转载 基于TMS320C64x/DM64x的视频编码优化
数字视频编码在诸如数字视频监控系统与视频会议系统等众多应用中发挥着重要作用。本文将对以TMS320C64x/DM64xDSP为基础的通用视频编码器优化技术进行介绍。基于DM64x的视频编码优化结合了多种技术,其中包括算法/系统优化、存储器缓冲优化、EDMA及高速缓存利用率优化等。TMS320C64x/DM64x器件建立在德州仪器(TI)开发的第二代高性能VLIW架构(VelociTI.2)
2006-10-25 22:52:00 1617
转载 如何写一份好的工程师简历
最近三年作为 Google(谷歌)的软件工程师,我每周会帮人事部门审查简历,决定要不要给他们面试。Google 这几年的发展让很多许多优秀的工程师都前来申请。到目前为止,我已经看了上千份简历,有些简历留下的印象比别的好很多。尤其是最近亲戚朋友常常问我如何修改他们的简历,所以我积累了一些常见的错误避免的提议,在此跟大家交流一下。1.谈到你做过的技术时,应该提到用的程序语言、你的个人贡献和产品
2006-10-25 22:51:00 4875
原创 嵌入式内功.葵花宝典
欲练神功,挥刀自宫 话说东方不败得到《葵花宝典》以后,迫不及待地翻开第一页,面对“欲练神功,引刀自宫”八个大字倒吸了一口凉气。苦苦思索了七天七夜之后终于痛下决心,喀嚓一声,引刀自宫。强忍著身体的剧痛,怀著凝重的心情,东方不败缓缓翻开了第二页,映入眼帘的又是八个大字:“若不自宫,也能成功”,东方不败当即晕死过去……好不容易,东方不败终于醒来了,他想反正都自宫了,还是赶紧练功吧。於是他又缓缓的
2006-10-25 22:47:00 4095
原创 嵌入式内功.扎马步
嵌入式是门高深的学问,入门的门槛比较高,没有几年的苦心专研不可能有很深的造诣更谈不上出什么成果。嵌入式又是一个热门有挑战性的领域,手机研发、游戏设备开发IPTV、数字视频录像机(DVR)、数字视频广播(DVB)、机顶盒、视频会议系统、网络监控摄像头以及可视电话等高端行业已经渗透进我们生活,在以后还会有更好的发展情景。在这个领域里,有无数的有志软件工程师在这里打拼。他们的收入不等,有的刚起步可能
2006-10-25 22:45:00 1755
原创 TI DM64x/C64x的代码优化方法
优化流程:工作流程一般分为三个阶段。 阶段一:直接按照需要用C语言实现功能。在实际的DSP应用中,许多算法都是非常复杂,直接用汇编代码编写,虽然优化效率很高,可是实现的难度却很大,所以一般都采用先用C语言来实现,然后编译运行,利用C64X开发环境的profile clock工具测试程序运行时间,若不能满足要求,则进行第二阶段。 阶段二:C语言级的优化。选择C64X开发环境提
2006-10-25 22:43:00 1572
转载 优化C代码常用的几招
在性能优化方面永远注意80-20原则,即20%的程序消耗了80%的运行时间,因而我们要改进效率,最主要是考虑改进那20%的代码。不要优化程序中开销不大的那80%,这是劳而无功的。第一招:以空间换时间 计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招--以空间换时间。比如说字符串的赋值:方法A:通常的办法#define LEN
2006-10-25 22:42:00 1133
原创 软件牛人与迷惘者
这是一段关于一位迷惘困惑的嵌入式软件开发人员请教一位即将跳槽到到其它公司的软件牛人的经典MSN对话,希望可以给看过文章的人一点点人生启发和感悟。Leo:send you a good article at http://www.ganssle.com/articles.htmTie:Since you are not a researcher, I think you should g
2006-10-25 22:40:00 1869 1
原创 编程修养[推荐]
什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是。对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了。我认为好的程序员应该有以下几方面的素质: 1、有专研精神,勤学善问、举一反三。 2、积极向上的态度,有创造性思维。 3、与人积极交流沟通的能力,有团队精神。 4、谦虚谨慎,戒骄戒燥。
2006-10-25 22:39:00 829
原创 嵌入式软件测试的十大秘诀
在嵌入式软件开发过程中,一般来说,花在测试和花在编码的时间比为3:1(实际上可能更多)。这个比例随着你的编程和测试水平的提高而不断下降,但不论怎样,软件测试对一般人来讲很重要。很多年前,一位开发人员为了对嵌入式有更深层次的理解,向Oracle询问了这样的一个问题:我怎么才能知道并懂得我的系统到底在干些什么呢? Oracle面对这个问题有些吃惊,因为在当时没有人这么问过,而同时代的嵌入式开发人员
2006-10-25 22:35:00 1464 3
原创 嵌入式OS你用了吗
根据美国《嵌入式系统设计》权威杂志每年对大量全美及其它国家的嵌入式研发人员就关于你是否使用嵌入式操作系统、怎么使用以及怎么评价性能等问题展开充分调查。今年2006年的调查结果如图1所示。 从图中可以看出有很大一部分人并没有使用任何操作系统,连简单的小内核或调度程序都没有,这是为何呢?从调查中了解到,其中很大的一部分人认为他们的项目简单根本就不需要OS;小部分人认为OS对系统要求高,并
2006-10-25 22:33:00 1342
原创 你今天volatile了吗?--慎重使用
根据c/c++语法,const可以出现的地方,volatile几乎也都可以出现。但是,const修饰的对象其值不能改变,而volatile修饰的对象其值可以随意地改变,也就是说,volatile对象值可能会改变,即使没有任何代码去改变它。在这一点上,最典型的例子就是内存映射的设备寄存器和多线程中的共享对象。懂得使用volatile也是一门小小的艺术。使用volatile约束符可以阻止编译器对代
2006-10-25 22:32:00 1954
原创 你今天volatile了吗?--准确定位
在前一篇关于volatile文章《你今天volatile了吗?--慎重使用》(在后面,简称《慎重使用》)中提到,volatile定义的对象其内容可能会忽然的变化。换句话讲,如果你定义了一个volatile对象,就等于你告诉编译器该对象的内容可能会改变,即使代码中没有任何语句去改变该对象。编译器访问非volatile对象和volatile对象的方式很不一样。对于前者(经优化后),它先将非vola
2006-10-25 22:30:00 1851
原创 你今天volatile了吗?--兑现允诺
上一篇文章《你今天volatile了吗?--准确定位》(后面简称《准确定位》)主要探讨关于volatile在定义设备寄存器时应该放到什么位置最合适的问题。另外,在文章中也提到下面两个观点:*对任意数据类型T,C提供一种标准内置的转换。这个转化可以完成从T指针到volatile T指针的转换,并规定其逆过程即volatile T指针向T指针转换为非法。*const指针和volatile指针在转换
2006-10-25 22:29:00 1741
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人