免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1082 | 回复: 0
打印 上一主题 下一主题

zzly的PowerPC+嵌入式liunx学习笔记 (四) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-01-19 17:39 |只看该作者 |倒序浏览

第四章            使用u-boot引导系统

一般的,储存设备我们都挂到LocalBus上,在/include/configs/MPC8360EMDS.h中可以修改各个储存设备的物理地址。
我的系统中NAND Flash地址空间是0xFE00,0000-0xFFFF,FFFF。0x4000,0000以下的低地址空间为DDR内存物理地址。
Flash空间的使用划分是
Start        End         Definition
0xfe000000   0xfe0fffff     U-Boot 1M
0xfe100000   0xfe8fffff     JFFS2 file system 8M
0xfe900000   0xfecfffff     Ramdisk file system 4M
0xfed00000   0xffcfffff     Reserved 16M
0xffd00000    0xffefffff     Linux kernel 2M
0xfff00000    0xffffffff     DTB 1M

1.1        用CodeWarrior烧写U-Boot
1)          自然不必多说,先插上仿真器。
2)          点击Tools->Flash Programmer
3)          选择初始化配置文件:MPC8360MDS_rev2_init.cfg. 路径是:PowerPC_EABI_Support\Initialization_Files\PQ2\
4)          擦除的地址是 0xfe000000 ~0xffffffff.
5)          选择LTIB生成的u-boot文件 u-boot.bin写入地址是0xfe000000~0xfe0fffff

如果出现初始化失败的提示,注意按硬件平台修改MPC8360MDS_rev2_init.cfg。如果出现读写出错,问题多半处在读写的地址是否正确。
1.2        从U-Boot里烧写内核、文件系统和dtb
首先现在在PC架设一个TFTP服务器,Windows下或者Linux下都可以。我们需要使用tftp通过网线将文件下载到开发板上去。
上电,从串口进入U-Boot的命令行。应该能看到如下的提示符:
=>

=>pri
此命令可查看现在U-Boot的配置
=>help
查看帮助

先配置服务器
=>setenv ipaddr 192.168.1.3
这是设置开发板的IP
=>setenv serverip 192.168.1.2
这是设置PC机也就是TFTP服务器的IP
=>saveenv
保存一下配置

以下烧写内核到Flash
=>tftp 200000 /tftproot/uImage
将内核映像通过TFTP下载到内存中去,200000是一个任意内存地址。
=>protect off all
关保护,否则不能写Flash
=>erase ffd00000 ffefffff
擦除Flash
=>cp.b 200000 ffd00000 $filesize
将内核映像从内存拷贝到Flash中去。
=>protect on all
关保护

这样内核映像的烧写就完成了,以此类推,还需要将文件系统和DTB用同样的方法下载到Flash中去。
1.3        配置U-Boot启动参数。
对于不同类型的文件系统,启动参数也不一样。
1)      Ramdisk文件系统
Ramdisk文件系统在启动后会将文件系统解压到内存中运行。所以它的运行速度较快,在内存容量比较大的时候推荐使用。但是这样的话,在其里面保存的文件也就启动后就没有了。所以我们一般还需要挂载一个小一点的JFFS2分文件系统来保存一下启动后仍需保留的文件。
启动参数配置为:
=>setenv bootargs root=/dev/ram console=ttyS0,115200

2)      JFFS2文件系统
JFFS2文件系统存在Flash中,运行速度有点慢,特别当文件系统越来越大以后哦更明显。
启动参数配置为:
=>setenv bootargs root=/dev/mtdblock1 rootfstype=jffs2 rw console=ttyS0,115200

3)      NFS文件系统
NFS文件系统通过网络启动,是调试时经常使用的文件系统。
启动参数配置为:
=>setenv bootargs root=/dev/nfs rw nfsroot=192.168.1.2:/tftproot/root/ ip=192.168.1.3:192.168.1.2:192.168.1.1:255.255.255.0::eth0:off  mac=00:16:12:19:06:30 console=ttyS0,115200

最后还要配置启动命令:
=>bootm ffd00000 fe900000 fff00000
第一个地址是内核地址,第二个是文件系统,第三个是DTB。
=>save
别忘了保存。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/86510/showart_1804238.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP