- 相關(guān)推薦
基于ARM7核處理器VxWorks系統(tǒng)BSP設(shè)計(jì)
摘要:該文主要介紹了SAMSUNG公司的基于ARM7TDMI核S3C4510B微處理器,并詳細(xì)介紹了利用該處理器所設(shè)計(jì)的嵌入式系統(tǒng)以及VxWorks操作系統(tǒng)下BSP(Board Supported Package)的開發(fā)。1 介紹
S3C4510B是三星公司推出的針對(duì)嵌入式應(yīng)用的16/32 位嵌入式處理器,該微控制器專為以太網(wǎng)通信系統(tǒng)的集線器和路由器而設(shè)計(jì),具有低成本和高性能的特點(diǎn), S3C4510B中內(nèi)置了ARM公司設(shè)計(jì)的16/32位ARM7TDMI處理器, 可以執(zhí)行32位的ARM指令,也可執(zhí)行16位的THUMB指令, 并集成了多種外圍部件,主要有:
● 時(shí)鐘頻率50MHz
● 內(nèi)核/IO電壓3.3V
● 8KB的Cache/SRAM
● 一個(gè)10/100Mbps 以太網(wǎng)控制器,MII接口
● 兩個(gè)HDLC通道,每個(gè)通道可支持10Mbps
● 兩個(gè)UART通道
● 兩個(gè)DMA通道
● 兩個(gè)32位定時(shí)/計(jì)數(shù)器
● 18個(gè)可編程I/O口
● 中斷控制器,支持21個(gè)中斷源,包括4個(gè)外部中斷
● 支持SDRAM,EDO DRAM,SRAM,F(xiàn)lash等
● 具有擴(kuò)展外部總線
● JTAG接口,支持軟件開發(fā) ,硬件調(diào)試
S3C4510B支持目前常用的嵌入式操作系統(tǒng),如VxWorks、pSoS、ucLinux等,本文將主要介紹VxWorks操作系統(tǒng)下的軟件開發(fā)。
ARM7TDMI是ARM家族通用的一款32位微處理器,它主要為用戶提供了高性能、低價(jià)格解決方案。
ARM7TDMI具有三級(jí)流水線的32位RISC處理器,處理器結(jié)構(gòu)為馮·諾依曼Load/Store。該CPU具有兩種指令集,即ARM和Thumb指令集。ARM指令集是32位,它可以利用CPU最大性能;而Thumb指令集則是16位指令集。
ARM7TDMI內(nèi)核方塊圖如圖1所示。
2 系統(tǒng)硬件圖
該系統(tǒng)主要以S3C4510B為核心,外圍集成了以太網(wǎng)卡、SDRAM、FLASH、UART以及HDLC等。圖2是以S3C4510B為核心的最小系統(tǒng)設(shè)計(jì)圖。
SDRAM選用HY57V653220(8Mbyte)、兩片F(xiàn)LASH分別為AM29F040(存放bootrom)和T28F160BT(作為文件系統(tǒng)用)。
3 VxWorks操作系統(tǒng)下BSP構(gòu)建
在完成板上基本硬件的測(cè)試后,下面我就開始對(duì)vxWorks操作系統(tǒng)下BSP進(jìn)行開發(fā),開發(fā)前需要做一些準(zhǔn)備工作,如準(zhǔn)備開發(fā)工具等。
① 開發(fā)工具用的是Tornado2.2 for ARM;
② 參考資料有BSP Kit、S3C4510B DataSheet;
③ 參考Tornado2.2 for ARM下自帶的wrSBCArm7 BSP;
④ 燒寫程序采用編程器。
通常在開發(fā)BSP的時(shí)候,我們需要在Tornado原帶BSP目錄下找一個(gè)與我們所用的處理器相同或相近。與BSP相關(guān)的文件有:romInit.s、sysAlib.s、bootInit.c、bootConfig.c、sysLib.c、config.h、configNet.h、makefile以及與我們硬件相關(guān)的,如串口sysSerial.c等。由于篇幅所限,具體的文件作用在此就不說了。下面主要根據(jù)S3C4510B來闡述一下BSP開發(fā)步驟。
(1)拷貝BSP
將wrSBCArm7 BSP拷貝一份并命名為4510BSP,接下來的工作就是修改該目錄下的文件,從而得到自己的BSP。
(2)修改MakeFile文件
修改4510BSP目錄下的makefile文件,修改如下幾行:
TARGET_DIR = 4510BSP # changed by caiyang
VENDOR = CAI # changed by caiyang
BOARD = MyArmBoard # changed by caiyang
ROM_TEXT_ADRS = 01000000 # ROM entry address
ROM_WARM_ADRS = 01000004 # ROM warm entry address
ROM_SIZE = 00080000 # number of bytes of ROM space
RAM_LOW_ADRS = 00006000 # RAM text/data address (bootrom)
RAM_HIGH_ADRS = 00486000 # RAM text/data address (bootrom)
MACH_EXTRA =
注解:ROM_TEXT_ADRS:BOOT ROM的入口地址。對(duì)大多數(shù)板來說,這就是ROM地址區(qū)的首地址,然而也有的硬件配置使用ROM起始的一部分地址區(qū)作為復(fù)位向量,因此需要根據(jù)此設(shè)置偏移量作為它的地址。這個(gè)偏移量因CPU結(jié)構(gòu)而定。
ROM_WARM_ADRS:BOOT ROM熱啟動(dòng)入口
【基于ARM7核處理器VxWorks系統(tǒng)BSP設(shè)計(jì)】相關(guān)文章:
基于web的異地并行設(shè)計(jì)與制造系統(tǒng)研究06-02
基于PLC的斷路器型式試驗(yàn)系統(tǒng)設(shè)計(jì)03-10
基于電話網(wǎng)絡(luò)的熱網(wǎng)遠(yuǎn)程控制系統(tǒng)設(shè)計(jì)05-11
分析基于三維掃描的特種設(shè)備管理系統(tǒng)設(shè)計(jì)論文05-26
基于J2EE的遠(yuǎn)動(dòng)系統(tǒng)Web實(shí)時(shí)曲線的研究05-11
基于勝任力的企業(yè)個(gè)體績效管理流程設(shè)計(jì)06-03
基于CS管理的房地產(chǎn)企業(yè)開發(fā)設(shè)計(jì)06-04
探討基于多種通信方式并存的配網(wǎng)自動(dòng)化通信系統(tǒng)06-01