欢迎来到天天文库
浏览记录
ID:18949523
大小:87.50 KB
页数:9页
时间:2018-09-27
《基于arm7核处理器vxworks系统bsp设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于ARM7核处理器VxWorks系统BSP设计1介绍 S3C4510B是三星公司推出的针对嵌入式应用的16/32位嵌入式处理器,该微控制器专为以太网通信系统的集线器和路由器而设计,具有低成本和高性能的特点,S3C4510B中内置了ARM公司设计的16/32位ARM7TDMI处理器,可以执行32位的ARM指令,也可执行16位的THUMB指令,并集成了多种外围部件,主要有: ●时钟频率50MHz ●内核/IO电压3.3V ●8KB的Cache/SRAM ●一个10/100Mbps以太网控制器,MII接口 ●两个HDLC通道,每个通道可支持10Mbps ●两个UART通道 ●两个
2、DMA通道 ●两个32位定时/计数器 ●18个可编程I/O口 ●中断控制器,支持21个中断源,包括4个外部中断 ●支持SDRAM,EDODRAM,SRAM,Flash等 ●具有扩展外部总线 ●JTAG接口,支持软件开发,硬件调试 S3C4510B支持目前常用的嵌入式操作系统,如VxWorks、pSoS、ucLinux等,本文将主要介绍VxWorks操作系统下的软件开发。 ARM7TDMI是ARM家族通用的一款32位微处理器,它主要为用户提供了高性能、低价格解决方案。 ARM7TDMI具有三级流水线的32位RISC处理器,处理器结构为冯·诺依曼Load/Store。该CPU具
3、有两种指令集,即ARM和Thumb指令集。ARM指令集是32位,它可以利用CPU最大性能;而Thumb指令集则是16位指令集。 ARM7TDMI内核方块图如图1所示。 2系统硬件图 该系统主要以S3C4510B为核心,外围集成了以太网卡、SDRAM、FLASH、UART以及HDLC等。图2是以S3C4510B为核心的最小系统设计图。 SDRAM选用HY57V653220(8Mbyte)、两片FLASH分别为AM29F040(存放bootrom)和T28F160BT(作为文件系统用)。 3VxWorks操作系统下BSP构建 在完成板上基本硬件的测试后,下面我就开始对vxWorks操
4、作系统下BSP进行开发,开发前需要做一些准备工作,如准备开发工具等。 ①开发工具用的是Tornado2.2forARM; ②参考资料有BSPKit、S3C4510BDataSheet; ③参考Tornado2.2forARM下自带的wrSBCArm7BSP; ④烧写程序采用编程器。 通常在开发BSP的时候,我们需要在Tornado原带BSP目录下找一个与我们所用的处理器相同或相近。与BSP相关的文件有:romInit.s、sysAlib.s、bootInit.c、bootConfig.c、sysLib.c、config.h、configNet.h、makefile以及与我们硬件相关
5、的,如串口sysSerial.c等。由于篇幅所限,具体的文件作用在此就不说了。下面主要根据S3C4510B来阐述一下BSP开发步骤。 (1)拷贝BSP 将wrSBCArm7BSP拷贝一份并命名为4510BSP,接下来的工作就是修改该目录下的文件,从而得到自己的BSP。 (2)修改MakeFile文件 修改4510BSP目录下的makefile文件,修改如下几行: TARGET_DIR=4510BSP#changedbycaiyang VENDOR=CAI#changedbycaiyang BOARD=MyArmBoard#changedbycaiyang ROM_TEXT_A
6、DRS=01000000#ROMentryaddress ROM_WARM_ADRS=01000004#ROMwarmentryaddress ROM_SIZE=00080000#numberofbytesofROMspaceRAM_LOW_ADRS=00006000#RAMtext/dataaddress(bootrom) RAM_HIGH_ADRS=00486000#RAMtext/dataaddress(bootrom) MACH_EXTRA= 注解:ROM_TEXT_ADRS:BOOTROM的入口地址。对大多数板来说,这就是ROM地址区的首地址,然而也有的硬件配置使用ROM
7、起始的一部分地址区作为复位向量,因此需要根据此设置偏移量作为它的地址。这个偏移量因CPU结构而定。 ROM_WARM_ADRS:BOOTROM热启动入口地址。它通常位于固定的ROM_TEXT_ADRS+4的地方。当需要热启动时,sysLib.c文件中sysToMonitor()函数代码明确的跳转到ROM_WARM_ADRS地址处开始执行。 ROM_SIZE:ROM实际大小。 RAM_LOW_ADRS:装
此文档下载收益归作者所有