Programming an 8-bit CPU in 21st Centry

| 有 4 篇回應文章 | 被引用了 0 次

我從來沒有想過,我會因為有人浪費了 10 bytes 的記憶體空間而捉狂,也不知道自己會為了省下 0.1K 的 code size 而放下身段在 C 裡使用 goto....

寫了四年多了 ODD firmware,我第一次覺得我在做 embedded system。

真要說要怪誰,就怪之前的 chip/solution vendor 太奢侈了吧!誰叫他們在光碟機的控制晶片中塞了一顆 32-bit 的 MIPS CPU,32-bit 的 address lines(所以 addressing space 可以到 4GB),還有一套功能強大的 compiler,以及嚴謹到嚇死人的 firmware structure.....雖然偶爾也會遇到 code size 或是 efficiency 的問題,但至少寫起程式來不會綁手綁腳的。

但正是因為他們太奢侈,價格也壓不下來,讓我們不得不換用比較廉價的 solution。但代價就是:CPU 從 32-bit MIPS 變成 8-bit 的 8051;addressing space 變成 64K(所以會遇上 bank switching 的問題);DRAM access 必須透過 DSP 的 registers,所以一般程式內的變數只能使用 256 + 4096 bytes 的空間;處理 32-bit 的變數時,assembler 還會呼叫 library 去處理,所以為了效率,不是太複雜的 double word 運算最好手動拆成四個 bytes 來處理;原本的 source code 打扮得像是要去選美一樣,現在變成一隻只求會捉老鼠的貓........

當然好處也是沒有。正因為它原始,正因為它低階,才能讓我更清楚地去了解最低層動作的每一個細節,讓我驗證以前所學到的知識(雖然這不是現在該做的事),激發我的動力,讓我更仔細地去思考在處理 embedded system 時該思考、解決的問題。

反正,總之,工作還是得做。就當作是成長的機會吧!(不然還能怎麼辦咧?) :)

此文章所屬分類:

沒有人引用這篇文章

本篇文章的引用網址:http://www.cclo.idv.tw/cgi-bin/mtos_4.1/mt-tb.cgi/67

回應、批評與指教(目前有 4 篇)

作者:Tony

嘻嘻,光碟机8051也能胜任吗?其实8-bit chip用的好的话性价比不错,但是我挺讨厌8051的,觉得满落后的

作者:closer

其實我也不喜歡 8051....
不過台灣的廠商好像很喜歡它。
便宜的關係吧? :p

之前還看到某家廠商的 IC,
內嵌了一顆時脈 100+MHz 的 8501....(倒)
還真是發揮得淋漓盡致啊!(無言)

作者:yoi

原來你這幾年在搞這些事情啊,我印象中的你還停留在重慶南路和平東路那棟大樓那邊呢。

作者:closer

拜託!那都是快五年前的事了好嗎?

留下您的意見

關於這位部落客

  • closer
  • 被人叫大叔的年紀。
  • 滿地撿得到的資訊工程師。
  • 喜歡酒精、搖滾樂、電影、電玩、漫畫、電腦、棒球、拍照、女孩子。
  • 討厭薑、青椒、芋頭、政客、煙味、キャプテン翼、張學友。
  • 會中文、英文、日文、客家話、河洛話、C 語言。

活動支援

關於這篇文章

這篇文章是 closerApril 16, 2007 7:13 PM 發表的。

前一篇文章:《Goodbye, Smol.

後一篇文章:《[筆記] Subversion directory structure strategy

回到本站首頁,或是檢視所有的文章彙整列表

Powered by Movable Type 4.1