在XP下做linux嵌入式系统移植 AT91SAM9260

      前两天刚做好的linux2.6.33内核的配置,写点东西记录一下。

      因为我的PC物理机是XP系统,里面装了Ubuntu10.10的虚拟机,本想在虚拟机下面做移植,虚拟机很悲剧地ping不通主机,也ping不通目标板,所以只能在XP下面做。

 

补充:这个问题后来解决了,Linux虚拟机的连接方式一定要改为桥接

 

      首先要安装板子的驱动,硬件上,宿主机与目标板之间是用串口转USB连接,要是驱动不正确的话用超级终端是连不上的;软件连接上,我用得是putty,当然超级终端也可以。在移植过程中需要用到TFTP传送文件,所以要保证目标板和宿主机之间的网络通畅,宿主机的tftp软件我用的是,tftpd32 打开就行,没什么设置的,这是一个TFTP服务器,属于tftp服务端,提供tftp的下载,只要打开就可以自动监听69端口。内核的编译过程参考上一篇文章,关于U-BOOT的烧写工作可以参考这篇文章,http://blog.csdn.net/yangjun_0621/archive/2011/03/31/6292699.aspx,U-BOOT启动以后可以通过输入tftp命令和主机通信,下载内核,因此编译好的uImage和虚拟文件系统ramdisk是不可少的。有了这些我们就可以进行下一步的移植工作。

 

 

              

 

 

注意:RAM盘是通过使用软件将RAM模拟当做硬盘来使用的一种技术。相对于传统的硬盘文件访问来说,这种技术可以极大的提高在其上进行的文件访问的速度。但是RAM的易失性也意味着当关闭电源后的数据将会丢失。某些时候这不是问题,比如说对于一个加密文档的明文来说。但是在大多数情况下,传递到RAM盘上的数据都是其他在别处有永久性存贮文件的一个拷贝,当系统重启后可以重新建立。

 

1)下载linux到系统的SDRAM运行(仅做测试之用,断电或退出后就会消失)


1>运行Uboot,设置环境变量

Uboot>setenv bootargs root=/dev/ram rw initrd=0x20400000,6000000 ramdisk_size=15360
console=ttyS0,115200,mem=64M 启动系统环境变量
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 20400000 ramdisk 下载文件系统
Uboot>tftp 21400000 uImage 下载 linux 内核
Uboot>bootm 21400000 启动 linux
然后linux操作系统就开始运行。

2)烧写 Linux 到系统的 Flash 运行

1>设置运行Linux的环境变量

Uboot> setenv bootargs root=/dev/ram rw initrd=0x20400000,6000000 ramdisk_size=15360 console=ttyS0,115200,mem=64M 启动系统环境变量
Uboot>setenv image cp.b 10020000 21400000 b0000 拷贝内核到sdram
Uboot>setenv ramdisk cp.b 100d0000 20400000 226000 拷贝文件系统到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 20400000 ramdisk
Uboot>cp.b 20400000 100d0000 226000
Uboot>tftp 21400000 uImage
Uboot>cp.b 21400000 10020000 b0000
reset之linux操作系统就开始运行。

 

关于u-boot命令的解释,参考这篇文章http://hi.baidu.com/%C1%D6%D3%C6%BE%D3%CA%BF/blog/item/b4ef85102887671ab9127b01.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值