制作RedBoot启动光盘以及下载调试eCos应用

原创 2013年12月03日 19:25:36

eCos是开源免版税的抢占式实时操作系统。其最大亮点是可配置,与其配套的图形化配置工具提供组件管理、选项配置、自动化单元测试等。eCos官网http://ecos.sourceware.org,eCos技术网http://www.52ecos.net,eCos技术网QQ群144940146。

http://blog.csdn.net/zoomdy/article/details/17099953
mingdu.zheng <at> gmail <dot> com

不是我对软盘有什么意见,反正都是通过虚拟机启动,无论是软盘还是光盘都只是个镜像文件。问题是我使用的VirtualBox虚拟机不支持RedBoot生成的软盘镜像。用二进制工具查看RedBoot生成的镜像文件,原来在第一扇区没有包含FAT文件系统要求的数据结构,本来也就没有使用FAT文件系统嘛,VirtualBox认识第一扇区包含FAT文件系统要求数据结构的软盘镜像,但不认识未包含该数据结构的软盘镜像。又不想修改RedBoot代码,无奈之下想出使用光盘的招数。

本想使用isolinux来制作启动光盘,但一时没找到编译好的isolinux二进制文件,后来发现不用isolinux就可以实现启动光盘制作。如果使用isolinux估计会有更多的麻烦,因为RedBoot的启动代码是通过读取软盘来加载自己的,因此如果使用isolinux最终可能是无法启动的。

编译RedBoot

目标机模板选择:i386 PC target(vmware)

组件包模板选择:redboot

导入配置:<repo>/hal/i386/pc/<version>/misc/redboot_FLOPPY.ecm

保存配置后编译。

制作启动光盘

cd <prefix>_install/bin
dd conv=sync if=redboot.bin of=redboot.flp bs=1440k
mkdir isofs
cp redboot.flp isofs/
mkisofs -o redboot.iso -b redboot.flp isofs/

(2)使用dd命令复制RedBoot镜像并填充至1.44M,刚好是3.5寸软盘的容量,必须是软盘容量大小,否则创建启动光盘失败。

(5)使用mkisofs命令创建启动光盘,光盘镜像文件名为redboot.iso,启动镜像为redboot.flp,使用默认启动方式,默认启动方式将模拟软盘的启动方式,将redboot.flp加载到内存中,然后将redboot.flp镜像作为模拟的软盘,这个工作是BIOS完成的。

使用VirtualBox启动RedBoot

创建虚拟机,选择光盘启动,创建IDE控制器,添加生成的redboot.iso作为光盘镜像。启动后截图如下。



在真实PC上启动

理论上可以在真实PC机上通过启动光盘启动RedBoot,但是在我的戴尔一体机上启动失败,ThinkPad笔记本启动失败,原因不明。

GDB连接RedBoot

RedBoot集成了GDB stub功能,因此可以通过GDB连接RedBoot,然后可以加载调试eCos应用。GDB和RedBoot的连接方式可以是串口也可以是网络。

串口连接

修改RedBoot虚拟机配置,启用串口COM1,端口模式选择主机管道,端口/文件位置填入\\.\pipe\vmwaredebug。点这里下载VMWare Serial Line Gateway,在Windows命令提示符下运行VMWareGateway.exe /T,确保VMWareGateway.exe在当前目录或PATH指定目录内,不能在Cygwin终端下运行该程序。启动RedBoot虚拟机。打开GDB,输入target remote localhost:567建立连接。接下来就可以使用GDB加载eCos应用到虚拟机内并进行调试。

串口连接存在的问题

使用串口连接,无论RedBoot配置波特率为9600还是115200,下载速率均为8KB,显然虚拟机对串口速度进行了限制,大概是为了真实地模拟实际串口操作,但是波特率修改成115200也不能提高下载速度,原因不明,可能虚拟机没有实现虚拟串口设备的波特率设置,8KB的连接速度是不能接受的。比真实硬件的速度还慢,使用虚拟机的目的是解决使用真实硬件速度慢以及不方便的矛盾。显然使用串口连接不能解决这个矛盾。

网络连接

修改RedBoot虚拟机配置,打开网络的高级选项,点击端口转发按钮,添加TCP端口转发,主机端口9000,子系统端口9000。启动RedBoot虚拟机。打开GDB,输入target remote localhost:9000。接下来就可以使用GDB加载eCos应用到虚拟机内并进行调试。

网络连接存在的问题

在我的环境下,网络连接的速度比串口速度还要慢,直接崩溃,下载要等很长时间,调试时有时候响应很快有时候要等好一会。原因不明。我的环境:Windows XP SP3,奔腾双核E5200,VirtualBox-4.2.6。谁知道原因或你的环境可以正常工作,麻烦告诉我,谢谢。

虚拟机替代方案――仿真目标机

仿真目标机(Synthetic Target)将eCos作为Linux下的一个进程来运行,没有硬件的麻烦,没有虚拟机的问题。这次尝试使用虚拟机的惨败使我更加看中仿真目标机。仿真目标机可以满足学习eCos的部分需求(与硬件有关的部分不能通过仿真目标机完成),更重要的是可以使用仿真目标机调试硬件无关组件,例如HTTP服务器,对加快组件开发和测试是非常有帮助的。

版权声明:本文为博主原创文章,转载请保持文章完整,保留作者信息。

在redboot中中加入以太网支持的通用方法

在redboot中中加入以太网支持的通用方法 早年写的笔记,压箱底了,翻出来晒晒 目          录 在redboot中加入以太网支持的通用方法... 1 1. 在redb...
  • pseraph
  • pseraph
  • 2013年08月23日 22:40
  • 1254

eCos学习之Redboot篇

首先声明,以下所用开发环境皆在ubuntu下,window用户请注意其中的差别。 1 开发环境的建立:  ubuntu下开发环境的建立是相当容易的事情。  首先下载安装所需的脚本,在ecos的官方网店...
  • wpdzyx2003
  • wpdzyx2003
  • 2008年06月29日 18:28
  • 2036

eCos 3.0中redboot的编译

最近项目需要用到eCos,由于硬件板还没有准备好,所以准备先把移植到虚拟机上跑起来。   eCos的官方文档很详细,地址如下:http://ecos.sourceware.org/docs-lat...
  • easonxiang
  • easonxiang
  • 2009年11月10日 15:29
  • 2237

eCos编译配置说明 - [编译配置]

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://redboot.blogbus.com/logs/19874250.html 前两篇实验讲了如何build一...
  • mrwangwang
  • mrwangwang
  • 2013年01月01日 14:11
  • 916

制作WIN7+XP+DOS+PE多系统启动光盘

本文详细介绍了怎样制作自定义的多系统启动光盘的流程,从零开始!达到完成系统盘制作的目的。...
  • aoshilang2249
  • aoshilang2249
  • 2014年07月15日 16:44
  • 2083

【ecos】base核心

基础框架 base
  • e121697312
  • e121697312
  • 2015年08月08日 22:06
  • 786

arm-eabi-gdb 与 redboot 配合调试 ecos application

redboot跑起来了,下了个hello world的ecos程序也跑起来了,我写了一个简单的ecos程序,用redboot和arm-eabi-gdb来调试它,按照下面的步骤,开始都ok. arm-e...
  • newkelt
  • newkelt
  • 2011年03月24日 17:54
  • 1711

ecos, redboot学习1

mypath是ecos的安装目录 mypath/ecos/package/ecos.db记录了现有的包(package)和目标板(target)描述.一个target包含若干的package,targ...
  • linuxjackaroo
  • linuxjackaroo
  • 2008年03月14日 09:45
  • 569

基于linux多线程调试分析的ecos多任务调试设计

本文分析linux的多线程调试的实现机制和代码框架,给出基于jtag调试方式的ecos多任务调试的代码框架和实现机制的设计。...
  • JS072110
  • JS072110
  • 2015年03月09日 16:20
  • 1007

制作自己的Linux系统与启动光盘(2)

制作支持 Legacy BIOS 启动光盘的步骤 2.1 step1 准备 isolinux.bin 和工作目录 在准备制作 ISO 的目录里添加一个子目录,比如 isolinux/ ,然后放入 ...
  • junht
  • junht
  • 2012年07月31日 16:00
  • 11905
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:制作RedBoot启动光盘以及下载调试eCos应用
举报原因:
原因补充:

(最多只允许输入30个字)