基于ARM7核处理器VxWorks系统BSP设计

发布者:丝语轻风最新更新时间:2011-07-14 关键字:ARM7TDMI  S3C4510B  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通道

● 两个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系统运行的稳定性。


 

 

关键字:ARM7TDMI  S3C4510B  VxWorks  BSP 引用地址:基于ARM7核处理器VxWorks系统BSP设计

上一篇:ARM922T核ZCP320A处理器PCI总线操作
下一篇:当C2000邂逅ARM......

推荐阅读最新更新时间:2024-03-16 12:38

基于S3C4510B的存储系统原理与设计
   1. 引言   对于嵌入式系统的开发人员来说,深刻地理解其存储系统的寻址原理和有效的管理存储系统对正确高效地设计嵌入式系统的硬件和底层软件编程具有重要的意义。目前嵌入式系统中最常用的存储器包括有EEPROM、FLASH、Normal DRAM和Sync.DRAM等。本文所采用的存储器包括有SDRAM和FLASH。S3C4510B(以下简称4510)微处理器是构建在ARM核ARM7TDMI之上的,ARM7TDMI的地址总线为32位的,4510的内部系统总线却是26bit:SA ,它的外部地址总线却是22bit:ADDR ,它们之间是如何译码的,而仅用14根外部地址总线为什么能够访问多达16MB的内存地址空间,本文就试图回答这
[缓冲存储]
基于蓝牙的家庭监控报警系统
引言     市场上现有的监控设备也往往不能满足用户的远程查询要求,而且误报率也比较高。基于蓝牙技术的家庭监控报警系统,能够实时监控终端探测设备的数据,并在有突发事件时及时报警;同时该系统还能满足用户随时通过控制中心来统筹管理家居的要求。    系统硬件电路结构     ROK101007蓝牙模块     ROK 101007是Ericsson公司生产的一种在电子设备中实现蓝牙功能的短距离通信模块。该蓝牙模块是由基带控制器、快闪式存储器、PBA313 01/2无线电收发器3个芯片组成。其同时支持数据和语音的传递,通过一个符合USB2.0规格的USB接口或一个UART/PCM接口来实现模块和主机控制器之间的通信。它的VC
[单片机]
基于蓝牙的家庭监控报警系统
基于VxWorksBSP概念与开发
摘 要:本文以VxWorks操作系统为例阐述了BSP的概念和系统启动流程,并描述了BSP的开发过程。 关键词:BSP;VxWorks;镜像;boot Rom 概述 VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),它采用微内核的结构,具有支持多种处理器,丰富的网络协议,良好的兼容性和裁减性等特点,同时具有程序动态链接和下载的功能。 BSP(Board Support Packet——板级支持包)是介于底层硬件和上层软件之间的底层软件开发包,它主要功能为屏蔽硬件,提供操作系统的驱动及硬件驱动,具体功能包括: ·单板硬件初始化,主要是CPU的初始化,为整个软件系统提供底层硬件支
[嵌入式]
[bsp层][nrf52832][nrf52840][nrf52810][nrf52820][bsp_led] LED配置和使用
重新封装一层函数,用于bsp层函数,方便调用。 void bsp_led_init(void); void bsp_led_deinit(void); void bsp_led_on(bsp_led_t ch); void bsp_led_off(bsp_led_t ch); void bsp_led_toggle(bsp_led_t ch); /******************************************************************************** * @file bsp_led.c * @author jianqiang.xue * @version V1.0.
[单片机]
[单片机框架][bsp层][cx32l003][bsp_crc] 硬件CRC配置和使用
循环冗余校验(CRC)计算单元是根据固定的生成多项式得到任意字节数据的 CRC 计算结果。在应用中, CRC 技术主要应用于核实数据传输或者数据存储的正确性和完整性。 本模块算法遵从 ISO/IEC13239 的定义,采用 16 位长度的 CRC,计算多项式为: 计算初始值为 0xFFFF。 本模块功能包括: ⚫ CRC 编码和 CRC 校验 ⚫ 3 种位宽访问方式:8 位、16 位、32 位 ⚫ 8 位位宽下输入数据示例为 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77 ⚫ 16 位位宽下输入数据示例为 0x1100, 0x3322, 0x5544, 0x7766 ⚫ 32
[单片机]
基于VxWorks的PCI总线多功能数据采集卡驱动开发
    VxWorks是一种高性能的嵌入式实时操作系统(RTOS),它由WindRiver公司开发,具有小巧的内核,可根据需要进行裁减;它还获得广泛的硬件支持,像X86系列的CPU,Motorola 68K系列的CPU,Motorola/IBM Power PC等等;它还具有很高的可靠性和实时性,像美国登陆的火星探测器使用的就是VxWorks操作系统;它还有其它的很多优点,因此被广泛地使用在通信、军事、航空、控制等高精尖技术以及实时性要求极高的领域中。     PCI总线由于其即插即用、独立于微处理器、通用性好、具有很高的兼容性等等优良的特点,使得它成为运用最广泛的局部总线标准,而且具有很大的发展潜力。使它成为具有很好发展潜力的局部
[嵌入式]
创建并移植K10 BSP包的具体步骤和方法(二)
3. BSP包代码的修改   在C:\Freescale\Freescale_MQX_4_0\mqx\source\psp\cortex_m文件夹里的psp_cpudef.h文件中可以找到支持Kinetis K10/K20/K30/K40/K50/K60/K70等相关芯片的PSP宏定义,例如支持K10DN512的宏定义为:   #define PSP_CPU_MK10DN512Z (PSP_CPU_NUM(PSP_CPU_ARCH_ARM_CORTEX_M4, PSP_CPU_GROUP_KINETIS_K1X, 2))   同时在该文件中还可以找到所有Freescale指定PSP处理器支持包所支持内核的宏定义,如ColdF
[模拟电子]
创建并移植K10 <font color='red'>BSP</font>包的具体步骤和方法(二)
VxWorks系统下的RTL8139驱动程序改进
0 引言 RTL8139是台湾Realtek半导体公司生产的一种快速以太网控制器,提供符合PCI2.2标准的接口,兼容IEEE802.3u 100BASE-T规范,支持IEEE-802.3x全双工流量控制,支持10Mbit.s-1/100Mbit.s-1全双工、半双工自适应,价格便宜,性能稳定,是PC机、电信终端产品中应用最多的以太网控制器之一。RTL8139在各种操作系统下的驱动都能从Realtek公司网页下载,其中包括VxWorks系统下的驱动,而且提供C源代码。但是在嵌入式系统下,针对不同的硬件平台,往往需要修改该驱动程序以提高其稳定性和效率。基于MPC8241 CPU的硬件平台,本文提出RTL8139在VxWorks系统
[工业控制]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved