redboot移植说明.doc

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
redboot移植说明

ARM Winbond W90P710平台 的RedBoot移植 1.Redboot简介 3 2.开发环境搭建 3 2.1 安装cygwin 4 2.2 安装arm-elf工具链 4 2.3 添加环境变量 4 2.4 安装源码树目录和配置工具configtool 5 3.ecos redboot的可配置性 7 3.1 ecos的模块化设计 8 3.2 CDL语言 8 3.3 配置工具 8 3.4 配置实例:添加W90P710支持包 9 4.Redboot启动过程 13 5.Redboot的移植方案及实现 14 5.1 基本的redboot移植 15 5.2 添加网卡驱动 16 5.2.1 网卡驱动的原理 16 5.2.2添加网络驱动包 20 5.2.3 以太网驱动标准接口 22 5.2.4 IP地址配置 24 5.2.5 改变控制台信道至网口 25 5.3 添加FLASH驱动 28 5.3.1 Flash驱动原理 28 5.3.2添加FLASH驱动包 29 5.3.3 FLASH地址配置 31 6.Redboot的烧写 31 7.FAQ 32 7.1 配置问题 32 7.1.1 cygwin环境调用不了confitool 32 7.1.2 Ls,cd等unix命令cygwin报错为command not found 32 7.1.3 超级终端接收不了键盘字符 32 7.2 擦写flash需要注意点 34 7.2.1 .为什么擦不掉已经建立的img信息 34 7.2.2 Flash擦除时的位宽问题 34 7.2.3 关于在调试器内观察flash内容的有趣现象 35 7.3 arm可执行文件的反汇编 35 7.4参考资源 35 7.5 其他 35 1.Redboot简RedBoot既是一个bootloader , 也是一个ROM monitor,被设计用于嵌入式环境系统的调试和启动,可独立运行在目标平台上,包含了GDB stub. GDB stub 允许从应用程序调试的GDB宿主机连接目标平台。这种连接即可以通过串口来实现,也可以通过以太网口来实现。它有如下的几个特性: 启动脚本支持 管理和控制的命令行支持 通过串口或者以太网口的访问 GDB支持 Flash映象系统的支持 Xyzmodem协议支持 支持使用bootp或者静态IP地址配置的网络启动 Redboot以ecos中的硬件抽象层(HAL)作为它的基础,但是它并步依赖于ecos,只要将根据目标板的特性实现硬件抽象层,redboot就可以独立运行,作为一个ROM monitor/bootloader.它的代码结构如下图所示: 从图上可以看出,RedBoot建立在eCos的硬件抽象层和设备驱动程序的基础上。如图中虚线以下部分。在这个基础上,RedBoot集成了GDB STUB协议,网络通讯协议TCP/IP、文件传输协议xyzModem和下载协议http/tftp。以及一个简单的flash image管理系统。最终RedBoot向用户提供两种工作方式:命令行方式,GDB调试方式。在选择通信信道方面,RedBoot可支持多个串口作为终端,在启动时,RedBoot将从各个终端上侦测输入。当 第一次从一个终端如UART0上接受到输入以后则把这个通道作为当前的终端,忽略其他终端的任何输入。例如,在用超级终端通过串口线连接到开发板的UART0上,敲入字符后,RedBoot将在这个通道上接受用户输入,并不再接受其他通道如UART1上的输入。同样,如果用户用arm-elf-gdb连接到开发板的UART0,那么RedBoot将不再接受其他通道的输入。 目前ecos/RedBoot支持多种处理器架构和硬件平台,包括ARM、日立SH、MIPS、PowerPC、SPARC以及x86等。开发环redboot的第一步。首先,需要安装cygwin ,cygwin是运行在windows上的unix虚拟环境.由于开发编译redboot需要的工具集主要是GNUPro,而GNUPro中的工具主要是运行在unix兼容环境下,所以当用户在windows平台下进行ecos/redboot开发时,需要建立unix虚拟环境。 arm-elf工具链将高级语言编译成arm指令集的工具,由于W90P710采用的是ARM7TDMI内核。如果目标版是其它体系的芯片,那么就要下载其它的工具链,如mips-elf,frv-elf?等。 环境变量的添加使得在cygwin命令行中可以直接条用特定的工具,需要添加的环境变量有三个: Cygwin的环境变量,用于调用unix环境的基本命令,如cd,ls. Arm-elf工具链,用于编译支持arm体系的指令 Configtool工具的路径,用于在cygwin中直接调用它,以发挥ecos/redb

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档