嵌入式软件

人生在世如身处荆棘之中,心不动,人不妄动,不动则不伤;如心动则人妄动,伤其身痛其骨,于是体会到世间诸般痛苦。

2006年10月

转载 程序员三部曲之一.三流的开发人员

  曾有言“一流的作管理,二流的作市场,三流的作研发!”,也有言“一年管理成富翁,三年市场路路通,十年技术一场空!”,其意无非是说研发人员低人一等,最开始听到这些话的时候,多是一种不屑,想当初自己毕业的时候,很多人都认为我的性格和能力更适合去做市场,而我却恰恰相反,选择了作研发,在我看来,管理是比较高深的领域,没有科班出身,没有严格的培训是无法做好的,中国的现实,管理的成功更多的取决于你的机会和后台而非真实本领。阅读全文>

发表于 @ 2006年10月25日 23:37:00|评论(loading...)|编辑

转载 程序员三部曲之二.不作35岁的程序员

  在中国,程序员不能超过35岁,似乎已经是不争的事实,软件开发工作就是青春饭,顶多靠毕业这十年的时间,超过这个年龄,要不成功跃身成为管理者,要不转行进入其他领域,好像再没有更好的选择,即使偶有继续坚持作开发的,也被看成另类一族。阅读全文>

发表于 @ 2006年10月25日 23:35:00|评论(loading...)|编辑

转载 程序员三部曲之三.不作浮躁的程序员

  记得大学毕业刚到深圳的时候,遇到一个可爱的女孩,当她知道我是程序员的时候,就直接和我说,找男朋友,绝对不找程序员,为何?程序员不修边幅,为人木钠,不擅交际,不会说话,不懂浪漫,不会玩,不能哄女孩开心等等。我无言,我觉得她说的不无道理。程序员,或者大多数程序员确实如此,大部分时间面对代码和电脑,过于单纯简单的环境,以至于程序员真在其他领域确实难以有很大的突破。若干年后,又碰到这个女孩,她经历了多次的情感挫折,身心疲惫,告诉我,她很想找个程序员结婚,这又为何?程序员能挣钱,却不会花钱,为人老实,不会背叛感情,容易掌控,网上很多帖子都写了类似的内容。我继续无言:难道程序员就无法博得花季女孩的青睐,而只能成为她们情感经历后面对婚姻无奈的选择。阅读全文>

发表于 @ 2006年10月25日 23:34:00|评论(loading...)|编辑

原创 我可爱的老婆开博了

  发觉本人做事情总比别人慢半拍,这年头,BLOG太流行了,不论是名人还是草民,都争先恐后地去开博,SINA,BLOGCN........挺好的,言论自由,想写什么就写什么,想什么时候写就什么时候写,想赞美就赞美,想破口大骂怎么抨击都成,这社会多开明啊,庆幸自己能生在这年代!阅读全文>

发表于 @ 2006年10月25日 23:33:00|评论(loading...)|编辑

翻译 高级C测试:考查C程序员的0x10个最佳问题

/*embeddedsoft:这几个题目不是很难,但很基本,能在一定地层面上考查程序员对C的掌握情况,作者基本上对每个题目都作出了详细的解答,这些题目值得思考和借鉴!*/阅读全文>

发表于 @ 2006年10月25日 23:32:00|评论(loading...)|编辑

原创 讨论关于嵌入式底层编程的两道题

一位资深的嵌入式项目经理曾这样对我说:搞嵌入式要往下走,要搞底层要搞算法,因为它们比较有前途阅读全文>

发表于 @ 2006年10月25日 23:30:00|评论(loading...)|编辑

原创 杭州西湖.周末的脚丫[照片]

杭州西湖.周末的脚丫[照片]阅读全文>

发表于 @ 2006年10月25日 23:28:00|评论(loading...)|编辑

原创 杭州西湖.湖中音乐喷泉[录象]

上一篇《杭州西湖.周末的脚丫》中提到的音乐喷泉真的美,这里有几段录象可以观赏。阅读全文>

发表于 @ 2006年10月25日 23:26:00|评论(loading...)|编辑

翻译 手把手教你如何配置DMA[共享]

手把手教你如何配置DMA阅读全文>

发表于 @ 2006年10月25日 23:24:00|评论(loading...)|编辑

转载 当CACHE和DMA坐在跷跷板上[共享]

CACHE和DMA熟优熟劣?阅读全文>

发表于 @ 2006年10月25日 23:12:00|评论(loading...)|编辑

翻译 图解CACHE不一致性问题[生动透彻]

用图解的方式来分析CACHE的不一致性问题阅读全文>

发表于 @ 2006年10月25日 22:58:00|评论(loading...)|编辑

转载 嵌入式系统中的CACHE问题

摘要:描述了在实时嵌入式系统开发中遇到的与CACHE有关的问题。对引起这些问题的原因——CACHE和RAM的不一致性进行了讨论。最后,提出了解决问题的方法。 阅读全文>

发表于 @ 2006年10月25日 22:55:00|评论(loading...)|编辑

转载 ADI Blackfin的Mem DMA高速通信

摘要:针对ADSP-21535Blackfin的MemDMA高速通信中的关键技术进行了讨论,分析了系统的内存管理,对DMA的相关寄存器的配置进行了详细讲解,并给出了具体实例。对多种内存之间的DMA列出了实际的指标评测,为该系列DSP工程应用的高速通信设计提供了重要参考。 阅读全文>

发表于 @ 2006年10月25日 22:54:00|评论(loading...)|编辑

转载 基于TMS320C64x/DM64x的视频编码优化

数字视频编码在诸如数字视频监控系统与视频会议系统等众多应用中发挥着重要作用。本文将对以TMS320C64x/DM64xDSP为基础的通用视频编码器优化技术进行介绍。基于DM64x的视频编码优化结合了多种技术,其中包括算法/系统优化、存储器缓冲优化、EDMA及高速缓存利用率优化等。阅读全文>

发表于 @ 2006年10月25日 22:52:00|评论(loading...)|编辑

转载 如何写一份好的工程师简历

  最近三年作为 Google(谷歌)的软件工程师,我每周会帮人事部门审查简历,决定要不要给他们面试。Google 这几年的发展让很多许多优秀的工程师都前来申请。到目前为止,我已经看了上千份简历,有些简历留下的印象比别的好很多。尤其是最近亲戚朋友常常问我如何修改他们的简历,所以我积累了一些常见的错误避免的提议,在此跟大家交流一下。阅读全文>

发表于 @ 2006年10月25日 22:51:00|评论(loading...)|编辑

转载 我的25年嵌入式生涯

  《程序员》杂志的编辑约我写一篇命题作文,想了几天都无从下手不知道写什么才好。在这篇文章里,我不打算将创业的艰辛与喜悦重新回忆一遍,我确实不想去误导大家,因为我所处的年代是一个物质缺乏的年代,成功相对来说要容易得多。每个人的成长经历都有其个性化的东西,每个人的成功创业经验虽然有一些可以遵循的普遍规律,但一般来说都很难复制,成功需要不断地创新。阅读全文>

发表于 @ 2006年10月25日 22:50:00|评论(loading...)|编辑

原创 嵌入式内功.葵花宝典

踏踏实实地练,不能走自宫化为"人妖"的道路。嵌入式内功我们必须练,而且要踏踏实实一招一势地练。阅读全文>

发表于 @ 2006年10月25日 22:47:00|评论(loading...)|编辑

原创 嵌入式内功.扎马步

嵌入式是门高深的学问,入门的门槛比较高,没有几年的苦心专研不可能有很深的造诣更谈不上出什么成果。嵌入式又是一个热门有挑战性的领域,手机研发、游戏设备开发IPTV、数字视频录像机(DVR)、数字视频广播(DVB)、机顶盒、视频会议系统、网络监控摄像头以及可视电话等高端行业已经渗透进我们生活,在以后还会有更好的发展情景。阅读全文>

发表于 @ 2006年10月25日 22:45:00|评论(loading...)|编辑

原创 TI DM64x/C64x的代码优化方法

直接按照需要用C语言实现功能。在实际的DSP应用中,许多算法都是非常复杂,直接用汇编代码编写,虽然优化效率很高,可是实现的难度却很大,所以一般都采用先用C语言来实现,然后编译运行,利用C64X开发环境的profile clock工具测试程序运行时间,若不能满足要求,则进行第二阶段。 阅读全文>

发表于 @ 2006年10月25日 22:43:00|评论(loading...)|编辑

转载 优化C代码常用的几招

在性能优化方面永远注意80-20原则,即20%的程序消耗了80%的运行时间,因而我们要改进效率,最主要是考虑改进那20%的代码。不要优化程序中开销不大的那80%,这是劳而无功的。阅读全文>

发表于 @ 2006年10月25日 22:42:00|评论(loading...)|编辑

原创 软件牛人与迷惘者

  这是一段关于一位迷惘困惑的嵌入式软件开发人员请教一位即将跳槽到到其它公司的软件牛人的经典MSN对话,希望可以给看过文章的人一点点人生启发和感悟。阅读全文>

发表于 @ 2006年10月25日 22:40:00|评论(loading...)|编辑

原创 编程修养[推荐]

什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是。对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了。阅读全文>

发表于 @ 2006年10月25日 22:39:00|评论(loading...)|编辑

原创 嵌入式软件测试的十大秘诀

  在嵌入式软件开发过程中,一般来说,花在测试和花在编码的时间比为3:1(实际上可能更多)。这个比例随着你的编程和测试水平的提高而不断下降,但不论怎样,软件测试对一般人来讲很重要。阅读全文>

发表于 @ 2006年10月25日 22:35:00|评论(loading...)|编辑

原创 嵌入式OS你用了吗

根据美国《嵌入式系统设计》权威杂志每年对大量全美及其它国家的嵌入式研发人员就关于你是否使用嵌入式操作系统、怎么使用以及怎么评价性能等问题展开充分调查。今年2006年的调查结果如图1所示。阅读全文>

发表于 @ 2006年10月25日 22:33:00|评论(loading...)|编辑

原创 你今天volatile了吗?--慎重使用

  根据c/c++语法,const可以出现的地方,volatile几乎也都可以出现。但是,const修饰的对象其值不能改变,而volatile修饰的对象其值可以随意地改变,也就是说,volatile对象值可能会改变,即使没有任何代码去改变它。在这一点上,最典型的例子就是内存映射的设备寄存器和多线程中的共享对象。懂得使用volatile也是一门小小的艺术。使用volatile约束符可以阻止编译器对代码过分优化防止出现一些你意想不到的情况,达不到预期的结果;过频地使用volatile很可能会增加代码尺寸和降低性能。下面举个例子来说明volatile在优化中的微妙作用。阅读全文>

发表于 @ 2006年10月25日 22:32:00|评论(loading...)|编辑

原创 你今天volatile了吗?--准确定位

在前一篇关于volatile文章《你今天volatile了吗?--慎重使用》(在后面,简称《慎重使用》)中提到,volatile定义的对象其内容可能会忽然的变化。换句话讲,如果你定义了一个volatile对象,就等于你告诉编译器该对象的内容可能会改变,即使代码中没有任何语句去改变该对象。编译器访问非volatile对象和volatile对象的方式很不一样。对于前者(经优化后),它先将非volatile对象的内容读到CPU寄存器中,等操作CPU寄存器一段时间后,才最终将CPU寄存器的内容写回volatile对象。然而,对于volatile对象就没有这种优化操作。这时候编译器有些“笨”,代码要求它读取或写入volatile,它就马上如实地去做。前一篇《慎重使用》主要讲述如何明智地正确使用volatile,本篇文章通过一些实际应用进一步阐述volatile在解决嵌入式问题中的一些微妙作用并继续深入探讨使用volatile要注意的一些细节问题。阅读全文>

发表于 @ 2006年10月25日 22:30:00|评论(loading...)|编辑

原创 你今天volatile了吗?--兑现允诺

  上一篇文章《你今天volatile了吗?--准确定位》(后面简称《准确定位》)主要探讨关于volatile在定义设备寄存器时应该放到什么位置最合适的问题。另外,在文章中也提到下面两个观点: *对任意数据类型T,C提供一种标准内置的转换。这个转化可以完成从T指针到volatile T指针的转换,并规定其逆过程即volatile T指针向T指针转换为非法。阅读全文>

发表于 @ 2006年10月25日 22:29:00|评论(loading...)|编辑

原创 视频会议是这样的

我们公司视频会议系统上了电视,请双击下面播发器的中间部位来观看阅读全文>

发表于 @ 2006年10月25日 22:26:00|评论(loading...)|编辑

原创 从技术专家到项目经理

To manage project is to manage men.阅读全文>

发表于 @ 2006年10月25日 22:24:00|评论(loading...)|编辑

转载 值得回忆的本科四年学习

第二次和徐桥见面是似乎是在softboy的家的楼下的一家麦当劳,终于见到了传说中的softboy。大家简单谈谈了这个GBA的游戏事情,似乎是个足球经营类的小游戏。当时的我对真正的游戏开发一窍不通,基本上还是听他们说,我只是在一边听而已。不过softboy在PC上开发经验丰厚,对GBA的开发却没有实际的接触,所以了解GBA的开发过程就交给我去做了。我记得徐桥只给了我一个网站,叫做www.gbadev.org,然后自己去网上查查阅读全文>

发表于 @ 2006年10月25日 22:21:00|评论(loading...)|编辑

原创 国外嵌入式面试题

1.Can structures be passed to the functions by value? 2.Why cannot arrays be passed by values to functions? 3.Advantages and disadvantages of using macro and inline functions? 4.What happens when recursion functions are declared inline? ...阅读全文>

发表于 @ 2006年10月25日 22:15:00|评论(loading...)|编辑

原创 vxworks测试题及解答

关于vxworks的测试题很少,这里推荐一篇满不错的。阅读全文>

发表于 @ 2006年10月25日 22:12:00|评论(loading...)|编辑

原创 别踩static的地雷

  只要做过项目的朋友对关键字static应该都有一些了解,但未见了解很全面的。在C语言中,关键字static有以下明显的作用:1.static变量分配到静态内存中,这一点和全局非静态变量相同。 2.在函数体,static变量只要不进行修改操作,在被调用过程中其值将保持不变。 3.在模块内,全局static变量可以被模块内所有函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量,具有私有特点。 4.在模块内,一个static函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用,也具有私有特点。阅读全文>

发表于 @ 2006年10月25日 22:10:00|评论(loading...)|编辑

原创 爱在毕业前夕

  回首过去,时光渐远;回味过去,甜涩交织。重新打开记忆的画册,那历历在目的一副副画面浮现眼前。当你爱上一个会让你受伤的人,就如同深陷了泥沼,带着一丝焦灼矛盾的心境,有时想拼命地挣扎着出来,有时却希望自己可以象titanic的Jack和Rose一样爱的轰轰烈烈...阅读全文>

发表于 @ 2006年10月25日 22:08:00|评论(loading...)|编辑

转载 C语言高效编程的的四大绝招

  编写高效简洁的C语言代码,是许多软件工程师追求的目标。本文就工作中的一些体会和经验做相关的阐述,不对的地方请各位指教。阅读全文>

发表于 @ 2006年10月25日 20:27:00|评论(loading...)|编辑

原创 关于C的0x8本“经书”[嵌入式必读]

  在当今嵌入式“武林”中,流传着几本人人都想偷学几招的C语言的武功秘籍。这些秘籍都是旷世武学奇才耗尽毕生精力所著,部分秘籍流经数十载仍经久不衰,让它的无数实习者受益匪浅。   今天,承蒙武林大会所拖,在这公布这几本关于C的“经书”,让更多人实习之,练就一身绝世的嵌入式C语言好功夫。阅读全文>

发表于 @ 2006年10月25日 20:22:00|评论(loading...)|编辑

原创 offsetof,搞嵌入式必须会的杀手锏

在嵌入式应用中,或许你对offsetof接触不多甚至根本没见过。如果是这样,那么从这一刻起就好好地掌握它,让它成为你的又一杀手锏吧。 1. offsetof与EEPROM 我们许多人可能都使用过一些非挥发性的存储器,如常见的EEPROM。我们经常使用它们在存储一些系统的配置参数和设备信息。在所有的EEPROM中,通过串口访问的占了大多数。一般来说,对串口的访问都是按字节进行的,这使得我们不可避免会设计出下面的 接口去访问EEPROM的信息:阅读全文>

发表于 @ 2006年10月25日 20:17:00|评论(loading...)|编辑

转载 软件外企C++面试题,大家试试看

好好地考察一下你的Embedded English & C language理解力吧. 1.What is achieved by prefixing the 'static' keyword to a file-level function or file-level variable declaration? 2.Describe the difference between the “IS A” and “HAS A” object relationships. Which is the stronger relationship and why? 3.Java & C# support interfaces directly with the “interface” keyword. C++ does not have an “interface” keyword. How do you create an interface in C++? Where/when is the use of interfaces especially helpful阅读全文>

发表于 @ 2006年10月25日 20:13:00|评论(loading...)|编辑

原创 一道微软亚洲工程院C语言笔试题的解答

题目: struct S { int i; int * p; }; void main() { struct S s; int * p = &s.i; p[0] = 4; p[1] = 3; s.p = p; s.p[1] = 1; s.p[0] = 2; } 阅读全文>

发表于 @ 2006年10月25日 20:08:00|评论(loading...)|编辑

转载 一个计算机高手的成长

  这些日子我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公开,希望能够为国内IT的发展尽自己一份微薄的力量。最近看到很多学生朋友和我当年一样没有方向,所以把我的经历写出来与大家共勉,希望能给刚入行的朋友们一点点帮助。阅读全文>

发表于 @ 2006年10月25日 20:07:00|评论(loading...)|编辑

原创 union的0x3个妙用(I)

在嵌入式系统中,一般不建议使用union结构,因为union结构中的各个成员之间存在相互影响,容易滋生问题。可见,union也是把双刃剑。懂得使用它的人可以做到“削铁如泥”,而不懂得使用它的人很可能会被其所伤。下面介绍的几种方法都是嵌入式系统常用的几种技巧。如果熟练掌握,将来定有所用。 1.all的使用阅读全文>

发表于 @ 2006年10月25日 19:57:00|评论(loading...)|编辑

原创 union的0x3个妙用(II)

2.union巧妙地实现多字节数据类型之间的转化 在涉及音视频编解码算法中,经常会涉及一些数据压缩、声音解码、图象的缩放等问题。 这里通过一个例子来推荐一种union绝妙用法(这种方法由Equator公司提供,在我们公司的图象处理算法中用得很多)。在该例子中,利用union结构n64u实现占8个字节n64类型与单字节的c0~c7的相互转换,从而达到数据压缩和分解的目的。阅读全文>

发表于 @ 2006年10月25日 19:56:00|评论(loading...)|编辑

原创 宏的几个绝妙用法

1. 二进制形式的图形表现形式   这个例子摘自《C专家编程》。根据位模式构建图形图标(icon)或者图形(glyph),是一种小型的位模式映射于屏幕产生的图像。一个位代表图像上的一个像素。如果一个位被设置,那么它所代表的像素就是“亮”的。如果一个位被清除,那么它所代表的像素就是“暗”的。所以,一系列的整数值能够用于为图像编码。类似Iconedit这样的工具就是用于绘图的,他们所输出的是一个包含一系列整型数的ASCII文件,可以被一个窗口程序所包含。它所存在的问题是程序中的图标只是一串十六进制数。在C语言中,典型的16X16的黑白图形可能如下:阅读全文>

发表于 @ 2006年10月25日 19:41:00|评论(loading...)|编辑

原创 深入浅出sizeof

[int占4字节,short占2字节] 1.0 回答下列问题:[答案在文章末尾] 1. sizeof(char) =                            2. sizeof 'a' =                            3. sizeof "a" =                         4. strlen("a")) =   如果你答对了全部四道题,那么你可以不用细看下面关于sizeof的论述。如果你答错了部分题目,那么就跟着我来一起探讨关于sizeof的用法了。   阅读全文>

发表于 @ 2006年10月25日 19:30:00|评论(loading...)|编辑

转载 想成为嵌入式程序员应知道的0x10个基本问题

  C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。阅读全文>

发表于 @ 2006年10月25日 19:26:00|评论(loading...)|编辑

原创 Rome wasn't built in a day

  在这里,我要感谢一位老师,她就是曾经给了我动力,让我连续几个星期激情澎湃疯狂学习英语的Micky. It's not easy and prompt to make yourself an excel embedded software designer. Be patient, and alway encourge yourself with that "Rome wasn't built in a day."阅读全文>

发表于 @ 2006年10月25日 19:22:00|评论(loading...)|编辑

原创 嵌入式英语

  在关于嵌入式的博客中,我想很少人会提级英语在软件开发中的作用和意义。可能是太重要了的缘故吧,就想我们的生活中的必须品一样,当你缺少的时候,才深刻地体会到它的重要性。   阅读全文>

发表于 @ 2006年10月25日 19:14:00|评论(loading...)|编辑

用户操作
[即时聊天] [发私信] [加为好友]
embeddedsoft
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
embeddedsoft的公告
Locations of visitors to this page I got a master degree in Zhejiang University of Science and Technology and have been dealing with embedded software development for years since graduation.I'd like to share my thoughts with you readily.
文章分类
收藏
    IT了望台
    Amine&vxworks
    chinaUnix
    comp.os.vxworks
    embedded.com
    gjcamann vxworks
    Jack Ganssle
    中国最权威VxWorks论坛
    嵌入式世界网
    电子工程专辑
    网络U盘
    通用便携
    同道中人
    absurd
    dishening
    embeddedsoft
    glock18
    ifq
    lzcx
    peter lee
    tangl_99
    孟岩
    杨争
    陈皓
    存档
    软件项目交易
    Csdn Blog version 3.1a
    Copyright © embeddedsoft