本文向读者介绍如何通过TQ2440的VxWorks BSP来制作生成VxWorks镜像,以及通过应用程序来做实验,以验证驱动实现的功能。

VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。在美国的F-16、FA-18战斗机、B-2隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用到了VxWorks。

VxWorks.net是一个提供嵌入式软硬件资源下载的网站,由一个具有丰富嵌入式软件开发经验的团队管理和维护。目前我们提供嵌入式软硬件资源的免费下载,只要注册登陆就可以下载其中的资源。随着网站的发展,我们后续会提供自主开发的商业软件资源,并开通VIP客服服务,敬请关注。

天嵌科技推出的TQ2440开发板,板载具有丰富的资源,包括UART,NOR FLASH,EEPROM,LCD,LED,网络等,针对这些资源,我们开发了VxWorks下的驱动,并做了实验验证,迫于时间关系,部分驱动和实验还没有完成。

第1章 通过BSP来生成VxWorks镜像并运行

1.1 BSP的安装

将TQ2440的VxWorks BSP拷贝到Tornado安装路径的target\config目录下,如下图:

S3C2440 vxworks

1.2 生成VxWorks镜像

1) 打开Tornado开发环境

双击桌面的Tornado应用程序图标

Tornado

2) Tornado开发环境如下图所示

Tornado

3) 新建工程

菜单File->New Project,出现下图提示框

Tornado

这里我们选择第一个Create a bootable VxWorks image,点OK继续,出现下图提示框

Tornado

根据个人习惯,更改工程,描述,工作组等,结果如下图

Tornado

点击Next继续,出现下图,选择事先安装好的2440的VxWorks BSP,编译器选择gnu

Tornado

点击Next继续,出现下图,显示工程的相关信息

Tornado

点击Finish,结束工程的创建。

工程创建完成,见下图

Tornado

4) 调整组件

点击工程窗口左下角的VxWorks选项卡,出现组件窗口,如下图

Tornado

VxWorks默认已经包含了一些必需的组件和一些功能组件,我们可以根据需要自行添加和删除某些组件。

比如我们需要添加ping client组件,这样可以从TQ2440去ping其他的机器,比如主机,ping client组件的位置如下图所示

Tornado

其他的组件,我们就不一一介绍了。

5) 增加应用程序源码

点击工程窗口左下角的Files选项卡,出现文件窗口,如下图

Tornado

鼠标右键->Add Files,出现新增文件的窗口,如下图

Tornado

选择想要添加到工程中的应用程序源文件,比如这里的file.c,点击Add添加,结果如下图所示

Tornado

从上图看出,file.c被添加到工程中来了。file.c部分源码如下:

Tornado

注: file.c中的函数是void file(void)函数,此函数的功能是将数组buf中的数据写到/tffs0/file.txt文件中(供63字节),关闭再打开file.txt文件后,再读取其内容并打印出来。

6) 编译VxWorks

菜单Build->Build进行编译,结果如下图

Tornado

结果在工程目录下生成了VxWorks文件,如下图

Tornado

这里,由于我们是通过u-boot来加载vxWorks,所以还需要将elf格式的vxWorks转换成bin格式的vxworks.bin。

1.3 u-boot加载vxworks.bin

1) 启动TQ2440开发板,进入u-boot

Tornado

2) 设置TQ2440的IP地址,以及tftp服务器的IP地址,并保存参数

Tornado

注:这里我们设置TQ2440的IP地址为192.168.1.20 (ipaddr),设置服务器的IP地址为192.168.1.102 (serverip),网关为192.168.1.1 (gatewayip)。

3) 通过tftp命令把vxworks.bin加载到0x30010000内存处,如下图

Tornado

注:tftp服务器的设置方法在另一篇“TQ2440打造VxWorks开发环境”一文中有介绍 并且我们将事先编译好的vxworks.bin文件放到tftp服务器的根目录

4) 跳转到0x30010000地址处执行vxworks.bin

Tornado

上图就是vxworks启动后进入shell控制台的界面

获取BSP,请关注微信公众号:北南南北

北南南北