凌阳科技大学计划论坛

首页 » eCos技术讨论专区 » redboot技术讨论 » 有关RedBoot的一点知识
clinging - 2008-4-15 19:21:00
昨天在SPCE3200平台上调了RedBoot下载调试的程序,开始对RedBoot一点都不了解,:'( 自己搜了一些资料,希望对初学者有一定帮助,看后可对RedBoot有一个感性的认识。

RedBoot是一个专门为嵌入式系统定制的开发工具,最初由Redhat开发,是嵌入式操作系统eCos的一个最小版本,现在交由自由软件组织FSF管理,遵循GPL的发布协议。集Bootloader、调试、Flash烧写于一体。支持串口、网络下载,执行嵌入式应用程序。既可以用在产品的开发阶段(调试功能),也可以用在最终的产品上(Flash更新、网络启动)。
RedBoot支持下载和调试应用程序,开发板可以通过BOOTP/DHCP协议动态配置IP地址,支持跨网段访问。用户可以通过tftp协议下载应用程序image。或者通过串口用x-modem/y-modem下载。
Redboot支持用GDB(the GNU debugger)通过串口或者网卡调试嵌入式程序。可对gcc编译的程序进行源代码级的调试。相比于简易jtag调试器,可靠、高速(CPU的Cache打开后,通过网卡tftp下在能达到1M bytes,GDB下载的速度能达到2M bps)、稳定。
用户可通过串口或网卡,以命令行的形式管理Flash上的image,下载image到flash。动态配置RedBoot启动的各种参数、启动脚本。上电后Redboot可自动从flash或tftp服务器上下载应用程序执行。
有了RedBoot强大的引导和调试功能,用户不再需要采用昂贵得硬件调试器,即可方便、高效、可靠的调试、引导嵌入式程序,烧写flash。
clinging - 2008-4-15 20:24:00
RedBoot命令
1.RedBoot命令的基本格式:
RedBoot>command [- option1] [-option2 value] operand
command是RedBoot支持的命令;2个可选开关option1和option2 改变标准命令的行为;operand指定某个命令的更多资料。
例如:go [-w<timeout>] [entry]              -w<timeout是开始执行程序前,允许在控制台键入"CTRL-C"终止程序执行的等待时间长短。如果没有指定该参数,则立即开始执行程序。entry是开始程序执行的内存位置。
2、命令对大小写不敏感且可被所写为最短的独一无二的字符串。
例如:缺省执行RedBoot影像中的dump命令,可输入d、du、dum、dump.
3、当键入的命令不正确或使用无效命令时,RedBoot产生错误信息
例如:RedBoot>dump 0x12
** Error: no default/non-flag arguments supported
RedBoot>
消息告诉我们忘了参数值0X12的开关
4、与命令一同键入的数字可以是,也可以是十六进制。可选参数或句法开关是以[]结尾的,数值参数是以<>结尾的。
例如: baudrate [-b<rate>]  设置串口的波特率
lameck - 2008-4-15 20:58:00
顶....
leajian - 2008-4-17 10:44:00
楼主针对SPCE3200下使用Redboot进行调试来个操作说明呗  :-)
clinging - 2008-4-23 10:05:00
先说一下,S+core IDE用RedBoot调试的原理:
    RedBoot包含一组支持GDB的远程协议GDB Stub程序,通过GDB Stub可以与具有GDB的宿主机进行通信。不管使用串口连接还是网络连接的连接方式,在GDB明确指定进行脱连操作之前GDB都是可用的。
下面说一下调试的步骤:
1、 用“S+core IDE RedBoot Project”模板采用默认设置新建一个工程;
2、 编写程序;
3、 修改、编译(Rebuild All)程序直到没有任何错误;
4、 在S+core IDE中选择“RedBoot”调试模式;
5、 断开串口或网络终端的连接,按F8下载程序;
6、 使用单步、断点、全速运行的方法对程序进行调试
maomao2126 - 2008-5-6 12:24:00
貌似比较复杂啊:( :D
leajian - 2008-5-6 14:11:00
呵呵,用起来一点都不复杂~
 1 
查看完整版本: 有关RedBoot的一点知识