一個典型的基於ARM的SOC結構:
從圖可以得知,這個soc的基本構成爲:
ARM Core:ARM966E
AMBA總線:AHB + APB
外設IP:VIC、DMA、UART、RTC、SSP、WDT...
Stroage Device:SRAM、FLASH
模擬IC:ADC、PLL、CODEC
1 我們該選擇何種內核?
ARM提出的參考意見如下:
如果開發適時嵌入式系統,如汽車電子、工控、網絡應用,選擇Embedded core。
如果開發應用程序爲主並且要使用操作系統,如Linux、Symbian、Android,選Application core。
如果開發像smart card,SIM卡等需要安全保密的系統,選Secure core。
//知道我們手機、MP4的SOC爲什麼總是碰到ARM926EJ-S了吧.另外,我曾經在一款用作低端MP3解決方案的SOC 上做過系統開發,用的是 Cortex-M3的核,相當的精巧高效。功耗低,thumb2指令集也強大得不行。中斷速度也經過了優化。
2 我們應該選擇哪種總線結構?
ARM提供處理器的同時,也提供了多種總線結構,如ASB、APB、AHB、AXI。在選擇總線時,需要評估多大的總線頻率能滿足要求,並且儘量兼顧功耗和麪積。這些都可利用相關工具建模,而得到相關數據,然後需要對這些數據進行分析。
3 如何選擇IP?
ARM提供的外設IP集(PrimeCell IP)提供了絕大部分常用的外設,如下表:
PrimeCell的IP一直在增加,ARM會不定期在網上公佈最新可用的IP,網址爲http://www.arm.com/products/system-ip/peripherals/
ARM除了提供這些IP的RTL之外,還會提供驅動和測試程序。
4 搭建好的平臺如何驗證?
使用FPGA