天桥陨石分享 http://blog.sciencenet.cn/u/chrujun 让地球物理仪器飞起来

博文

AT91RM9200-Linux2.6.21移植过程中碰到的问题及解决方法(上)

已有 10995 次阅读 2010-6-5 14:45 |个人分类:地球物理及仪器|系统分类:科研笔记| Linux, 移植, AT91, AT91RM9200

AT91RM9200-Linux2.6.21移植过程中碰到的问题及解决方法

仇洁婷,陈儒军

(1)
在Linux内核启动时出现:bad machine ID。原因是uboot传给内核的Machine ID错误,可以在内核源代码中添加Machine ID,修改的方法如下:
在linux-2.6.21/arch/arm/mach-at91rm9200目录下的board-dk.c,将
MACHINE_START(AT91RM9200DK, "Atmel AT91RM9200-DK")
改为
MACHINE_START(AT91RM9200, "Atmel AT91RM9200-DK")

(2)
VFS: Cannot open root device "mtdblock/3" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

解决 :
主要原因是启动参数不正确,没有找到 /dev/mtdblock/3,启动参数要改为
root =/dev/mtdblock3
或者
root =31:3

(3)
No filesystem could mount root, tried: ext2 cramfs yaffs yaffs2
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,3)

解决:
显示结果表明,已经能够找到31:3这个节点,unknown-block(31,3),但是因为默认的文件类型是 ext2,识别不出 jffs2文件类型,(注:我的nor 挂载为 jffs2类型),因此需要在启动参数中加入jffs2文件类型:rootfstype=jffs2
Uboot> setenv bootargs root=/dev/mtdblock3 rootfstype=jffs2 rw console=ttyS0,115200 mem=32M

(4)
显示了两个NAND :Toshiba NAND和Samsung NAND,而实际上只有 Samsung NAND
NAND device: Manufacturer ID: 0x98, Chip ID: 0x39 (Toshiba NAND 8MiB 1,8V 8-bit)
NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit)

解决:
会出现 NAND device: Manufacturer ID: 0x98, Chip ID: 0x39 (Toshiba NAND 8MiB 1,8V 8-bit),原因是:在内核中选中了 mtd nand layer 模拟 nand flash 导致的
Device Drivers -->
Memory Technology Devices (MTD)-->
NAND Flash Device Drivers-->
< > Support for NAND Flash Simulator



https://blog.sciencenet.cn/blog-39626-332358.html

上一篇:AT91RM9200处理器LOADER和BOOT的下载和编译
下一篇:AT91RM9200-Linux2.6.21移植过程中碰到的问题及解决方法(下)
收藏 IP: .*| 热度|

2 申瑞杰 邓景华

发表评论 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-9-27 21:26

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部