免费注册 查看新帖 |

Chinaunix

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

[开发环境] 请教一下,在AT91rm9200上移植linux的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-09-16 15:39 |只看该作者 |倒序浏览
本帖最后由 fifodct 于 2010-09-24 14:46 编辑

我准备在KB9202开发板上(AT91rm9200) 移植linux,经过一番努力,已经用crosstool-0.43把交叉编译环境建立起来了,参照的是这篇文章 http://www.linuxidc.com/Linux/2010-07/27195.htm

我现在已经编译好了linux kernel,生成了image文件。 接下来,准备利用U-boot把它下载下去。

但根据我零碎收集的信息,搭建系统,应该还有在目标板上建立文件系统,ramdisk之类的步骤,这部分内容我找了半天,没找到详细或直接的资料,大家能帮忙提供一下相关的步骤参考资料吗?

论坛徽章:
0
2 [报告]
发表于 2010-09-23 16:14 |只看该作者
有气无力的自己顶一下~~~

论坛徽章:
0
3 [报告]
发表于 2010-09-25 10:19 |只看该作者
回复 1# fifodct


    我这有一部分不知道你要哪部分的我烤两章你看看有用么?我用的ATsam9263的板子,我们的可能不一样,但我按这资料做能成功
第13章        ARM u-boot烧写
(运行Windows下的tftp软件:tftpd32.exe,选择本机的IP作为服务器,并选择相应的默认路径;)
1、        安装SAM-BA v2.(X:\SINO9263\tools\Install AT91-ISP v1.10.exe);
2、        运行超级终端;或者是在Linux(这里有加载Linux0426)中打开终端,输入命令:minicom  (终端)

3、        去掉跳线JP8;
4、        上电,超级终端显示Romboot;(如果此时没有Romboot,要检查 是否连接,在它上面点左键)
5、        运行SAM-BA v2.6,选择usb/arm0和AT91SAM9263-EK,并点击connect;
6、        插上相应的跳线;
7、        初始化dataflash(CS0),执行excute;
8、        选择Erase all,执行Excute;(当光标闪烁时表明擦除完毕)
9、        选择“Send Boot file”, 执行Excute且选择dataflash的启动boot: dataflash_at91sam9263ek.bin(在一个名为”共享”的文件夹里);
10、        先从Linux中拷出u-boot,执行:
cp /arm/u-boot-1.1.6/u-boot.bin /mnt/hgfs/share/u-boot.bin  
11、        在internal address 处填写0x8400 在send file name中选择u-boot.bin(在Dataflash中运行的uboot),执行 send file .
12、        退出,重启板子,即可在0超级终端中看到U-boot信息。 此时点击Enter

下面就是执行第十五章的内容:
13、        开始输入第十四章中6中的命令(一条一条的输入),一直到7中的执行Linux内核下载命令:
tftp 22200000 uImage
14、        此时会出现 表示是烧录成功
15、        然后执行第十四章的9中的命令。

第14章        Windows下的Ramdisk Linux编译与烧写
1、        执行
cd /arm/linux-2.6.20
进入Linux目录,执行
make menuconfig
注意选中 devices driver--->block devices--->Initial RAM filesystem and …选项
执行
make uImage
2、        将uImge从linux中拷出来,执行:
cp /arm/linux-2.6.20/arch/arm/boot/uImage /mnt/hgfs/share/uImage
(如果是Linux下:cp /arm/linux-2.6.20/arch/arm/boot/uImage /tftpboot/uImage)
3、        运行Windows下的tftp软件:tftpd32.exe,选择本机的IP作为服务器,并选择相应的默认路径;
4、        将uImage拷贝到tftp默认目录下;
5、        重启板子,直到有提示符(过程中注意击一键回车);
6、        将板子与Internet相连,然后执行以下命令,设置一个与主机相同网段的IP:
//服务器的ip地址
setenv serverip 192.168.1.2
//开发板的ip
setenv ipaddr 192.168.1.3
setenv ethaddr 192.168.1.3
//网关地址
setenv gatewayip 192.168.1.1
//该语句告诉内核是CRAMFS启动方式
setenv bootargs mem=64M console=ttyS0 115200 root=/dev/ram0 rw initrd=0x21100000,0x1100000

//从nand 0开始的地址读取0x200000字节的内核内容到sdram的0x22200000
setenv nf_kernel nand read 22200000 0 200000
setenv nf_ramdisk nand read 21100000 300000 1100000
setenv boot bootm 22200000
setenv bootcmd run nf_kernel\;run nf_ramdisk\;run boot
saveenv
printenv
//------------------------命令----------------
setenv serverip 192.168.1.2
setenv ipaddr 192.168.1.3
setenv ethaddr 192.168.1.3
setenv gatewayip 192.168.1.1
setenv bootargs mem=64M console=ttyS0 115200 root=/dev/ram0 rw initrd=0x21100000,0x1100000
setenv nf_kernel nand read 22200000 0 200000
setenv nf_ramdisk nand read 21100000 300000 1100000
setenv boot bootm 22200000
setenv bootcmd run nf_kernel\;run nf_ramdisk\;run boot
saveenv
printenv

7、        执行Linux内核下载命令:
tftp 22200000 uImage
8、        执行文件系统下载命令:
tftp 21100000 newramdisk.gz
9、        可选择执行Linux启动命令,在SDRAM中运行Linux:
bootm 22200000
也可以选择执行以下命令,将文件和内核烧写到nand:
nand scrub
nand write 22200000 0 200000
nand write 21100000 300000 1100000
然后依次执行以下几条命令启动系统:
run nf_kernel
run nf_ramdisk
run boot
10、        Linux启动后,超级终端即相关于Linux的控制台,可执行任何命令。

tftp 22200000 uImage.el
tftp 21100000 newramdisk.gz
nand scrub
nand write 22200000 0 200000
nand write 21100000 300000 1100000
boot

论坛徽章:
0
4 [报告]
发表于 2010-09-26 15:09 |只看该作者
在内核指定不同的分区
然后按照分区的地址 烧写你的文件系统和内核
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP