linux移植

linux系统构建过程中,需要用到windows系统,linux系统,所以需要准备一台装有windows xp系统的台式机和一台装有linux系统的台式机。

一.u-boot的烧写

1.按接线说明连好板卡电源,用交叉串口线连接 开发板串口DBGU和PC的串口。

2.配置超级终端

打开超级终端,选择相应串口,配置如下:

1)波特率:115200

2)数据位:8

3)奇偶校验:无

4)停止位:1

5)数据流控制:无

3.检查硬件连接,确认无误后,打开板卡电源。这时在超级终端窗口中应该可以看到DBGU连续输出字符‘C’,如果没有,按一下板卡的复位键,就可以正常显示了。

4.发送loader.bin程序文件

1)选择菜单:“传送\发送文件”, 显示发送文件窗口。
2)单击“浏览”,选择文件loader.bin。
3)选择传送协议为Xmodem。
4)单击“发送”按钮。

此时可以看到发送窗口打开,并显示发送进程。发送完成后,loader程序自动运行,并继续打印字符‘C’,这表示loader程序又启动了一个新的Xmodem通讯,这时可以开始传送文件u-boot0.bin。

5.发送u-boot0.bin程序

按照4继续发送u-boot0.bin,发送完毕后出现以下文字:

U-Boot 1.1.4 (Nov  5 2007 - 13:39:45)          

 

U-Boot code: 21F00000 -> 21F19AF4  BSS: -> 21F36404                                                  

RAM Configuration:                 

Bank #0: 20000000 32 MB               

Flash:  8 MB           

In:    serial            

Out:   serial            

Err:   serial            

Hit any key to stop autoboot:  0

若有“Hit any key to stop autoboot”显示时,按任意键,禁止其从u-boot引导。按键之后就会出现提示符:

U-Boot>

6.烧写固化u-boot.bin程序

在提示符下,用命令loadb将u-boot.bin下载到sdram的地址0x20000000处:

Uboot> loadb 20000000

出现“## Ready for binary (kermit) download to 0x20000000 at 115200 bps...”时,按照下列顺序传送u-boot.bin文件:

1)选择菜单:“传送\发送文件”, 显示发送文件窗口。
2)单击“浏览”,选择文件u-boot.bin。
3)选择传送协议为 Kermit。
4)单击“发送”按钮。

发送成功完成后会显示所发送文件的大小和地址信息:

## Total Size      = 0x00019ca4 = 105636 Bytes

## Start Addr      = 0x20000000

U-Boot>

打开Flash的写保护:

U-Boot> protect off 10000000 1001ffff

擦除Flash的原有内容:

U-Boot> erase 10000000 1001ffff

将0x20000000处的内容拷贝到Flash的地址0x10000000处:

Uboot> cp.b 20000000 10000000 1ffff

7.设置环境变量:

U-Boot> setenv bootargs mem=32M console=ttyS0,115200 root=31:02 mtdparts=physmap-flash.0:384k(UBOOT),1920k(KERNEL),2816k(Cramfs),-(JFFS2)

U-Boot> saveenv

U-Boot> setenv bootcmd bootm 10060000

U-Boot> saveenv

 

8.查看引导程序是否正常工作

 然后按一下复位键AN1,如果正常,将会看到如下输出:

U-Boot 1.1.4 (Nov  5 2007 - 13:41:24)

 

U-Boot code: 21F00000 -> 21F19CA4  BSS: -> 21F36604

RAM Configuration:

Bank #0: 20000000 32 MB

Flash:  8 MB

In:    serial

Out:   serial

Err:   serial

Hit any key to stop autoboot:  0

U-Boot>

与第5步相同若有 “Hit any key to stop autoboot” 显示时,按任意键,禁止其从u-boot引导,这时我们就可以下载自己的应用程序或kernel到ARM里面运行了。

二.kernel和根文件系统的下载

由于内核和文件系统比较大,用串口下很慢,可以通过tftp下载。需要一台装有linux的批PC机作为tftp服务器,方法如下:

1tftp

1) 修改服务器IP:Ifconfig eth0 192.168.2.1

2)查看服务器tftp服务是否启动:

#netstat –a | grep tftp

若出现“udp            0 *:tftp                  *:*”,则说明tftp服务已启动,否则需执行按照3)设置tftp服务。

3)设置tftp服务:

A:建立tftp主工作目录 –〉#mkdir /tftpboot

B:修改配置文件 – 〉#vi /etc/xinetd.d/tftp

Service tftp

{

       disable = no

       socket_type = dgram

       protocol = udp

       wait = yes

       user = root

       server = /usr/sbin/in.tftpd

       server_args = -s /tftpboot

       per_source = 11

       cps = 100 2

       flags = IPv4

}

C:打开tftp服务-〉#chkconfig tftp on

D:重启tftp服务-〉# /etc/init.d/xinetd restart

E:按照2)检查tftp服务是否已经打开。

4)关闭防火墙

iptables –F

5)把内核文件uImage.21和文件系统rootnolog拷贝到/tftpboot下。

2.烧写内核和文件系统

连接开发板的串口和装有linux系统PC机串口,打开一个终端,然后执行minicom –s,

选择“Serial port setup”,按照如下进行配置 :

A:/dev/ttyS0

B:/var/lock

C:

D:

E:115200 8N1

F:No

G:No

配置好后按回车键,然后选择“Save setup as dfl”,按回车保存,即可打开minicom。 按复位键,复位 ,看到“Hit any key to stop autoboot”时,按任意键进入U-Boot,

连接5650 网口和PC机网口。

按照以下过程少些内核和根文件系统:

1)烧内核

Step 1:U-Boot> tftp 21000000 uImage.21

出现以下信息:

TFTP from server 192.168.2.1; our IP address is 192.168.2.100

Filename 'uImage.21'.

Load address: 0x21000000

Loading: #################################################################       #################################################################       #################################################################

#################################################################

#################

done

Bytes transferred = 1429696 (15d0c0 hex)

Step 2:U-Boot> erase 10060000 101bffff

出现以下信息:

. done

Erased 11 sectors

Step 3:U-Boot> cp.b 21000000 10060000 15d0c0

出现以下信息:

Copy to Flash... done

2)烧根文件系统

Step 1:U-Boot> tftp 21200000 rootnolog

出现以下信息:

TFTP from server 192.168.2.1; our IP address is 192.168.2.100

Filename 'rootnolog'.

Load address: 0x21200000

Loading: #################################################################

#################################################################     #################################################################       #################################################################

#################

done

Bytes transferred = 2228224 (220000 hex)

Step 2:U-Boot> erase 10240000 1047ffff

出现以下信息:

. done

Erased 18 sectors

Step 3:U-Boot> cp.b 21200000 10240000 220000

出现以下信息:

Copy to Flash... done

若出现“TFTP error : ‘File not found’(1)”或者“TFTP error: ‘Permission denied’(0)”,修改要下载的文件名即可解决问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值