原因:Wind River 公司推出的VxWorks 具有优良的性能,可惜是个收费软件。因此考虑将原来VxWorks 下配套的软件(引导程序bootrom,操作系统VxWorks,用户程序user application)统统移植到免费的linux下。其中bootrom 可由denx 推出的u-boot 代替。 硬件条件:实验室自己开发的电路板,已经有成功运行的bootrom 和VxWorks,CPU为MPC8240(powerpc603 类型的核),启动地址对应到8bit 数据宽度的EEPROM,有板载 Flash,但地址不连续,串口网口齐全。 本文内容:用于将bootrom 移植成u-boot,虽然涉及到bootrom,VxWorks 和user application,但真正被代替的只有bootrom。并不包括VxWorks 到嵌入式linux,以及user application 的移植方法。
1.u-boot 简介 U-Boot,全称Universal BootLoader,是遵循GPL 条款的开放源码项目。其源码目录、 编译形式与Linux 内核很相似,事实上,不少U-Boot 源码就是相应的Linux 内核源程序的 简化,尤其是一些设备的驱动程序,这从U-Boot 源码的注释中能体现这一点。但是U-Boot 不仅仅支持嵌入式Linux 系统的引导,当前,它还支持NetBSD, VxWorks, QNX, RTEMS, ARTOS,LynxOS 嵌入式操作系统。其目前要支持的目标操作系统是OpenBSD, NetBSD, FreeBSD,4.4BSD, Linux,SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks, LynxOS, pSOS, QNX,RTEMS,ARTOS。U-Boot 除了支持PowerPC 系列的处理器外,还能支持MIPS、x86、 ARM、NIOS、XScale 等诸多常用系列的处理器。 更多内容:MPC8xx 的U-Boot 移植体会 http://oradom.c.blogbus.com/logs/2005/10/1516893.html
2.准备工作 2.1 安装VmWare 下的Linux 通常玩Tornado 的都是在Windows 下(或者在windows 的伪Dos 下玩命令行)。但是u-boot 要在linux 下编译。由于移植过程中不可避免的要参考VxWorks 的BSP,而且从u-boot启动的VxWorks 可能与从bootrom 启动的VxWorks 略有不同,因此强烈建议在Windows 下安装VmWare 虚拟机,再装上一个Linux。我用的是比较古老的红帽子Linux7.3。 关于Linux 在VmWare 下的安装资料网上到处都是,自己搜去吧。需要注意的是,装完之后强烈建议安装VMèInstall VmWare Tools,安装好了之后分辨率就可以设置上去了,否则看起来太难受了。此外,再设置一个共享文件夹VMèSettings,linux 下在/mnt/hgfs/目录下,方便Windows 和Linux 之间互相拷贝文件(这个地方我一直没有搞定,从Windows 下向共享文件夹里拷贝文件可以,从linux 下总是报错:Error while copying to … there is not enough space on the destination,用root 也是一样。)或者设置一下网络后,用ServU在Windows下开一个ftp,开放读写权限(反正也就linux 一个用户),效果也是一样的。
VxWorks的bootrom到u-boot的移植心得
|