欧美日韩一区二区高清,久久视频这里只有精品,超黄网站在线观看,成人av影院在线观看

以文本方式查看主題

-  曙海教育集團論壇  (http://www.martymets.com/bbs/index.asp)
--  VxWorks BSP開發  (http://www.martymets.com/bbs/list.asp?boardid=37)
----  基于ARM7核處理器VxWorks系統BSP設計  (http://www.martymets.com/bbs/dispbbs.asp?boardid=37&id=1941)

--  作者:wangxinxin
--  發布時間:2010-12-1 10:44:44
--  基于ARM7核處理器VxWorks系統BSP設計
摘要:該文主要介紹了SAMSUNG公司的基于ARM7TDMI核S3C4510B微處理器,并詳細介紹了利用該處理器所設計的嵌入式系統以及VxWorks操作系統下BSP(Board Supported Package)的開發。

關鍵詞:ARM7TDMI S3C4510B VxWorks BSP

1 介紹

S3C4510B是三星公司推出的針對嵌入式應用的16/32 位嵌入式處理器,該微控制器專為以太網通信系統的集線器和路由器而設計,具有低成本和高性能的特點, S3C4510B中內置了設計的16/32位ARM7TDMI處理器, 可以執行32位的ARM指令,也可執行16位的THUMB指令, 并集成了多種外圍部件,主要有

● 時鐘頻率50MHz

● 內核/IO電壓3.3V

● 8KB的Cache/SRAM

● 一個10/100Mbps 以太網控制器,MII接口

● 兩個HDLC通道,每個通道可支持10Mbps

● 兩個UART通道

● 兩個DMA通道

● 兩個32位定時/計數器

● 18個可編程I/O口

● 中斷控制器,支持21個中斷源,包括4個外部中斷

● 支持SDRAM,EDO DRAM,SRAM,Flash等

● 具有擴展外部總線

● JTAG接口,支持軟件開發 ,硬件調試

S3C4510B支持目前常用的嵌入式操作系統,如VxWorks、pSoS、ucLinux等,本文將主要介紹VxWorks操作系統下的軟件開發。

ARM7TDMI是ARM家族通用的一款32位微處理器,它主要為用戶提供了高性能、低價格解決方案。

ARM7TDMI具有三級流水線的32位RISC處理器,處理器結構為馮·諾依曼Load/Store。該CPU具有兩種指令集,即ARM和Thumb指令集。ARM指令集是32位,它可以利用CPU最大性能;而Thumb指令集則是16位指令集。

ARM7TDMI內核方塊圖如圖1所示。

2 系統硬件圖

該系統主要以S3C4510B為核心,外圍集成了以太網卡、SDRAM、FLASH、UART以及HDLC等。圖2是以S3C4510B為核心的最小系統設計圖。

SDRAM選用HY57V653220(8Mbyte)、兩片FLASH分別為AM29F040(存放bootrom)和T28F160BT(作為文件系統用)。

3 VxWorks操作系統下BSP構建

在完成板上基本硬件的測試后,下面我就開始對vxWorks操作系統下BSP進行開發,開發前需要做一些準備工作,如準備開發工具等。

① 開發工具用的是Tornado2.2 for ARM;

② 參考資料有BSP Kit、S3C4510B DataSheet;

③ 參考Tornado2.2 for ARM下自帶的wrSBCArm7 BSP;

④ 燒寫程序采用編程器。

通常在開發BSP的時候,我們需要在Tornado原帶BSP目錄下找一個與我們所用的處理器相同或相近。與BSP相關的文件有:romInit.s、sysAlib.s、bootInit.c、bootConfig.c、sysLib.c、config.h、configNet.h、makefile以及與我們硬件相關的,如串口sysSerial.c等。由于篇幅所限,具體的文件作用在此就不說了。下面主要根據S3C4510B來闡述一下BSP開發步驟。

(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的入口地址。對大多數板來說,這就是ROM地址區的首地址,然而也有的硬件配置使用ROM起始的一部分地址區作為復位向量,因此需要根據此設置偏移量作為它的地址。這個偏移量因CPU結構而定。

ROM_WARM_ADRS:BOOT ROM熱啟動入口


主站蜘蛛池模板: 睢宁县| 鸡泽县| 芜湖市| 大竹县| 泰和县| 凉城县| 永清县| 札达县| 库尔勒市| 大安市| 五台县| 拜城县| 江津市| 渭源县| 临泉县| 来宾市| 南溪县| 分宜县| 夏邑县| 全南县| 武夷山市| 四会市| 温泉县| 洪洞县| 长武县| 兴隆县| 邳州市| 荔波县| 阜平县| 高碑店市| 岳池县| 晋州市| 周至县| 烟台市| 桑日县| 武邑县| 苏尼特右旗| 会理县| 隆尧县| 牡丹江市| 海原县|