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通道
● 两个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进行开发,开发前需要做一些准备工作,如准备开发工具等。[page]
在这里,只需要修改SYSCFG、EXTDBWTH、ROMCON0、ROMCON1、DRAMCON0等寄存器来设置FLASH、SDRAM、DM9008的基地址和大小即可。这需要根据板上的配置来修改,修改的内容在wrSbcarm7.h文件中。
BSP基本部分就已经修改完成,至于bootInit.c和bootConfig.c文件,我们一般不需要修改它,只是在调试过程中为了方便调试,可以将他们拷贝到BSP目录下,然后修改makefile文件,在makefile文件中添加如下两句。
BOOTCONFIG = bootConfig.c
BOOTINIT = bootInit.c
(5)利用tsfs(target server file system)下载
要利用tsfs下载VxWorks,首先需要配置以下内容:
① 在config.h文件中添加如下内容
/* Serial port configuration */
#define INCLUDE_SERIAL
#undef NUM_TTY
#define NUM_TTY N_SIO_CHANNELS
#undef CONSOLE_TTY
#define CONSOLE_TTY 0
#undef CONSOLE_BAUD_RATE
#define CONSOLE_BAUD_RATE 38400
/*** WDB ***/
#ifdef SERIAL_DEBUG
#define WDB_NO_BAUD_AUTO_CONFIG
#undef WDB_COMM_TYPE
#undef WDB_TTY_BAUD
#undef WDB_TTY_CHANNEL
#undef WDB_TTY_DEV_NAME
#define WDB_COMM_TYPE WDB_COMM_SERIAL /* WDB in Serial mode */
#define WDB_TTY_BAUD 38400 /* Baud rate for WDB Connection */
#define WDB_TTY_CHANNEL 1 /* COM PORT #2 */
#define WDB_TTY_DEV_NAME "/tyCo/1" /* default TYCODRV_5_2 device name */
#endif /* SERIAL_DEBUG */
/* tsfs added by caiyang */
#define INCLUDE_TSFS_BOOT
并修改引导行为
#define DEFAULT_BOOT_LINE /par "tsfs(0,0)host:vxWorks f=8 h=169.254.72.67 e=169.254.72.68 u=caiyang pw=caiyang"
注:串口1用来显示引导信息,相当于PC机中的显示器,串口2用来下载VxWorks和调试。同时串口2波特率不能太高,经测试115200好像不行。
② 配置target server
启动Tornado开发环境,选择Tool->target server菜单。在下拉菜单中选“target server file system”并选中Enable File System,然后目录指向Vxworks所在的地方。同时注意要把Tornado Registry打开,这样配置完后点击Launch按钮即可连接成功,此后就可以通过串口2下载VxWorks和调试。
|
一般情况下,我们首先调试好BSP,然后在调试网卡。所以在调试网卡前,我们需要用串口来下载VxWorks映像。
至此,我们的BSP就开发完成。
结论
在没有调试BSP的硬件工具如仿真器的时候,我们只能通过点灯或者串口输出来定位程序执行的正确性。这大大增加了调试难度和进程。对于BSP开发,一般需要从一个模板来修改。BSP开发的正确性直接影响到VxWorks系统运行的稳定性。
上一篇:ARM922T核ZCP320A处理器PCI总线操作
下一篇:当C2000邂逅ARM......
推荐阅读最新更新时间:2024-03-16 12:38