Cortex-M3掃盲
A: 它是ARM在重視MCU市場(chǎng)后,設(shè)計(jì)的一個(gè)用于32位單片機(jī)的處理器內(nèi)核。Cortex-M3一經(jīng)推出就得到整個(gè)業(yè)界的追捧,其先進(jìn)的架構(gòu)和很多突破性的特性更是促使MCU業(yè)界迎來“新生代”。Cortex-M3對(duì)應(yīng)的ARM架構(gòu)版本號(hào)是ARMv7M(注意,不要與ARM7混淆,ARM7對(duì)應(yīng)的ARM架構(gòu)版本是ARMv4T)。和以前一樣,ARM自己并不生產(chǎn)Cortex-M3芯片,而是由授權(quán)給與ARM合作的半導(dǎo)體廠家,并由它們根據(jù)自己的強(qiáng)項(xiàng)添加不同的片上外設(shè),制造出各有千秋的Cortex-M3芯片。
Q2: 現(xiàn)在有哪些比較好的資料可以學(xué)習(xí)Cortex-M3?
A: 主要有三類文檔
1. ARM提供的官方權(quán)威文檔。主要的兩本是《Cortex-M3 Technical Reference Manual》以及《ARMv7-M Architecture Application Level Reference Manual》。前者有周立功先生組織翻譯的中文版。不管怎么說,這兩本資料都是權(quán)威到“古文觀止”級(jí)的,但同時(shí)也是天書,絕對(duì)能讓大多數(shù)新手看得“老虎,老鼠,傻傻分不清楚”。推薦大家把它們作為后備的參考資料,待到遇到疑難雜癥時(shí)再去求助它們。
2. 其他人寫的講解Cortex-M3的書籍。目前最著名的一本是《The Definitive Guide to the ARM Cortex-M3》。它從零開始講,但又不知不覺把我們帶到很深,閱讀時(shí)強(qiáng)烈推薦順序閱讀。我翻譯了本書,中文版名為《Cortex-M3權(quán)威指南》,并且把電子版放到了本站上。該電子版是一個(gè)初稿,里面肯定還有一些錯(cuò)誤。我已經(jīng)和北航出版社聯(lián)系好本書的出版,大約是2008年11月,屆時(shí)會(huì)盡可能改正錯(cuò)誤并進(jìn)行大量的潤(rùn)色。
3. 每個(gè)提供Cortex-M3芯片的廠商,也會(huì)提供芯片的datasheet、用戶manual、外設(shè)驅(qū)動(dòng)程序庫(kù)、應(yīng)用筆記等。但這些資料更側(cè)重于具體講解如何使用這款芯片,甚至是直接就可以移植的代碼,它們不以講解Cortex-M3本身的知識(shí)為重點(diǎn)。
Q3: Cortex-M3有哪些優(yōu)點(diǎn)值得讓我成為它的粉絲?
A: 這是個(gè)大問題。在這里只簡(jiǎn)要地說明幾個(gè)重要的。
1. 從性能指標(biāo)上講,它高性能,低功耗,實(shí)時(shí)性好,調(diào)試機(jī)制完善、代碼密度高、更對(duì)C程序的品位、帶硬件乘除法、位操作強(qiáng)大……
2. 從商業(yè)模式上講,它是開放的。有很多廠家提供CM3芯片。因此東方不亮西方亮,不會(huì)因某款芯片停產(chǎn)就陷入困境。而且競(jìng)爭(zhēng)的環(huán)境也使價(jià)格更平易近人。
3. 從承前毖后上講,它的指令集和開發(fā)環(huán)境都同以前的ARM產(chǎn)品一脈相承,轉(zhuǎn)型成本低。
4. 最后還有一個(gè)最重要的,也可以認(rèn)為是前3條的結(jié)果:它正一路飆紅。這意味著容易找到知音,心里話有處說,本版面也力爭(zhēng)做到一個(gè)討論熱烈、每個(gè)人都能積極各抒己見的地方。
Q4: 目前有哪些半導(dǎo)體廠家在提供Cortex-M3芯片?
A: 截至2008年7月18日,比較知名的,已經(jīng)提供Cortex-M3芯片的有(按提供日期排序)
LuminaryMicro。網(wǎng)址:http://www.luminarymicro.com/。
ST。網(wǎng)址:http://www.stmicroelectronics.co … tml-pages-stm32.htm
即將提供Cortex-M3芯片的還有ATMEL和NXP。它們已經(jīng)把寶寶的名字取好了:ATMEL的以AT91SAM3開頭,NXP的以LPC1000開頭。我估計(jì)還有其它很多半導(dǎo)體廠商也在醞釀中。
每個(gè)廠家生產(chǎn)的CM3芯片都有自己的強(qiáng)項(xiàng)和特色,相信廠家的網(wǎng)站會(huì)不厭其煩地娓娓道來的
Q5: Cortex-M3現(xiàn)在正處于生命期的哪個(gè)階段
A: 如果說Cortex-M3是一顆明星,它正處于進(jìn)入“主星序”的階段。如果說Cortex-M3是一個(gè)漂亮的小姑娘,她正從童年走向青年,但已經(jīng)是魅力四射萬眾矚目了。
Q6: Cortex-M3芯片大約賣多少錢?
A: 因?yàn)槎ㄎ皇荕CU(單片機(jī)),所以無論腳數(shù)和價(jià)格都與中高檔8位單片機(jī)在同一檔次上。因?yàn)镃M3內(nèi)核占用硅片面積僅不到ARM7的1/4,所以比ARM7要便宜。決定芯片價(jià)格的主要還是存儲(chǔ)器和外設(shè)特性。欲知最新詳情,還請(qǐng)查閱半導(dǎo)體廠家的網(wǎng)站。
Q7: 如果使用Cortex-M3芯片,需要哪些開發(fā)工具?
A:
1. 在開發(fā)環(huán)境的選擇上,可以使用KEIL出品的RealView MDK;還有IAR的Embedded workbench;亦可以使用codesourcery提供的免費(fèi)GCC工具鏈。
2. 在仿真器的選擇上,MDK標(biāo)配ULINK2/ULINK-ME;IAR標(biāo)配J-LINK。此外,半導(dǎo)體廠家也往往設(shè)計(jì)自己的仿真器,如ST公司的ST-LINK。
3. 在RTOS的選擇上,非常豐富。主要是ARTX-ARM, CMX-RTX, PowerPac, threadX, FreeRTOS, uC/OS-II等。另外,來自日本的優(yōu)異開源操作系統(tǒng)T-Kernel(TRON)也有望可以使用。
4. 在開發(fā)/評(píng)估板的選擇上,國(guó)內(nèi)主要有深圳英蓓特、南京萬利、上海沁科、武漢力源等公司提供板子。如果手頭富裕的話也可以使用ST的原裝板。又因它與單片機(jī)的腳數(shù)差不多,有點(diǎn)PCB基礎(chǔ)的朋友們也可以自己畫板。
Q8: Cortex-M3難不難,有什么好的學(xué)習(xí)方法?
A: CM3是新生代32位處理器內(nèi)核,如果非要了解CM3的每根毛孔不可,肯定是要學(xué)習(xí)很多內(nèi)容的。但是,如果有單片機(jī)基礎(chǔ)和C語(yǔ)言基礎(chǔ),只需了解很少很表面的東西,就可以開始做實(shí)驗(yàn)和開發(fā)項(xiàng)目了。動(dòng)手是極其重要的。當(dāng)年超女敢唱就會(huì)紅,這里也一樣,敢玩就會(huì)玩!其它問題,可以“邊干邊學(xué)”——連Linux都可以《邊干邊學(xué)》。在學(xué)習(xí)和工作的過程中如果碰了釘子,再參考大部頭的資料也不遲。CM3的設(shè)計(jì)使得它與C語(yǔ)言是天仙配,再加上開發(fā)工具的智能功能,甚至讓你不需要寫一句匯編。因此,CM3是個(gè)上手容易,但又博大精深的小尤物。當(dāng)你作為“唯物主義”者時(shí),可以很快釋放它的能量變成財(cái)富;而當(dāng)你成為它的粉絲后,更可以發(fā)現(xiàn)它時(shí)常能激發(fā)你的創(chuàng)作靈感,用一次次的新驚喜來刷新易逝的感情。
Q9: 目前市面上還有哪些其它32位的,定位在MCU市場(chǎng)的處理器內(nèi)核?
A:
ARM有ARM7
ATMEL有“AVR32”
Microchip和MIPS有“M4K”(做成了PIC32單片機(jī))
FreeScale有“ColdFire”
日本瑞薩公布了RX系列的設(shè)計(jì)指標(biāo),指出2009年將有產(chǎn)品
ARM還有高端32位嵌入式處理器內(nèi)核Cortex-R4/Cortex-R4F
Q10:你如何看待這些32位內(nèi)核之間的關(guān)系,它們的涌現(xiàn)說明了什么現(xiàn)象?
A: 競(jìng)爭(zhēng)肯定是大家都能想到的主打歌。雖然Cortex-M3作為通用處理器內(nèi)核,其廠商支持度和公眾關(guān)注度最高,但其它內(nèi)核也有自己的獨(dú)到之處,誰也不是誰的超集或子集,誰也不是“萬能供血者”。每個(gè)人在選擇品牌時(shí),除了對(duì)各內(nèi)核性能的主觀認(rèn)識(shí),還與自己的行業(yè)風(fēng)俗、使用經(jīng)驗(yàn)、日久生情、初次邂逅以及項(xiàng)目機(jī)會(huì)有關(guān)。而這些內(nèi)核的涌現(xiàn),尤其是最新的Cortex-M3、M4K以及孕育中的RX,正推動(dòng)8位/16位MCU市場(chǎng)繼8051之后的再次蛻變——迎來以32位處理器為潮流的“美麗新世界”。因此它們之間也是互相推動(dòng)的。
標(biāo)簽: Cortex-M3掃