[推薦]打飛機(jī)的故事!
我不知道自己算是個(gè)什么機(jī)工程師,什么都做過一點(diǎn),MCU、DSP、ARM、MIPS、嵌入式X86,經(jīng)常見到有人討論51好還是AVR好?PIC好還是AVR好?ATMEGA128比ARM差多少?8比32位怎么比的?
我可從來不為這些事煩惱,熟優(yōu)誰劣相信大家一定能找出大堆理由;
我用51的時(shí)候剛學(xué)過98,我98考試不及格,補(bǔ)考還是作弊過的,用51還連錯(cuò)了373的輸入輸出,直接當(dāng)573用了,因?yàn)槿藗兛偸前?73的原理圖畫得和573的封裝一樣,結(jié)果畢業(yè)設(shè)計(jì)沒能成功;
由于成績(jī)差我沒能上研究生心里一直有疙瘩,直到一個(gè)朋友研究生畢業(yè)設(shè)計(jì)用8031做數(shù)據(jù)采集來向我垂詢的時(shí)候,才覺得不上有什么小不了的呢?因?yàn)樗€在考研究生的時(shí)候,我已經(jīng)在領(lǐng)導(dǎo)搭建PC104控制DSP陣列的系統(tǒng)了;
我用PIC的時(shí)候是1996年,長(zhǎng)條的帶EPROM窗口的28腳雙列直插PIC16C73,功能非常強(qiáng)大,帶AD和各種新奇的外圍,少得可憐的的指令集,象我這樣記心不好的人最合適用,盡管要經(jīng)常在BANK0和BANK1之間換來換去,但總的來說想用它干嗎都能實(shí)現(xiàn),只是在不加去藕電容的時(shí)候沒法啟動(dòng),4K程序空間好像已經(jīng)很大了,寫一個(gè)復(fù)雜的閉環(huán)AGC程序最多用去1K半,也不知道現(xiàn)在的PIC怎樣了,我以前叫她“P”“I”“C”,現(xiàn)在有人叫她“屁克”,不知道變化是不是那么大。
我在用TI的C30時(shí),發(fā)現(xiàn)AD的SP2181有條BDMA總線可以只用一片8位的EPROM就能引導(dǎo),甚至可以用IDMA接口完成所有的被連接,馬上換了對(duì)象,盡管定點(diǎn)比浮點(diǎn)少了很多樂趣;C31出來的時(shí)候我又盯上了ADSP21060,因?yàn)槲覀冄芯克恼n題是不太在乎成本的,不過ADSP21062的四合體芯片還是太貴,一片起訂,三萬多一片;
在我離開研究所的時(shí)候,最大的遺憾莫過于沒有親手搭過C60,因?yàn)槲也恢烙姓l可以用烙鐵焊BGA,那個(gè)時(shí)候我還只會(huì)焊直插的器件;
幾年后,那里的人還在用屁克16C73和ADSP2181,不知道還能不能買到;
我做的第一個(gè)ARM是TI的ARM+DSP的,去那公司上班第一天就學(xué)會(huì)了焊貼片器件,比焊插件還簡(jiǎn)單,迅速,不過我焊得很慢,因?yàn)槲业闹讣桌鲜撬翰婚_盤裝電阻的塑料包皮;后來學(xué)會(huì)了先把他們放到一排買來的貼了標(biāo)簽的塑料小匣子里,不過我還是焊得很慢,因?yàn)槲胰〕龅碾娮栌?0%肚皮朝天,把他們翻過來可是不那么容易;
我做2410的時(shí)候,從第一次看到資料到系統(tǒng)原形可以運(yùn)行只花了不到兩個(gè)月的時(shí)間;
在學(xué)會(huì)用C語言給嵌入式系統(tǒng)編程的時(shí)候,很多人已經(jīng)在用嵌入式操作系統(tǒng)了,現(xiàn)在,我老了,以前還可以用匯編寫FFT,現(xiàn)在卻根本一竅不通MPEG4了,所以我經(jīng)常提倡用硬件代替軟件,然而用高速的Xcale配現(xiàn)成的WindowsMediaPlayer做PMP豈不是最快捷簡(jiǎn)單的方法嗎?只不過貴一些而已;
AVR快嗎?循環(huán)訪問下SRAM就知道了,效率還不如51;
IAR比ICC好嗎?以時(shí)間優(yōu)化為目標(biāo),你會(huì)發(fā)現(xiàn)他們的代碼量不相上下;
寄存器多好用嗎?匯編的時(shí)候就知道容易亂套了,總是不如A和W那么清爽,最慘的是不夠多的時(shí)候,最氣的是中斷的時(shí)候要保護(hù)那么多人質(zhì),這時(shí)候你會(huì)發(fā)覺ARM的架構(gòu)真TMD的好,但是骨子里她根本跑不了那么快,CASH(E)有限?。?BR>
我從來不覺得什么好什么不好,合適的就是好的,覺得啥合適就用啥,不就是CPU加些外圍嘛。
飛機(jī)剛發(fā)明的時(shí)候,飛行員可以造、開、和修飛機(jī),后來可是不行了,能飛已經(jīng)不得了了,還別說造了,維護(hù)的都地位很高;
剛出道的時(shí)候,除了芯片不能做,想干啥干啥,現(xiàn)在可不行了,不過開不了飛機(jī)還可以打飛機(jī)嘛;
只要有一雙勤勞的手,想打哪架打哪架。