⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 -

📁 redbootsmart.zip redboot系统在smart上的移植
💻
字号:
2006/09/08
第一次使用带网络的redboot时,默认BOOTP使能,如果您没有安装服务器,可以使用fconfig命令修改配置,将相应选项的true用退格键去掉,再输入false,即Use BOOTP for network configuration: false

配置硬件SMARTARM2200
----------------------------------------------------------------------------
NET_RST和NET_INT跳线全部连接上,使能8019复位和中断
JP10跳线按《实验教程2》33页图示配置为SST39VF160为BANK0,IS61LV25616为BANK1
----------------------------------------------------------------------------

完整版redboot分配给用户的RAM空间为0x8100A728-0x817ED000,即7DD000H(8245248)字节,约7.86MB。

2006/06/26

本文讨论了RedBoot的硬件配置,RedBoot程序烧写,在超级终端里运行RedBoot,在telnet里运行RedBoot,串口GDB连接,网口GDB连接,RedBoot自升级。

配置硬件EASYARM2200
----------------------------------------------------------------------------
JP4跳线全部连接上,使能8019复位和中断
JP6跳线按《实验教程1》22页图示配置为SST39VF160为BANK0,IS61LV25616为BANK1
----------------------------------------------------------------------------

配置AXD
----------------------------------------------------------------------------
启动AXD,从Options-->Configure Target选EasyJTAG,按Configure按钮,配置如下:
Processor:
    ARMcore = LPC2210
Flash 0 Address:
    Start Address = 0x80000000
    Memory Size   = 0x00200000
Halt Mode:
    Halt and reset
Aux. Option:
    Erase Flash when need
----------------------------------------------------------------------------

用JTAG下载bin文件
----------------------------------------------------------------------------
启动AXD,从File点击Load Memory From File,选择要下载的bin文件,
点一下不要双击,设置Address:0x80000000,按"打开"按钮,bin程序即被下载。
----------------------------------------------------------------------------

配置超级终端
----------------------------------------------------------------------------
115200波特率,8数据位,无校验,1停止位,无流控
----------------------------------------------------------------------------

运行RedBoot
----------------------------------------------------------------------------
按开发板reset键,出现RedBoot启动界面。
本RedBoot缺省设置本机IP为"192.168.0.6",默认Server IP为"192.168.0.98",用户可以用fconfig命令修改出厂设置。

输入"help"可以看帮助
输入"lo -b 0x81010000 -r -m xmodem",然后在超级终端选"传送",协议设置为Xmodem,选中文件,即可用串口下载bin文件。RedBoot支持ELF、S、bin三种格式文件的下载。
输入"lo -b 0x81010000 -r -h 192.168.0.98 y.bin",在PC上打开TFTP服务器,设置好TFTP ROOT目录,就可以用TFTP网络协议下载TFTP ROOT目录下的指定文件y.bin。TFTP服务器IP地址按实际值设置。
输入"go 0x81010000"执行刚才下载的y.bin程序
输入"fconfig -l"查看配置信息,输入"fconfig"配置系统,任何时候输入"."都将退出,输入"^"返回上一配置行。这里你可以配置IP地址等网络信息和启动脚本。
输入"fis list"查看FIS映像。
输入"fis -b 0x81010000 -l 500 -f 0x80100000"将0x81010000内存处开始的500字节内容写入0x80100000开始的flash中。
输入"du -b 0x81010000 -l 1000"显示XRAM中1000个字节的值。
输入"ping -h 192.168.0.98"检查网络连通情况
更多RedBoot的命令使用详见ECOS文档。
RedBoot支持历史记录,ctrl+"P"向前查找命令,ctrl+"N"向后查找命令,减少命令的重复输入。
----------------------------------------------------------------------------

Telnet连接
----------------------------------------------------------------------------
接好网线;
设置超级终端"telnet",连接时使用"TCP/IP(Winsock)",主机地址"192.168.0.6",
端口号"9000",属性配置-->设置-->ASCII码设置,钩选"以换行符作为发送行末尾"和"本地回显键入的字符"两项。
现在可以用telnet访问开发板了^_^
----------------------------------------------------------------------------

GDB调试
----------------------------------------------------------------------------
串口GDB
在cygwin命令行输入arm-elf-gdb a.out
(gdb) set remotebaud 115200
(gdb) target remote COM1
Remote debugging using COM1
0x80007704 in ?? ()
(gdb) load
(gdb) list
(gdb) c
可以通过串口0调试a.out程序,注意:因为串口0已经用于GDB调试目的,所以被调试程序不能使用串口0,否则会发生冲突。解决的方法有两个:一个是增加硬件,使调试和控制台使用不同的串口硬件通道;另一种方法是增加软件,在一个物理串口上提供两个逻辑串口通道。因为EASYARM2200只有一个监视用的串口,而且我的时间不够改软件的,所以CTRL+C功能不支持,因为CTRL+C要占用一个串口中断,和GDB或者被调试程序冲突了。
注意不要使用run运行程序,会显示不正常信息:
(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /t/a.out
Don't know how to run.  Try "help target".
n命令也不正常,正在查错,有朋友知道原因的,请不吝赐教!谢谢!
(gdb) n
Cannot find bounds of current function
----------------------------------------------------------------------------
网络GDB
在cygwin命令行输入arm-elf-gdb a.out
(gdb) target remote 192.168.0.6:9000
Remote debugging using 192.168.0.6:9000
0x80007704 in ?? ()
(gdb) load
Loading section .rom_vectors, size 0x40 lma 0x81010000
Loading section .text, size 0x14774 lma 0x81010040
Loading section .rodata, size 0x3c0 lma 0x810247b4
Loading section .data, size 0x6a4 lma 0x81024b74
Start address 0x81010040, load size 86552
Transfer rate: 62946 bits/sec, 298 bytes/write.
(gdb) list
(gdb) c
通过网口GDB调试a.out允许被调试程序使用串口0,因为不会冲突嘛!当你同时打开超级终端,就可以看到串口的输出信息。
----------------------------------------------------------------------------

RedBoot自升级
----------------------------------------------------------------------------
有了RedBoot以后就不需要JTAG烧写器了,BooterLoader自己可以写flash。
RedBoot支持自升级,先上电运行flash中的老程序,在加载RAM版本的RedBoot,再用RAM中运行的RedBoot加载新版本RedBoot到RAM中,再从RAM里写入flash中,再上电启动,新版本RedBoot升级完毕。
----------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -