[推荐]打飞机的故事!
扫描二维码
随时随地手机看文章
我不知道自己算是个什么机工程师,什么都做过一点,MCU、DSP、ARM、MIPS、嵌入式X86,经常见到有人讨论51好还是AVR好?PIC好还是AVR好?ATMEGA128比ARM差多少?8比32位怎么比的?
我可从来不为这些事烦恼,熟优谁劣相信大家一定能找出大堆理由;
我用51的时候刚学过98,我98考试不及格,补考还是作弊过的,用51还连错了373的输入输出,直接当573用了,因为人们总是把373的原理图画得和573的封装一样,结果毕业设计没能成功;
由于成绩差我没能上研究生心里一直有疙瘩,直到一个朋友研究生毕业设计用8031做数据采集来向我垂询的时候,才觉得不上有什么小不了的呢?因为他还在考研究生的时候,我已经在领导搭建PC104控制DSP阵列的系统了;
我用PIC的时候是1996年,长条的带EPROM窗口的28脚双列直插PIC16C73,功能非常强大,带AD和各种新奇的外围,少得可怜的的指令集,象我这样记心不好的人最合适用,尽管要经常在BANK0和BANK1之间换来换去,但总的来说想用它干吗都能实现,只是在不加去藕电容的时候没法启动,4K程序空间好像已经很大了,写一个复杂的闭环AGC程序最多用去1K半,也不知道现在的PIC怎样了,我以前叫她“P”“I”“C”,现在有人叫她“屁克”,不知道变化是不是那么大。
我在用TI的C30时,发现AD的SP2181有条BDMA总线可以只用一片8位的EPROM就能引导,甚至可以用IDMA接口完成所有的被连接,马上换了对象,尽管定点比浮点少了很多乐趣;C31出来的时候我又盯上了ADSP21060,因为我们研究所的课题是不太在乎成本的,不过ADSP21062的四合体芯片还是太贵,一片起订,三万多一片;
在我离开研究所的时候,最大的遗憾莫过于没有亲手搭过C60,因为我不知道有谁可以用烙铁焊BGA,那个时候我还只会焊直插的器件;
几年后,那里的人还在用屁克16C73和ADSP2181,不知道还能不能买到;
我做的第一个ARM是TI的ARM+DSP的,去那公司上班第一天就学会了焊贴片器件,比焊插件还简单,迅速,不过我焊得很慢,因为我的指甲老是撕不开盘装电阻的塑料包皮;后来学会了先把他们放到一排买来的贴了标签的塑料小匣子里,不过我还是焊得很慢,因为我取出的电阻有80%肚皮朝天,把他们翻过来可是不那么容易;
我做2410的时候,从第一次看到资料到系统原形可以运行只花了不到两个月的时间;
在学会用C语言给嵌入式系统编程的时候,很多人已经在用嵌入式操作系统了,现在,我老了,以前还可以用汇编写FFT,现在却根本一窍不通MPEG4了,所以我经常提倡用硬件代替软件,然而用高速的Xcale配现成的WindowsMediaPlayer做PMP岂不是最快捷简单的方法吗?只不过贵一些而已;
AVR快吗?循环访问下SRAM就知道了,效率还不如51;
IAR比ICC好吗?以时间优化为目标,你会发现他们的代码量不相上下;
寄存器多好用吗?汇编的时候就知道容易乱套了,总是不如A和W那么清爽,最惨的是不够多的时候,最气的是中断的时候要保护那么多人质,这时候你会发觉ARM的架构真TMD的好,但是骨子里她根本跑不了那么快,CASH(E)有限啊!
我从来不觉得什么好什么不好,合适的就是好的,觉得啥合适就用啥,不就是CPU加些外围嘛。
飞机刚发明的时候,飞行员可以造、开、和修飞机,后来可是不行了,能飞已经不得了了,还别说造了,维护的都地位很高;
刚出道的时候,除了芯片不能做,想干啥干啥,现在可不行了,不过开不了飞机还可以打飞机嘛;
只要有一双勤劳的手,想打哪架打哪架。