VxWorks Bootrom向u-boot迁移实践:性能与开源选择

4星 · 超过85%的资源 需积分: 21 37 下载量 144 浏览量 更新于2024-10-25 收藏 629KB PDF 举报
本文档是一篇关于将Wind River公司VxWorks系统中的引导程序bootrom移植到开源的u-boot平台的心得体会。VxWorks以其高性能而广受欢迎,但作为商业软件,其成本限制了在某些应用中的使用。作者的目标是将原有的bootrom、操作系统和用户程序迁移到免费的Linux环境,其中u-boot被选作bootrom的替代方案。 首先,文章介绍了u-boot的基本情况。u-boot,即通用启动加载器,是一个遵循GPL许可的开源项目,它提供了一种标准化的方式来加载和管理嵌入式系统的启动过程。它的核心功能是引导Linux内核进入内存,并在系统启动后为用户提供交互式控制台。 在移植过程中,作者的硬件基础是实验室自研的电路板,该板载有MPC8240处理器(PowerPC 603架构),启动地址与8位数据宽度的EEPROM相连,同时配备了不连续地址空间的Flash存储。这些硬件特性对u-boot的配置和移植有一定影响。 文章详述了迁移步骤: 1. 准备工作包括安装支持Linux开发的虚拟机(如VMware)以及下载和编译u-boot和所需的编译器,确保硬件环境的兼容性。 2. 软硬件结构分析着重于理解VxWorks和u-boot在存储设备上的协作。VxWorks可能使用特定的分区结构,而u-boot则需要了解如何处理不同类型的非连续Flash地址。 3. 从Flash读取到内存的u-boot启动方式是关键环节。u-boot需要正确配置来从Flash中读取并加载VxWorks的映像,同时需要处理地址映射问题。 4. 文章详细讲解了如何配置u-boot的启动代码(如`cpu/mpc824x/start.S`),确保它能够正确引导VxWorks,并介绍了控制台命令和启动方式的使用。 5. 最后的收尾工作包括将VxWorks的加载过程整合到u-boot中,并可能对u-boot进行必要的修改,使其完全脱离原来的bootrom,成为独立的启动机制。 值得注意的是,尽管标题提到VxWorks的bootrom移植,但文章主要关注的是bootrom部分的替换,而非整个VxWorks和用户应用程序的迁移。这部分内容对于正在寻求从封闭系统过渡到开源环境的工程师来说,提供了宝贵的经验分享。