2009年9月10日星期四
海淀区集体户口申请两限房流程
海淀街道地址:海淀区丹棱街10号新海大厦1层(新中关大厦后面)公交海淀黄庄北站下车。
流程2:拿到3份申请限价房表,然后就是填写了,第一遍最好是用铅笔填,等交表的时候到那再改,因为自己填的话,好多细节的地方如果填错了,很麻烦,所以最好铅笔填,然后住房办的办事员审核的时候填错了也好改,申请表的第5页和第6页(就是那个单位是否解决住房还有收入证明那两页)需要公司盖章的地方,都需要盖公司的公章。填写收入之类,这个就是公司填写了
流程3:填完表,就是准备资料了。针对申请人是一对夫妻,户口均是海淀的集体户来举例需提供:
a:夫妻双方身份证复印件
b:结婚证复印件
c:夫妻双方每个人的户口卡首页复印件,还有本人页复印件。其中复印的时候变更页要和本
人页复印在一张纸上。
d:夫妻双方在就读大学是否腾退宿舍的说明:就是**于*年*月*日由于上学的原因户口由哪里迁到哪里,所住宿舍已腾退之类,这个说明的模板,海淀街道那有,领表的时候可以顺便抄份
e:夫妻双方毕业证书,学位证书复印件,最终学历的毕业证书和学位证书就可。
f:目前所租房屋的租赁合同(不需要提供出租房屋的房产证之类,因为申请人只是承租人)
g:再附加个,这个可能不同的审核工作人员要求的不同,所以关于这个,还是领表的时候再
跟街道住保办的确认下,俺这次就遇到了,就是夫妻双方所就读的大学是否腾退宿舍的说明那个,居然要求原来所读高校盖章,然后只好跑回去一趟。
流程4:准备了下述资料,还有3份申请表也填写完成,就可以把这些送到住保办,地址同上,然后就是第一回的审核,工作人员会详细对照表,还有你带的原件以及复印件对照,一切OK之后,会给你开几个单子,给双方单位的回执单,还有3张公示单,之后复印a3
的几份,A4的几份。这个工作人员会告知,痛恨下那边复印的,所有的东西都是一块钱复印一份,真贵真黑。
流程5:拿到这些回执单后。其中两份回执单和两份公示是交给夫妻双方所在单位的,进行公示5天,没异议后,在回执单盖章,还有一份是给你所租住房屋的街道(这个要解释下:比如你所租房是在中关村街道,那你需要把一份公示+一份入户调查表先拿到中关村街道,让他们联系你所租住房屋的居委会配合入户调查,入户调查完以后再进行公示5天,没异议后,中关村街道给在回执单盖章),3份公示都符合,回执单盖好章送回海淀街道住保办就好。还有可能会遇见居委会在入户调查的时候说要收租房契税,遇见这个情况可以说是住在亲戚家里或者直接找街道说明这个情况,因为居委会没权收契税,代收的话也要文件的,所以找街道解决最好,毕竟居委的大妈大爷们,还是听街道的:P,不过不要和他们吵之类,因为入户调查还是需要他们滴,并且还需要他们盖章,如果只是如果,小人一下,真得罪了下,入户调查这个不行,所有的都是白费了。不过平时和居委会的大妈们关系处好就没啥了,比如没事打个招呼,家里的新衣服没穿压箱底的给她们,虽然是小恩小惠,但是确实挺管用。
流程6:就是漫长的等待了,2次审核,公示,那边的人说是60个工作日出结果。不过具有优先权的这么多人,60个工作日这个说法也就是说说而已,不过要是rp爆发,碰见个特别负责任的也说不定60天就出结果了。
2009年9月9日星期三
学习能力是个人的核心竞争力(谢宏)
——暨给全体贝因美人的一封信
竞争是自然界、所有物种、人类生存的基本状态。学习是所有生物的本能,更是人类生存的根本,人类之所以为万物之灵,就在于比所有物种有更强的学习能力。也就是说,一切生命的生存处境和生活状态均取决于竞争者的竞争力,即应对变革与激烈的外部竞争,能否取胜于竞争对手的竞争力。
对于人类个体而言,其竞争力更由学习能力所决定。这一点从生物进化角度很容易理解——"物竞天择,适者生存",资源的相对匮乏导致了激烈的生存竞争,变化的环境则决定"适者生存"的方向。学习即起源于人与不断变化的环境的互动之中,是人类主动获取经验和知识、以增进对环境(及竞争对手)的了解和应对能力、以期在生存竞争中胜出的行为。在环境急剧变化的条件下发生的竞争之中,更强的学习能力意味着环境中的个体能够更快更好地适应环境、应对对手,也即意味着个体在生存竞争中胜出的更大可能。
由此可见,学习的需求是由环境决定、天然存在的,而竞争的意识则源于人的生存本能,成为学习的根本驱动力。因此学习能力就是个人生存发展的核心竞争力。
但是,由于人类二律背反的发展,如今我们面临的早已不仅仅是简单的生存竞争。竞争的结果,也早已不仅仅是赤裸裸的生与死。"活着就是活着,不为活着以外的任何东西活着",似乎很容易,很简单,很正确。身处现代社会的我们,生存的矛盾似乎不存在了,竞争似乎不需要了,学习的驱动力渐渐消散,似乎不必继续学习了。人们开始向往"位高权重责任轻,钱多事少离家近,打球打到腿抽筋,睡觉睡到自然醒"的生活。于是,温水煮青蛙的故事发生了。
这是近二十年来在西方发达国家十分普及的社会现象,也一度是令国人羡煞的生活方式。但星移斗转,时间来到2008年,次贷危机突然层层爆发,多个国家集体"裸泳",号称"世界最富裕"、"最和平"的某些北欧国家甚至濒临破产,每位国民相当于身负37万美金的债务。可以说,经济危机虽由经济范畴内的种种原因而起,但意识形态上的危机早已在国民心态和国家体制中悄然筑就:竞争意识缺位,精英意识淡薄,学习行为缺失……意识决定行为,行为导致结果,当下这一切,值得我们每个中国人深思!
现在,让我们收回视线,重新审视我们的组织和命运共同体——贝因美。
到今天,贝因美已经走进风风雨雨的第十七年。十七年来,我们的核心竞争力步步提升。可以说贝因美今天的一切成就,包括在刚刚过去的除夕夜中央电视台春节晚会上的精彩亮相,都是我们十七年来坚持不懈打造核心竞争力的必然结果。
然而近来我已经听到有些人说,贝因美已经"够"大了,言下之意是"你们可以躺着吃老本了";还有人向我当面表示惊讶,说没想到我现在居然还在日以继夜地工作。次贷危机以前我可能还要耐着性子解释:"逆水行舟,不进则退"云云。次贷危机发生以后我就省心多了:中国不能成为冰岛,贝因美人不能成为雷曼兄弟!事实上,我们已经体会到了学习和进步的相对不足给贝因美带来的阵痛:内部运营管理跟不上战略发展和业务拓展的要求,各方面现实表现跟不上品牌声望的提升速度……我们的方方面面,仍然急迫地需要进步!而这些进步,只能来源于我们每一位贝因美人脚踏实地的学习、自动自发的努力!如果说我们并不缺乏竞争意识和精英意识,那么我们仍然要持续不断地植入和强化这种意识,更重要的是要及时充分的转化为学习的行动。
那么,我们究竟应该学习什么?又应该如何学习?
首先,我希望各位还记得曾经与大家分享过的"五个学会":学会学习,学会做人,学会做事,学会沟通,学会生活。如果要衡量"五个学会"的轻重缓急,那么我认为,"学会学习"是先决条件,也是决定学习结果和水平的重要要素,因此是我们当前的重中之重,应该被放在最优先的地位。
学习的过程也就是追求成功人生的过程。因此,首先应该端正态度,也就是人生态度。这就要求在学习过程中务必要避开"十大陷阱":1、迷失方向,不知所措;2、没有目标,失去动力;3、没有原则,失去人格;4、自以为是,刚愎自用;5、自以为大,目空一切;6、急功近利,不择手段;7、迷失自我,不知所处;8、意气用事,失去理智;9、感情用事,为情所困。10、不知不觉,麻木不仁。以前我说过,十大陷阱掉进去两三个,可能就完了。现在作下修正:只要意识到自己掉进去了,只要还想爬出来重新开始,那么就还有机会。吃一堑长一智,这也算是挫折学习,但是千万要记住"同样的错误不能犯两次!"
贝因美是"商学院",也是"成功生养教研究院"、"人生大学堂",因此,是很好的学习平台。我支持行动学习法,只要你把每项工作都作为课题来研究,每件任务都当案例来做,你一定就大不同。这或许就是我们贝因美人迈向学习型组织、打造知识/文化型企业的金钥匙。
在这里,我认为有必要再次强调人生三问:
我是谁?想要什么?凭什么要?
这是关于人生追求、价值实现的最根本的三个问题,也是我希望每个贝因美人不懈思考、求索、参悟、实践的关于事业乃至整个生涯规划的命题。同时希望每个贝因美人思考:为什么到贝因美来?想要什么?凭什么要?我相信,每个贝因美人都可以成为社会的精英,都可以实现自己的人生价值。只要相信这一点,你就可以拥有无穷的内在驱动,就能不断提升自己,获得进步。我更希望大家能够把职业发展规划与生涯规划高度整合,更多人成为事业经理人,实现成功人生!
最后,惟愿"我学习、我努力、我进步、我成功"成为每个贝因美人的自我激励信条,从今天开始、从此刻开始,改变自己,影响旁人,活出精彩,活出价值!
谢宏的成功格言:成功是折腾出来的,伟大是折磨出来的。
2009年9月8日星期二
大学故事
我们去了风景秀丽的地方.
晚上住在山上的宾馆,因为男生是单数,所以我要求一个人房间
住山上的宾馆的确很爽,阳台外面就是大自然,美中不足的是,这里没有几个电视信号.
可是房间的床头柜有两盒TT,很精致,三件装的
实在是闲的慌,半夜坐阳台吹TT玩,吹破了六个就睡觉了
中午把房卡给了辅导员,辅导员退房后,大家正要走,大厅前台该死的对讲机传来了打扫卫生的大妈的声音"217房消费TT两盒,Repeat
,217房消费TT两盒"
我当时就炸了,怎么宾馆的TT还要收费
全班人用各种眼神看着我
当时囧的我想死的心都有了
辅导员倒是很平静,主动付了钱
出门口,辅导员悄悄的问我,哪找的,这荒山野岭,两盒啊,厉害
我真是一肚子委屈。。。回去的车上,收到了班上女生的短信"你一晚上两盒?"
2009年9月7日星期一
我的25年嵌入式生涯--------周立功
对于今天很多的年轻人来说,一味注重技术至上的观念刻骨铭心,其实很多时候努力并非一定有回报。事实上,有不少出类拔萃的人才往往做出来的产品就是卖不掉,因为设计者压根儿就不了解用户的需求和心理以及产品功能的恰当定义,而总想在同事及其老板面前卖弄自己的技术和产品功能。其实有很多思维性的东西恰恰是很多人所忽视的,因为从一开始的出发点就错了,怎么可能取得辉煌的成绩呢?所以有时拥有卓越的技术并不一定代表人生的成功,很多企业就是死在一些自命不凡的"卓越人才"手中。
它山之石可以攻玉,减少"阶段0"的开发
有所"创造"确实是人人期待的,令人瞩目的发明虽然激动人心却谈何容易,人们时常将盖茨没有任何爆炸性的发明作为茶余饭后的笑料,我们不妨从另外一个角度去探索微软的成功奥妙从而为我们所用。确实不假,盖茨的DOS源代码是从帕特森手上"买"来的。这些年来,我收集了世界各地中英文版有关微软的专著来比较研究,大家仅仅注意到盖茨为建立整个行业架构标准的远见,并叹服盖茨深得市场运作经验的精髓,我认为这些研究成果都是后来者研究微软成功经验,是"牵强附会"不可复制的理论总结。
当初微软公司还仅仅是一家很稚嫩的公司,可以说生存下去是盖茨作为老板唯一的使命。事实上,正当盖茨决定动手来写IBM所要的OS时,原计划在一年左右完成,但IBM公司只给了他几个月的时间。尽管帕特森的QDOS并不完善错误百出,但为了履行对IBM的承诺,盖茨购买了QDOS改贴标签后卖给了IBM公司。盖茨对此心知肚明,因为他知道如果用一年的时间来做OS的开发,他将失去与巨人IBM的合作机会,那是一种浪费。付一小部分的技术费用没有关系,只要能获得Know-how,获得更高的利润就好了。通过支付权利金引入技术,然后以模仿的方式学习他人的技术,再改造成符合IBM需要即可。"买"――只要有现成的就不需要自己开发,这就是盖茨的过人之处,而且恰恰是很多人忽视的地方,值得我们所有人学习和仿效。盖茨就是由于没有"阶段0",从而大幅度地降低开发风险。
当年,我是一个人单枪匹马借了2.15万元出来创业的,可以说是负资产,后来才开始有伙伴注资6万元。没有经验怎么办?我有一个非常好习惯,读书从不拘泥于他人的观点,也满足于人云亦云,否则那就是听别人讲故事,那不是您的东西,有入宝山空手而归。我认为,要想成功就必须"研究"成功者的轨迹,向成功者学习。
下面我会把我"第一桶金"的故事告诉你,这也是尽量减少"阶段0"开发一个非常典型的例子。当年,《羊城晚报》几乎每天都有半版广告刊登信息台(听歌、悄悄话等)广告,一打听广告费每天几十万。当时相信不少人在利用公费电话在拨打这些信息台。后来我送货到客户那里发现电话机都外加了一个铁壳并上了一把锁,从看到那一幕开始,我决定做电话加密码锁,锁长途电话0字头,手机、BB机、信息台的9字头。通过朋友介绍,福州某公司有这个技术,于是我打了一个试探性的电话,使用5000元购买方案和源代码,对方非常爽快地同意了。我生怕有变立即坐飞机到福州去,很快就见到了郑新建工程师,他原来在福州某公司工作,我见到他的时候已经离开了福州某公司,但仍然自己写一些产品解决方案,通过福州某公司销售。买到方案与源代码之后,我立即带样机到各地去做测试,发现这台样机兼容性太差,而且市场已经开始在卖的产品也存在同样的问题,我想只要解决好兼容性的问题,如果在任何地区交换机局域网都能够使用,那就是最好的产品不愁没有市场。
我当时既没有资金也没有生产和销售经验,到底怎么将技术变成市场上所需要的产品呢?那是因为我找到了生产电话分线器的广州市白云区百新电器厂的老板陈国亮,由他生产和销售,每销售一台产品给我提成。以这个项目为起点,我们使用PIC单片机的数量很快就达到了每月100K以上,一年以后Microchip香港公司经理Andi主动找上门来将当时的广州强力电子研究所发展成为了授权分销商。毫不否认盖茨的远见和判断力是微软至关重要的核心竞争力,但盖茨也绝非天才,否则盖茨就不会在浏览器上输给网景了,尽管微软使用的很多技术都不是微软所发明的,但毫不妨碍微软独步天下。
注重核心技术,其余的外包
通过创业以来第一个项目的成功,我深深地体会到商业模式比技术本身更重要。
通过十多年的努力,我们设计的"铁将军(Steel
Mate)"品牌汽车防盗器、汽车倒车雷达不仅成为了全世界范围的"隐性冠军",而且为GE等世界著名汽车厂商售前市场提供配套产品,与此同时我们为智能卡酒店门锁厂商设计与制造的各种智能卡门锁控制模块在国内也一直处于第一名的地位。他们为何能够取得与众不同的成功呢?其最大的长处就是产品创意与制造、简约时尚风格的工业设计、模具制造技术以及精心打造的销售渠道,这些厂商深刻明白"注重核心技术做自己擅长的,其余的外包分段取利"的基本道理,而对于我来说就是"智慧出租",通过与强者合作获得双赢。通过这些成功经验的积累,我们开始全力以赴注重发展核心技术,将自己不擅长的技术全部外包。比如,我们长期投资清华大学计算机系,并建立以陈渝博士后为主Linux内核开发团队,为公司底层的技术提供良好支撑,而我们自己则将精力集中于Linux驱动开发。这种分工合作、协同开发的模式赢得市场上宝贵的时间,并快速取得了应用成果。
也许有程序员会关心JTAG开发工具问题,那也是一个"外包"的项目。当时,我们在网上发现了一个由计算机爱好者业余时间设计的H-JTAG,这是一个比较稳定的调试器软件,正好适合我们使用。于是我就同设计者联系,并决定由周立功单片机资助他继续开发,同时,其开发成果还免费提供给网上的用户下载,保证它作为一个自由软件。其实,无论是Linux还是H-JTAG都是开源软件,如果担心其它的同行因此受益而超越自己的话,难免需要在公司负担很多开发人员,面面俱到地做许多事实上是重复的开发工作。其实,我们的合作伙伴都是所在领域的专家,如果自己从头到尾去学习和开发,不仅抢了合作伙伴的饭碗,而且结果未必理想。这种情况下不但会延误宝贵的商机,而且还会影响与合作伙伴之间的关系。其实只要引入我们企业长期积累和制定的嵌入式系统工程管理思想和规范,即可得到自己想要的结果:"做你最擅长的,其余的外包",类似这样的案例在周立功单片机将会越来越多。
专注与差异化生存
1999年1月23日我离开了原公司,先后分别创立了广州周立功单片机发展有限公司与广州致远电子有限公司,分别从事贸易业务与产品制造。作为代理商通过为客户提供解决方案从而达到大批量销售芯片是代理行业惯常使用的手段,而实际上通过设计能够真正达到增值获得丰厚回报的代理商却少之又少。要知道过去公司的人才数量和资源是非常宝贵的,如果没有正确的战略,机会可能稍纵即逝。事实上创业开始的前几年,我们一共为用户设计了超过100个品类的产品,产品型号超过500种,可以说几乎涉及到了各行各业,但能够带来稳定而丰厚回报的案例几乎没有。我经过一段时间的思考和报表分析发现,目前公司的业务做得太多、太杂,没有将任何一个行业做精。于是我下定决心减少用户数量集中精力在1-2个行业做强、做大,直至成为顶尖的行业专家,坚持十年如一日重点做好汽车配套产品与智能卡门锁控制模块的开发。通过多年的精耕细作,我们通过为直接用户设计产品增值年销售单片机的数量已经超过了1000万片,无论是对用户还是对半导体公司来说,我们无疑是一家非常有价值的代理商。1999年5月,PHILIPS半导体公司邀请我去上海洽谈是否有意向代理LPC700单片机,当我拿到用户手册时离去上海的时间只有5天。当时公司不像现在有250位大学生,总共只有8个人,怎么办?我一边写商业计划书,一边与大家翻译用户手册、打字和贴图,面对机会就像抓住救命稻草一样加班加点,每天只休息3-5个小时。第5天我赶到上海东亚富豪酒店时,我将整整齐齐的材料放在了来自美国PHILIPS半导体公司2位经理的面前,包括吃饭在内仅仅只洽谈了2个小时,代理权就正式谈下来了。事后他们告诉我,就是因为我与众不同,专注且非常有个性。
风雨变换诱惑莫测,人怕出名猪怕壮,这是常理!随后找上门来要求我们代理芯片的著名半导体公司不下10家。这时候,对于很多人来说不做什么就是一个艰难的选择。此时,我认为不管对方开出的条件多好,有冲突的就是不做,性能不突出的也不做,如果能够形成价值链互补,就一定要通过自己的努力和业绩表现主动去"求"半导体公司授权给我们,我就是这样取得了Keil、Catalyst、Sipex的代理权和信用额度。2004年SHARP半导体公司北京、日本、美国一共五位经理来到我的办公室要求我代理SHARP的ARM,帮助SHARP在中国推广以及制造用于全球销售的开发套件,我根本没有思考就一口回绝了,可以说SHARP给我的条件非常之好,特别是美国人觉得是非常不可思议的事情,作为商人这么好的赚钱机会都不要。为什么?我们之所以暂时"强大",就是因为我们长期以来专注于发展PHILIPS半导体,集中精力对准焦点成为了小河里的大鱼,进而才引起了众人的关注。如果我们分散了精力,最后的结果一定会什么都不是!当决定专注的目标之后,接下来的就是想办法如何做得与众不同,这是一件不容易的事情。最重要的就是穷举用户最大的需求和竞争者最容易忽略之处,然后将其做到最好。
为了推广好PHILIPS的单片机和ARM,我们定位于帮助初学者快速入门,至今一共编写出版了20多本专著,并将大部分版权全部捐献给了出版社用于降低成本,同时我也还会继续坚持将这项工作做下去、争取做得更好。邓小平有一句名言:"计算机要从娃娃抓起!"我认为,任何一个有远见的厂商,要想成功地推广嵌入式系统,一定要从在校大学生抓起,这必定是一件一举多得的好事。既能够提高企业的美誉度,又能获得市场占有率,还能为学生提供实践的理论基础。为何很少有厂商或者代理商心甘情愿去做?这不仅可帮助企业建立差异化,而且还能够给企业带来长远的利益,何乐而不为?比如说,至今在国内任何一家代理商的网站上几乎都找不到完整的芯片中文数据手册、用户手册与应用手册,不是我们的同行不知道其中的重要性。首先大家普遍认为这是半导体公司的份内之事,其次大家或许感到自己做好之后放到网站任由用户免费下载,会给其它代理商占了便宜。但很多人却始终不明白,这是满足用户需求制造公司服务差异化的最佳机会。于是我们决心从网站入手坚持长期投资,做中国最好的嵌入式系统专业技术网站,建立专业的技术支持与开发团队。特别是对于优质用户的服务,网站还专门开通了"快速绿色通道",如果这样的用户遇到问题,都是由我、分公司经理及其相关服务部门的经理牵头负责实施"保姆式"的服务,我们实施的服务战略就是:"用有限的资源为有效的用户提供高质量的服务"。
"你若亲近神,神就亲近你!"
2001年8月一篇来自PHILIPS内部刊物的报道《风险意味着机会》,我是被推上了"本地英雄"封底人物栏目的第一位亚洲代理商;2004年PHILIPS半导体公司又给我授予了"优秀卓越贡献奖",来自全国各地的用户连续多年通过《亚洲资源》媒体将我们公司评选为"本地十大最受客户欢迎的分销商"。没有用户崇高的忠诚度和长期的大力支持,我们不可能从1999年以来连续多年销售单片机取得PHILIPS亚太区第一名的业绩。一个"人弃我取"的机会成就了我,尽管个人与团队的努力至关重要,但可以毫不掩饰地说,如果没有PHILIPS半导体经理的慧眼相马,一定是巧妇难为无米之炊,业界不会再有我的一席之地。在嵌入式系统应用技术方面与我们不相伯仲或者说比我们聪明能干的人才何止万千,为何只有少数人能够脱颖而出呢?就是因为想法太多、不专注,不能坚持在一个行业里面十年如一日地下苦功夫。但面对众多的竞争者和后来者,我每天都如履薄冰,不敢有丝毫的懈怠,每天坚持学习到深夜,因为唯有不断地学习和更新思维才有可能具备远见并及时规避可能出现的失误。
关注用户的需求
其实维系企业生命的关键在于产品是否能够获得市场的青睐,我们要做的并非是成为技术的领先者,而是要将技术成果转化为迎合消费者需要的商品。八十年代是一个物质缺乏的年代,而今天的人们更加注重消费享受和情感的分享,这是任何人都无法否认的现实。我们公司刚开始做产品时,由于我个人偏爱蓝色,所以我凭着老板的权威将所有产品的外观全部都做成蓝色,其实当时也有不少的人向我提出改进意见,但我仍然还是无动于衷,为什么?就是因为我是做技术出身的,而且从创业初期开始一直都是依靠技术一路拼杀过来的,可以说过于迷信技术的力量,因此在很长的一段时间内,公司完全走的是研究的路子。而我却恰恰忽视了用户读产品的心理需求,以至于在产品推向市场之后一直都无法打开局面。当时,EasyPRO系列编程器面市的时候,其销售数量一年下来都不到500套,同时有用户表示对于产品的设计很不满意,这可以说是一次深刻的教训。于是我下定决心组建工业设计事业部,首先从EasyPRO系列通用编程器开始,亲自管理、研究和参与产品的外观设计,将原来的模具全部废掉重新设计。尽管是第一次设计,在产品的外观上没有做出非常杰出的效果,但无论如何,新产品外观比原有的产品出众得多。2005年10个月的时间里,EasyPRO系列通用编程器的销售数量达到了6000套。2006年我们又推出了SmartPRO系列智能型通用编程器,预计本年度销售编程器的总数量将超过10000套,而这些产品将带着我和我们公司跻身于国内编程器市场主流品牌之列。从那次深刻的教训以后,我明白好的外观设计可以凸现产品的魅力,让产品与环境融为一体,刺激消费者产生强烈的购买欲望。即使是普通产品,经过精心设计,也会成为一件时尚产品,甚至让人们觉得它就是一件艺术品,从这一点来说,时尚、新潮、艺术化的外观设计是塑造产品品牌形象的第一要素。从那以后,我开始改变产品简介、广告以及展示会的形象设计,为了配合新的形象,我们展开了大规模、全方位的宣传:一方面尽量多地为用户提供产品简介手册,同时通过大量的媒体广告,让用户认识并初步了解公司,从而迅速有效地提高了品牌知名度;另一方面组织各种全国巡回演讲、免费ARM技术培训活动和产品展示会,而且我们每次参加展示会都是投入4个摊位并进行特装展位设计,目的就是为了获得与用户积极沟通的机会。2003年暑假期间,周立功单片机投资80万元邀请了行业3位著名的嵌入式系
统专家组成讲师团在全国10个城市主办了免费的ARM巡回演讲,提供了免费的午餐,可以说规模空前。这次巡讲中,共有8000多人参加了这次活动,随后公司趁热打铁推出了售价400元的EasyARM2104开发学习套件,第一个月生产的1000套在15天之内抢购一空,直到销售了15000套之后才因新产品的推出而停产。这次活动不仅收回了80万元的宣传费用,而且还直接或间接地影响了超过50万嵌入式相关人员,强有力地达到了品牌宣传的目的。在赢得丰厚利润回报的同时,也打造了嵌入式行业一次非常成功的"事件营销"经典案例,我深深地体会到"俘虏"用户的心是提升品牌的唯一途径。
全球化市场意识
过去,一个公司可能需要等到10年之后才开始考虑是否全球化,而今天由于网络技术的发展,无论我们身处何地,世界各地的新信息仿佛就在眼前,谁也不会被边缘化了,所以今天成立公司明天就要准备全球销售。这几年ARM已经到了热得不得了的程度,很多人不以为然,其实这是一种必然趋势。事实上,我在美国PHILIPS半导体公司看到,美国1997年出版的《嵌入式系统》杂志就已经大量刊登OS与32位嵌入式系统开发工具等文章和广告。在美国硅谷主办的嵌入式系统展示会上,来自欧美的上千展位展现在我眼前的是各种各样嵌入式系统产品,中国厂商普遍展示的是蜂鸣器、继电器等低档元器件。我第一次身临其境地感受到了中美之间的差距究竟有多大。中国太需要懂得国际市场需求和游戏规则的人才和企业家了。同样是做USB分析仪,全球只有5家,我们自己的USB分析仪升级版在中国目前定价为3800元,这款产品原来的售价只有1800元,用户还认为太贵了。其实这样的产品在国内一年的销售数量也就200台,但是同样的情况在美国,一个小公司一年的销售额就能够到2000万美元,他们的单台最低售价不低于10000美元,以至于美国同行直接给我来电话,希望我在售价的基础上至少加一个0。中国企业不做全球化销售能行吗?不行!而且中国企业必须向价值链顶端攀升,否则我们只能做欧美消费品市场的廉价加工基地。
个性化的企业文化,帮助他人走向成功
通过与用户合作所经历的共同成功过程中,用户将我教育成为了一个善良、上进、诚实、优秀的人才。我不仅懂得如何做自己最擅长事情的方式方法,而且也懂得了如何与用户、与员工分享成功的道理。一旦芯片销售数量增大成本下降就主动给用户降价,赢得了用户更长远的支持;公司效益提高了,年终就主动给员工涨工资、加奖金并对优秀员工提供购房津贴。由于公司的规模不大,我们一直以招聘二类本科应届生为主,在内部采取导师制的培养模式,为他们提供至少一年的严格训练,帮助他们规划职业生涯,想尽办法提供机会将他们培养成优秀的人才。这些年来不少公司打电话向我们公司挖人,关键人才从未出现过流失,至今跳槽的员工不超过12人,我深深地感到这就是我人生最大的快乐和财富,离开了支持我的用户和追随我的人才,我将变得一钱不值。为了保证企业的可持续发展所带来的人才困境,我与江西理工大学合作以五年为期开办了"3+1"嵌入式系统应用开发特训班,与此同时还设立了每人3000元共10人的"周立功奖学金"资助那些动手能力极强而成绩中等的学生,开展校企无缝联接,培养嵌入式系统创新性开发人才的有益尝试,即就是从7个班中选拔30位爱好者用3年的时间修完所有课程,我们为每一位学生提供一台计算机、全套开发工具及其设计中所发生的一切费用,由我们组织著名专家开设专题讲座和课程,学校组织1位专职辅导员和2位指导教师,并由我们提供必要的津贴,然后用一年的时间专门做毕业设计,为此我们制定了严谨、细致的培训计划。这些年我们还不断赞助各省电子大赛、毕业设计大赛、创新设计大赛,捐赠了50所大学单片机创新实验室,以求扩大企业的知名度和广泛寻求人才的来源。
最后的话
很多开发工程师以为这些都是老板或者经理们应该考虑的问题,与己无关,其实是大错而特错。作为一位优秀而卓越的开发人员,如果希望获得人生的完全成功和快乐,我们时刻需要明白,任何一个企业的可持续发展一定是群策群力的结果。1981年我经历了高考失败之后上了技校,1999年我作为劳动模范被保送上了大学,创业至今十多年来,往事依然历历在目,用户给予我的回报很多,很难在此一一完全道来,谨以此文与同行、用户分享和交流。这些年来,我陆续捐资资助教育、设立奖学金以及帮助家乡修建乡村水泥公路、祠堂等公益事业回馈社会。1990年的中秋节,我只身一人南下广东打工,不曾想到会有今天这样的成绩,我一直非常珍惜这来之不易的机会。作为一个嵌入式技术爱好者,我的愿望就是:"生命不息、奋斗不止!"力争为发展中国的嵌入式系统应用技术贡献自己的一份力量。
2009年9月6日星期日
程序员的几个思维惯性(转)
有一些是感悟,也有一些只是见闻。
1."怎么可能".
"程序出问题时,他会说:这怎么可能,我的程序前几天还跑的好好的,我只不过改了~~~,没问题。
如果问题的症状出在别人的模块,项目经理让他检查代码时,
他会说这问题肯定不出在自己身上,甚至可以拍着胸脯说绝对没问题。
即使他真去检查代码,也不会一行一行仔细
看,那些自以为没问题的地方眼睛一刷就过去了。 结果n个人折腾个半死,
到最后问题竟定位到自己刚改动的代码上。资格越老的程序员越有这种倾向。
没有血的教训,很难深刻体会这一点。
2."标新立异"和"拿来主义"
编码时有两种极端的思维,一种是"标新立异",另一种是"拿来主义"。
对于前者,他倾向于认为别人的实现不够好。带着怀疑和学习的态度,
喜欢做些小动作,总要怎么修改下,使其看起来和原来的不一样,更符合自己的"风格"。
这些人往往是IT行业的新军,他们有的是"创新精神"。殊不知道,这种"创新"
给项目带来inovaiton和活力的同时,也往往会给项目引入许多难以排查的新问题。
对于后者,他往往习惯通过过各种途径获取和自己模型相近的实现,然后在
这上面修修改改就用,不会努力让已有的实现有一次新的质的提高,让自己更上一层楼。
他们主要是一些有一定工龄的程序员,被工作磨去菱角,也磨去创新的动力。
很多开发人员就是从"标新立异"到"拿来主义"的逐步演化的。
3."能用就行"
这个时代太流行"能~~~就行"了。我老婆就说"文章没必要写的文绉绉的,让人家看懂就行!"。
这对我是可能是一个"讽刺",也是一个安慰吧。很多开发人员写代码时,听到经理说自己定义的
数据结构不规范,自己的算法缺乏效率,自己定义的接口不标准不好用没有隐藏足够的信息等等,
他们常常会嘀咕着说"能用就行!"。
boot loader能全部用C程序编写吗?
loader呢?再看看题目,这里只考虑所有的代码只能是以函数的形式出现。那C程序中函数调用要一个什么样的环境呢?堆栈!我们写C程序时在函数名的后面,就是用花括号将代码括起来的,开始的花括号其实可以理解为有一段汇编代码(具体细节以后会有文章进行解释)对堆栈进行操作。那堆栈从哪来呢?显然,堆栈是一块内存区,也就是说我们用C程序写代码之前,必须保证内存已经初始化好了、可以用了。回忆一下,我们在《什么是boot
loader》一文中提到,SDRAM内存芯片的初始化是boot
loader中很重要的一步。也就是说,我们必须保证初始化好了SDRAM内存芯片后,才能进行C函数调用。因此,完全用C语言来实现boot
loader是不可行的。
像Bootloader 这样底层的程序一般认为是要用纯汇编来写的。但是用汇编写的程序
可读性肯定没有用C写的程序好。汇编程序不宜维护,没办法向其它类型的CPU
去移植。这些方面C的程序是没有问题的!_
那么Bootloader能否用纯C语言去写呢?不可能。因为有些操作特殊寄存器的指
令也是特殊指令,用C是实现不了的。有些功能用C也是不能实现的。用C不能
作的有:
1. 操作CP15寄存器的指令
2. 中断使能
3. 堆栈地址的设定
所以,只要知道这几条汇编指令可以了,不必学习所有的汇编指令。是不是上手很
快呀。下面来看看我们在Bootloader中所用到的汇编部分:
asm ("_my_start:
mov r14, #0x70
mcr p15, 0, r14, c1, c0, 0 /* MMU dISAbled, 32 Bit mode, Little endian */
mrs r14, cpsr
bic r14, r14, #0x1f /* Mask */
orr r14, r14, #0xc0 + 0x13 /* Diasble IRQ and FIQ, SVC32 Mode */
msr cpsr, r14
ldr r13, =0xc0020000 /* Setup Stack */
");
简单吧,比看几十K的汇编程序感觉好得多吧。
也许你会问:硬件的初始化怎么办?那是要操作寄存器的。
我说:看看这段C的代码:
*((DWORD*)(dwHardwareBase + HW1_SYSCON1)) = SYSCON1_VALUE;
明白了吧,ARM中把寄存器映射在内存中了,就跟读写内存没有区别。
现在编写程序的问题已经全部解决了,但是否就没有问题了呢?不是。你的程序应
该写成什么样呢?怎么编译生成二进制文件呢?
让我们先写一个程序试一下吧:
#define DWORD unsigned int
int main(void)
{
register DWORD dwHardwareBase;
asm ("_my_start:
mov r14, #0x70
mcr p15, 0, r14, c1, c0, 0 /* MMU dISAbled, 32 Bit mode, Little endian */
mrs r14, cpsr
bic r14, r14, #0x1f /* Mask */
orr r14, r14, #0xc0 + 0x13 /* Diasble IRQ and FIQ, SVC32 Mode */
msr cpsr, r14
ldr r13, =0xc0020000 /* Setup Stack */
");
dwHardwareBase = (DWORD)0x80000000;
return 0;
}
编译一下:
C:>ccarm -c -O2 -mcpu=arm710 -mlittle-endian -nostdlib -fvolatile
-nostdinc –static
sam1.c
C:>ldarm -o sam1.out -Ttext 10000000 sam1.o
ldarm: warning: cannot find entry symbol _start; defaulting to 10000000
sam1.o(.text+0xc):fake: undefined reference to `__gccmain'
sam1.o(.text+0xc):fake: relocation truncated to fit: ARM_26 __gccmain
我们发现应该把main定义成_start
#define DWORD unsigned int
void start(void)
//gcc需要把它定义成_start,VxWorks的egcs要把它定义成start。
{
register DWORD dwHardwareBase;
asm ("_my_start:
mov r14, #0x70
mcr p15, 0, r14, c1, c0, 0 /* MMU dISAbled, 32 Bit mode, Little endian */
mrs r14, cpsr
bic r14, r14, #0x1f /* Mask */
orr r14, r14, #0xc0 + 0x13 /* Diasble IRQ and FIQ, SVC32 Mode */
msr cpsr, r14
ldr r13, =0xc0020000 /* Setup Stack */
");
dwHardwareBase = (DWORD)0x80000000;
}
编译一下:
C:>ccarm -c -O2 -mcpu=arm710 -mlittle-endian -nostdlib -fvolatile
-nostdinc –static
sam1.c
C:>ldarm -o sam1.out -Ttext 10000000 sam1.o
C:>objdumparm -d sam1.out > sam1.asm
现在来看看汇编的源代码:
sam1.out: file format coff-arm-little
DISAssembly of section .text:
10000000 <_start>:
10000000: e1a0c00d mov ip, sp
10000004: e92dd800 stmdb sp!, {fp, ip, lr, pc}
10000008: e24cb004 sub fp, ip, #4
1000000c <_my_start>:
1000000c: e3a0e070 mov lr, #70
10000010: ee01ef10 mcr 15, 0, lr, cr1, cr0, {0}
10000014: e10fe000 mrs lr, cpsr
10000018: e3cee01f bic lr, lr, #1f
1000001c: e38ee0d3 orr lr, lr, #d3
10000020: e129f00e msr cpsr, lr
10000024: e59fd000 ldr sp, 1000002c <$$lit__1>
10000028: e91ba800 ldmdb fp, {fp, sp, pc}
1000002c <$$lit__1>:
1000002c: c0020000 andgt r0, r2, r0
10000030 <__CTOR_LIST__>:
10000030: ffffffff swinv 0x00ffffff
10000034: 00000000 andeq r0, r0, r0
10000038 <__DTOR_LIST__>:
10000038: ffffffff swinv 0x00ffffff
1000003c: 00000000 andeq r0, r0, r0
哈哈!在<_start>和<_my_start>之间的代码在干什么?是在保存现场吧,还用到了
堆栈。而这时堆栈还没初始化,向堆栈里写东西那不乱套了!应该屏蔽这段代码。
那就在<_start>之前放一个跳转指令跳到<_my_start>吧。
#define DWORD unsigned int
asm ("
.text
.global _start
_start:
bl _my_start /* Omit the entry code for function c_start() */
");
void c_start(void)
{
register DWORD dwHardwareBase;
asm ("_my_start:
mov r14, #0x70
mcr p15, 0, r14, c1, c0, 0 /* MMU dISAbled, 32 Bit mode, Little endian */
mrs r14, cpsr
bic r14, r14, #0x1f /* Mask */
orr r14, r14, #0xc0 + 0x13 /* Diasble IRQ and FIQ, SVC32 Mode */
msr cpsr, r14
ldr r13, =0xc0020000 /* Setup Stack */
");
dwHardwareBase = (DWORD)0x80000000;
}
