Chinaunix首页 | 论坛 | 博客
  • 博客访问: 823177
  • 博文数量: 124
  • 博客积分: 1927
  • 博客等级: 上尉
  • 技术积分: 932
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-31 14:06
文章分类

全部博文(124)

文章存档

2018年(5)

2017年(2)

2016年(6)

2015年(4)

2014年(24)

2013年(7)

2012年(11)

2011年(13)

2010年(52)

我的朋友

分类: LINUX

2010-09-13 10:57:36

软硬件预备

(1)连接PC机的RS232串口线。(若有两个串口,则连接两根串口线--交叉线)

(2)运行超级终端程序,指定设置参数--COM口,bps8N1无流控。打开COM端口。

(3)指定PC机的IP地址子网掩码。

(4)运行PC机的TFTPServer.EXE程序.( ramdisk.gzuImage 文件拷贝到tftp的数据目录里)

(5)连接网线。


上电前检查

(1)查看电源、IO口、RS232RS485等插座的方向是否准确。

(2)查看电解电容的方向是否准确。

(3)查看集成电路的引脚间是否有焊渣。


一、片内启动
1、用Xmodem协议,发送loader.bin和uboot.bin文件,此时uboot.bin被发送到系统的SDRAM中, 发送完后uboot开始运行,如果这时断电或退出,则一切将从头开始,因为SDRAM内存储的数据会在断电或退出后消失。 IT网
2、擦除 Flash
在 对Flash进行烧写之前,需要将其擦除:
Uboot>protect off all 去掉Flash的扇区写保护
Uboot>erase all 擦除Flash的所有扇区
(注:
如果只是要擦除某块区域的Flash,比如 0x到0x之间的区域,则可用命令:
1)protect off 1006ffff
2)erase 1006ffff
如果是要对某块区域加上写保护,比如0x到0x之间的区域,则可用命令:
1)protect on 1006ffff
可用flinfo命令来查看那些区域是受保护的,那些区域不是受保护的。
)
3、烧写 boot.bin到Flash
在Uboot提示符下键入命令:
Uboot>loadb (下完之后会显现boot.bin的大小,然后在后面用命令cp.b烧写时将其后4位变成f,如果文件大小为5e33a,则在烧写时将其变为 5ffff) 将文件发送到系统的SDRAM中
然后在超级终端使用Kermit协议,发送文件boot.bin,发送完毕后,键入以下命令:
Uboot>cp.b 5ffff 将发送到SDRAM中的数据写入Flash
Uboot>protect on ffff 对写入Flash的内容进行写保护
(注:
此处还可以用tftp或bootp协议来 完成,不过要先设置变量,即设置本机和目标机的IP地址,还有目标机的Mac地址。
网络变量:
Uboot>setenv bootargs root=/dev/ram rw initrd=0x ramdisk_size=
console=ttyS0mem=32M 启动系统环境变量
linux

Uboot>setenv ethaddr 12:34:56:78:99:aa mac 地址
Uboot>setenv ipaddr [目标板 ip 地址] 目标板 ip 地址
Uboot>setenv serverip [主机 ip 地址] 主机 ip 地址
tftp协议:
1)tftp lb/boot.bin
2)cp.b 5ffff
3)protect on fff
bootp协议:
1)bootp lb/boot.bin
2)cp.b 5ffff
3)protect on fff
)
4、烧写 Uboot.gz 到 Flash
在Uboot提示符下键入命令:装入Uboot.gz
Uboot>loadb 将文件发送到系统的SDRAM中
然后在超级终端使用Kermit协议,发送文件 Uboot.gz,发送完毕后,键入以下命令:
Uboot>cp.b ffff 将发送到SDRAM中的数据写入Flash
Uboot>protect on 1001ffff 对写入Flash的内容进行写保护
(注:此处也可以用tftp或bootp协议)

二、片外启动
一)如何在uboot内 运行自己的程序
1、手动运行(只是将程序到SDRAM中运行,仅做测试之用,断电或退出后就会消失)
1)loadb 下载用户程序(*.bin)
2)go 程序就会运行
2、自动运行(将程序写入Flash,uboot启动之后程序自动运行)
1)设置环境 变量
Uboot>setenv usr_prg cp.b ffff(程序的大小)
Uboot>setenv run_prg go

Uboot>setenv bootcmd run usr_prg\;run run_prg
Uboot>saveenv
2)写入程序,即将其烧入Flash
protect off all
erase 103fffff
loadb 下载*.bin
cp.b ffff(用户程序的大小)
3)reset之后程序就霍栽动运行
二、烧写linux
1、 下载linux到系统的SDRAM运行(仅做测试之用,断电或退出后就会消失)
1)运行Uboot,设置环境变量
Uboot>setenv bootargs root=/dev/ram rw initrd=0x ramdisk_size=
console=ttyS0mem=32M 启动系统环境变量
Uboot>setenv ethaddr 12:34:56:78:99:aa mac 地址
Uboot>setenv ipaddr [目标板 ip 地址] 目标板 ip 地址
Uboot>setenv serverip [主机 ip 地址] 主机 ip 地址
2)下载linux内核,文件系统
打开 tftpserver应用程序,设置根目录路径,将内核、文件系统等拷贝到所设置的根目录下。
Uboot>tftp ramdisk.gz 下载文件系统
Uboot>tftp uImage 下载 linux 内核
Uboot>bootm 启动 linux
然后linux操作系统就开始运行。
2、 烧写 Linux 到系统的 Flash 运行
1)设置运行Linux的环境变量
Uboot> setenv bootargs root=/dev/ram rw initrd=0x ramdisk_size= console=ttyS0mem=32M 启动系统环境变量
linux操作系统

Uboot>setenv image cp.b b0000 拷贝内核到sdram
Uboot>setenv ramdisk cp.b 100d0000 拷贝文件系统到sdram
Uboot>setenv boot bootm 设置变量boot
Uboot>setenv bootcmd run ramdisk\;run image\;run boot 设置默认变量bootcmd
Uboot>setenv ethaddr 12:34:56:78:99:aa mac 地址
Uboot>setenv ipaddr 目标板 ip 地址 目标板 ip 地址,由你自己决定
Uboot>setenv serverip 主机ip地址 主机ip地址,就是你的PC的ip
Uboot>saveenv 保存环境变量
2)烧写Linux内核到Flash
Uboot>tftp ramdisk.gz
Uboot>cp.b 100d0000
Uboot>tftp uImage
Uboot>cp.b b0000
reset之linux操作系统就开始运行。
阅读(1826) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-09-13 15:07:56

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com