今天在搜集一些培训资料的时候看到一个《青蛙的故事》让我感慨良多,写出来与大家共享,故事的大意是:
从前,有一群青蛙,组织了一场攀爬比赛,比赛的终点是:一座非常高的铁塔的塔尖。一大群青蛙围着铁塔看比赛,给他们加油。比赛开始了,老实说,群蛙中没有谁相信这些小小的青蛙会到达塔顶,他们都在议论:“这太难了!!他们肯定到不了塔顶!!他们绝不可能成功的,塔太高了!”听到这些,一只又一只的青蛙开始泄气了,除了那些情绪高涨的几只还在往上爬。群蛙继续喊着:“這太难了!!沒有誰能爬上頂的!”越來越多的青蛙累坏了,退出了比賽。但,有一只卻还在越爬越高,一点沒有放弃的意思。最后,其他所有的青蛙都退出了比賽,除了一只,它費了很大的劲,終于成为唯一一只到達塔頂的胜利者。很自然,其他所有的青蛙都想知道它是怎么成功的。有一只青蛙跑上前去问那只胜利者它哪來那么大的力气跑完全程?它发现這只青蛙是個聋子!
這個故事告诉我们的是:永远不要听信那些习慣消极悲观看問題的人!因为他們只会粉碎你內心最美好的梦想与希望!
而且,最重要的是:当有人告訴你你的梦想不可能成真时,你要变成“聋子”...

>> 阅读全文

近年来,随着宽带技术的发展,宽带用户的数量急剧上升。宽带为何如此受欢迎?原因之一是用户可以得到多种宽带服务,其中以影视服务为主的宽带流媒体服务最引人瞩目。目前,宽带用户基本上都是通过PC机接入宽带网络,而我国电视机的普及率却远远高于PC机,如果能把宽带流媒体服务扩展到机顶盒,使电视用户也能享受到宽带带来的好处,这将给运营商带来极大的商机。IPTV技术正是为实现这一目标而发展起来的。
IPTV即网络电视,它是利用IP宽带网络,以“电视机+机顶盒”为主要终端设备,为用户提供包括电视节目在内的互动多媒体服务的宽带增值业务。IPTV能提供点播、广播/直播、视频通信、短信/彩信、信息服务、游戏等业务。
IPTV技术是一项系统技术,主要包括音视频编解码技术、流媒体传送技术、宽带接入网络技术、IP机顶盒技术等。
1、音视频编解码技术
IPTV音视频编解码技术在整个系统中处于重要地位,IPTV作为IP网络上的视频应用,对音视频编解码有很高的要求。首先,编码要有高的压缩效率和好的图像质量,压缩效率越高,传输占用带宽越小;图像质量越高,用户体验则越好。其次,IPTV平台应能兼容不同编码标准的媒体文件,以...

>> 阅读全文

1、充分了解各方的设计需求,确定合适的解决方案 启动一个硬件开发项目,原始的推动力会来自于很多方面,比如市场的需要,基于整个系统架构的需要,应用软件部门的功能实现需要,提高系统某方面能力的需要等等,所以作为一个硬件系统的设计者,要主动的去了解各个方面的需求,并且综合起来,提出最合适的硬件解决方案。比如A项目的原始推动力来自于公司内部的一个高层软件小组,他们在实际当中发现原有的处理器板IP转发能力不能满足要求,从而对于系统的配置和使用都会造成很大的不便,所以他们提出了对新硬件的需求。根据这个目标,硬件方案中就针对性的选用了两个高性能网络处理器,然后还需要深入的和软件设计者交流,以确定内存大小,内部结构,对外接口和调试接口的数量及类型等等细节,比如软件人员喜欢将控制信令通路和数据通路完全分开来,这样在确定内部数据走向的时候要慎重考虑。项目开始之初是需要召开很多的讨论会议的,应该尽量邀请所有相关部门来参与,好处有三个,第一可以充分了解大家的需要,以免在系统设计上遗漏重要的功能,第二是可以让各个部门了解这个项目的情况,提早做好时间和人员上协作的准备,第三是从感情方面讲,在设计之初各个部门就参与了...

>> 阅读全文

>> 阅读全文


[转载]
半年前作一个网络安全设备的项目,处理器有DSP/ARM/MIPS三类可选择,用DSP或是ARM是本猫的长项,但看了许多关于龙芯的报道,有心支持国货,打­算用并不熟悉的MIPS结构的龙芯1来作设计。
打算选用一款芯片,第一件事情就是找这个芯片的DATASHEET来学习,没想到第一步就吃了龙芯的闭门羹。网上找不到,打电话到计算所,也就是那个神舟龙芯公­司,竟然说没有发布DATASHEET,这可奇怪了,没有资料怎么作开发呢?对方说可以买龙芯的开发套件,但我多了个心眼,没有决定买,而是到网上收集关于开发­包的资料。
作为一个嵌入式系统设计,因为功能单一,我一向不喜欢用操作系统,所以对操作系统也不是很熟悉,而且作为网络安全产品,更不想用操作系统以避免潜在漏洞威胁。针­对一个具体的处理器,了解其结构和指令集,找到相关的C或是汇编编译器,直接写程序就好了,因为这种程序并不讲究很强的兼容性和可移植性。所以一般处理器的开发­包,都会提供详细的芯片结构与指令的说明,也会提供至少是汇编的编译器,甚至还会提供仿真和调试工具。有了这些,无论用不用操作系统,开发工...

>> 阅读全文

在用单片机开发各种嵌入式应用系统时,异步串行通信是经常要用到的一种通信模式,很多应用中还要求实现多路异步串行通信。大家平时熟悉的各种厂家的单片机,绝大部分片上只提供一个硬件UART模块,利用它可以方便实现一路串行通讯。PIC系列单片机也不例外,在其丰富的产品家族成员中,除高端系列(PIC17/18)一些型号片上带有两路硬件UART模块外,其它大部分型号片上只有一路UART,一些低端廉价的PIC单片机甚至还不带硬件 UART。为了提高系统的性能价格比,就要求设计工程师用软件增加实现一路或多路异步串行通信。很多工程师对用软件实现的UART在可靠性和效率方面持怀疑态度,其实关键问题是看软件采用何种方式来实现可靠的UART功能。
在讨论具体实现方式前,我们先来简单回顾一下异步串行通信的格式定义。发送一个完整的字节信息,必须有“起始位”、“若干数据位”、“奇偶校验位”和“停止位”;必须定义每位信息的时间宽度——每秒发送的信息位个数,即为“波特率”。单片机系统中常用的波特率从300~19 200 b/s。当波特率为1200b/s时,每个信息位的时间宽度为 1/1200≈833μs;无数据通信时,数据线空闲状态应该是高电平,“起始位”为低电平,数据位低位...

>> 阅读全文

前一段时间做了arm的一些开发,主要是编写了arm的启动软件和移植了uCOS-II到arm7。我做事情喜欢深入简出,及从最简单,最原理的方面先做一个框架,然后在这个框架里面进行补充。我还是一个很喜欢和别人讨论的人,希望有人可以给我提出意见和建议。我的这个心得很初级,都是一些基本的东西。现在拿出来和大家分享,希望在我毕业之前能给大家留一些纪念。^_^ 由于这些东西发paper实在是没有价值,但是我感觉可以作为arm开发的入门。由于我的水平和经验有限,错误也是难免的。但是如果不拿出来和大家分享, 就算有错误我也发现不了,是么?呵呵。我现试试发连载的第一篇,看看有多少价值,如果大家觉得有价值,我会继续连载的。前言 这个文档是我学习ARM编程的总结和心得。阅读这个文档的人应当首先阅读ADS1.2的帮助文档及相关内容。这个文档不会对编译器及连接器做出详细的说明, 在需要的时候会指出具体内容在相关资料的章节。同时阅读这个文档的人需要了解ARM指令集和一些ARM汇编的基本内容以及C和C++的相关编程内容。同时还需要了解ARM的流水线结构及一些基本的编程知识。同时为了方便查阅英文文档,所有的相关术语都使用英文原文
第一章 STARTUP
1 ARM的启动一般的...

>> 阅读全文


原文地址:http://www.artima.com/cppsource/top_cpp_software.html。译文发表于《程序员》2007.1。
作者介绍
Scott Meyers,C++顶级权威之一,为世界各地客户提供培训和咨询服务。出版有畅销的Effective C++系列图书(《Effective C++》、《More Effective C++》和《Effective STL》),设计了创新型的Effective C++ CD,Addison Wesley的Effective Software Development Series顾问编辑,The C++ Source (http://www.artima.com/cppsource/)咨询板块专家。布朗大学计算机科学博士,他的网站是www.aristeia.com。
在本系列的第三篇文章里,我将把视线转移到评选过去最重要的C++软件上来。
用C++编写软件,你需要工具的帮助。在我看来,这些工具曾经是(将来也是)有关C++的最重要软件。可以想见,曾经出现了不少用C++开发的重磅软件,它们促使很多人为了以后项目的开发选择了这门语言,但我不关心这些。这门语言最重要的软件应该是软件开发人群使用的最基本的东西:编译器和库。可能,C++是更为库编写而不是应用开发所设计的一门语言。
我选择的C++历史上最重要的五个软件如下,以诞生年份为序:<...

>> 阅读全文