|
8051是8位元的微控制器,屬於複雜指令集控制器;ARM是32位元的微處理器,屬於精簡指令集微處理器。
8051的設計並不適合跑多工,因為它的堆疊長在mcu裏面,這導致task切換太慢。
ARM的設計就很適合跑即時作業系統,因為它能很快速的執行task切換。
8位元的8051很適合做小系統、低成本的產品開發,32位元的ARM適合即時與多工系統的開發,他們各自有比較適合的領域。
我使用S3C2410學寫ARM的程式設計。
在S3C2410是korea samsung出的一顆以ARM920TDMI為核心的微控制器。
它的頻率可上266mhz。S3C2410上有很多硬體介面,在不用多餘的晶片輔助下,可以自成一個系統,運作起來。
這讓我覺得它有點像是8051的32bit進化版,而且是進化很多的進化版。
在學寫ARM的程式設計的過程中,我會不由自主的拿8051和S3C2410做比較。
這樣一來我也比較容易進入狀況,也可以欣賞到ARM設計上的用心和好處。
我在S3C2410上面寫了一個ethernet bootloader,並且把自己寫的程式載入執行,感覺很不錯。
後來,我又買了一塊S3C2440的板子,它的功能和SC32410幾乎一樣,也是用ARM920T為核心,速度可以上到400M hz。
我的xmodem bootloader和多工核心就是在這塊板子上面寫的。
因為對ARM的硬體環境還在摸索中,不像對8051那樣了解,所以程式寫得蠻慢的。
儘管如此,我還是希望能夠在這個網頁中跟大家分享ARM的程式設計。
s3c2410 的板子
s3c2440 的板子
|