查看: 25437|回复: 44

[已解决] i.mx28 NAND flash问题(已解决)

[复制链接]

该用户从未签到

12

主题

30

帖子

0

注册会员

Rank: 2

积分
123
最后登录
1970-1-1
发表于 2014-4-11 12:52:24 | 显示全部楼层 |阅读模式
我们的项目采用mx287平台,选用的NAND是MT29F64G08AJABA,这个芯片在freescale那里得到确认imx28是支持的。我们用的Linux版本是Linux-2.6.35.3

为了保证时序安全我修改了两个文件:linux/drivers/mtd/nand/nand_ids.clinux/drivers/mtd/nand/nand_device_info.c

nand_ids.c中,添加了

{"NAND 64G 3,3V 8-bit",    0x68, 0, 8192, 0, LP_OPTIONS}

nand_device_info.c中的__initdata结构中添加了部分代码,见附件

当启动时,屏幕出现下信息:

88888888

NAND device: Manufacturer ID: 0x2c, Chip ID: 0x68 (Micron NAND 64GiB 3,3V 8-bit)

44444444444444444

qqqqqqq

2 NAND chips detected

wwwwwwwwwwww

eeeeee

-----------------------------

NAND Flash Device Information

-----------------------------

Manufacturer      : Micron (0x2c)

Device Code       : 0x68

Cell Technology   : SLC

Chip Size         : 8 GiB

Pages per Block   : 128

Page Geometry     : 4096+224

ECC Strength      : 4 bits

ECC Size          : 512 B

Data Setup Time   : 50 ns

Data Hold Time    : 30 ns

Address Setup Time: 60 ns

GPMI Sample Delay : 20 ns

tREA              : 10 ns

tRLOH             : 10 ns

tRHOH             : 16 ns

Description       : MT29F64G08AJABA

-----------------

Physical Geometry

-----------------

Chip Count             : 2

Page Data Size in Bytes: 4096 (0x1000)

Page OOB Size in Bytes : 224

Block Size in Bytes    : 524288 (0x80000)

Block Size in Pages    : 128 (0x80)

Chip Size in Bytes     : 8589934592 (0x200000000)

Chip Size in Pages     : 2097152 (0x200000)

Chip Size in Blocks    : 16384 (0x4000)

Medium Size in Bytes   : 17179869184 (0x400000000)

gpmi-nfc gpmi-nfc.0: Unsupported page geometry: 4096:224

gpmi-nfc gpmi-nfc.0: Chip scan failed

llll

mxs-spi mxs-spi.0: Max possible speed 24000 = 24000000/2 kHz

mxs-spi mxs-spi.0: at 0x80014000 mapped to 0xF0014000, irq=84, bus 1, DMA ver_major 4

 

其中蓝色部分是检测到两个芯片不知道为什么?红色部分应该是有问题的打印信息。

 
我知道答案 目前已有43人回答
无标题.png
回复

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2014-4-11 13:46:58 | 显示全部楼层

RE:i.mx28 NAND flash问题

你好,楼主!
我会将你的问题转告给I.MX工程师,他稍后会回复你的。
回复 支持 反对

使用道具 举报

该用户从未签到

45

主题

2369

帖子

0

金牌会员

Rank: 6Rank: 6

积分
3275
最后登录
1970-1-1
发表于 2014-4-11 14:38:52 | 显示全部楼层

RE:i.mx28 NAND flash问题

gpmi-nfc gpmi-nfc.0: Unsupported page geometry: 4096:224
gpmi-nfc gpmi-nfc.0: Chip scan failed
这里你显示的错误信息,可能是由于在gpmi-nfc-hal-common.c中没有包含 224 oob 大小的原因。建议你先添加一下试试看:
switch (physical->page_data_size_in_bytes) {
case 2048:
    geometry->ecc_strength = 8;
    break;
case 4096:
    switch (physical->page_oob_size_in_bytes) {
    case 128:
        geometry->ecc_strength = 8;
        break;
    case 218:
    case 224:
        geometry->ecc_strength = 16;
        break;
    }
    break;
...
回复 支持 反对

使用道具 举报

该用户从未签到

45

主题

2369

帖子

0

金牌会员

Rank: 6Rank: 6

积分
3275
最后登录
1970-1-1
发表于 2014-4-11 14:40:00 | 显示全部楼层

RE:i.mx28 NAND flash问题

关于蓝色部分有两个NAND,是不是和你添加的内容有关呢,这个我也不是很清楚,建议你到goolgles上查找一下。
回复 支持 反对

使用道具 举报

该用户从未签到

4

主题

38

帖子

0

注册会员

Rank: 2

积分
58
最后登录
1970-1-1
发表于 2014-4-14 14:26:49 | 显示全部楼层

回复:i.mx28 NAND flash问题

 2 NAND chips detected
-----------------------------
NAND Flash Device Information
-----------------------------
Manufacturer      : Micron (0x2c)
Device Code       : 0x68
Cell Technology   : SLC
Chip Size         : 8 GiB
Pages per Block   : 128
Page Geometry     : 4096+224
ECC Strength      : 4 bits
ECC Size          : 512 B
Data Setup Time   : 15 ns
Data Hold Time    : 10 ns
Address Setup Time: 20 ns
GPMI Sample Delay : 6 ns
tREA              : 20 ns
tRLOH             : 5 ns
tRHOH             : 15 ns
Description       : MT29F64G08AJABA
-----------------
Physical Geometry
-----------------
Chip Count             : 2
Page Data Size in Bytes: 4096 (0x1000)
Page OOB Size in Bytes : 224
Block Size in Bytes    : 524288 (0x80000)
Block Size in Pages    : 128 (0x80)
Chip Size in Bytes     : 8589934592 (0x200000000)
Chip Size in Pages     : 2097152 (0x200000)
Chip Size in Blocks    : 16384 (0x4000)
Medium Size in Bytes   : 17179869184 (0x400000000)
------------
NFC Geometry
------------
ECC Algorithm          : BCH
ECC Strength           : 16
Page Size in Bytes     : 4320
Metadata Size in Bytes : 10
ECC Chunk Size in Bytes: 512
ECC Chunk Count        : 8
Payload Size in Bytes  : 4096
Auxiliary Size in Bytes: 20
Auxiliary Status Offset: 12
Block Mark Byte Offset : 3904
Block Mark Bit Offset  : 0
-----------------
Boot ROM Geometry
-----------------
Boot Area Count            : 1
Boot Area Size in Bytes    : 20971520 (0x1400000)
Stride Size in Pages       : 64
Search Area Stride Exponent: 2
Scanning device for bad blocks
Bad eraseblock 18414 at 0x00023f700000
Bad eraseblock 19574 at 0x000263b00000
Bad eraseblock 19886 at 0x00026d700000
Bad eraseblock 20331 at 0x00027b580000
Bad eraseblock 20732 at 0x000287e00000
Bad eraseblock 21440 at 0x00029e000000
Bad eraseblock 21877 at 0x0002aba80000
Bad eraseblock 22798 at 0x0002c8700000
Bad eraseblock 23209 at 0x0002d5480000
Bad eraseblock 23727 at 0x0002e5780000
Bad eraseblock 23908 at 0x0002eb200000
Bad eraseblock 26086 at 0x00032f300000
Bad eraseblock 26619 at 0x00033fd80000
Bad eraseblock 27813 at 0x000365280000
Bad eraseblock 29619 at 0x00039d980000
Bad eraseblock 29881 at 0x0003a5c80000
Bad eraseblock 30273 at 0x0003b2080000
Bad eraseblock 30353 at 0x0003b4880000
Bad eraseblock 30357 at 0x0003b4a80000
Bad eraseblock 30488 at 0x0003b8c00000
Bad eraseblock 30607 at 0x0003bc780000
Bad eraseblock 31058 at 0x0003ca900000
Bad eraseblock 31421 at 0x0003d5e80000
Bad eraseblock 31500 at 0x0003d8600000
Boot area protection is enabled.
Creating 2 MTD partitions on "gpmi-nfc-main":
0x000000000000-0x000001400000 : "gpmi-nfc-0-boot"
0x000001400000-0x000400000000 : "gpmi-nfc-general-use"
Creating 8 MTD partitions on "gpmi-nfc-general-use":
0x000000000000-0x000080000000 : "gpmi-nfc-ubi-0"
0x000080000000-0x000100000000 : "gpmi-nfc-ubi-1"
0x000100000000-0x000180000000 : "gpmi-nfc-ubi-2"
0x000180000000-0x000200000000 : "gpmi-nfc-ubi-3"
0x000200000000-0x000280000000 : "gpmi-nfc-ubi-4"
0x000280000000-0x000300000000 : "gpmi-nfc-ubi-5"
0x000300000000-0x000380000000 : "gpmi-nfc-ubi-6"
0x000380000000-0x0003fec00000 : "gpmi-nfc-ubi-7"
mxs-spi mxs-spi.0: Max possible speed 24000 = 24000000/2 kHz
 
上面为改过后的reboot log
然后执行
flash_eraseall /dev/mtd0
kobs-ng -init imx28_ivt_linux.sb
flash_eraseall /dev/mtd1
nandwrite /dev/mtd1 rootfs.jffs2
改成nand启动
一直出现
HTL0x8050100b
HTL0x8050100b
HTL0x8050100b
HTL0x8050100b
HTL0x8050100b
回复 支持 反对

使用道具 举报

该用户从未签到

45

主题

2369

帖子

0

金牌会员

Rank: 6Rank: 6

积分
3275
最后登录
1970-1-1
发表于 2014-4-14 15:46:31 | 显示全部楼层

回复:i.mx28 NAND flash问题

回复第 5 楼 于2014-04-14 14:26:49发表:
 2 NAND chips detected
-----------------------------
NAND Flash Device Information
-----------------------------
Manufacturer      : Micron (0x2c)
Device Code       : 0x68
Cell Technology   : SLC
Chip Size         : 8 GiB
Pages per Block   : 128
Page Geometry     : 4096+224
ECC Strength      : 4 bits
ECC Size          : 512 B
Data Setup Time   : 15 ns
Data Hold Time    : 10 ns
Address Setup Time: 20 ns
GPMI Sample Delay : 6 ns
tREA              : 20 ns
tRLOH             : 5 ns
tRHOH             : 15 ns
Description       : MT29F64G08AJABA
-----------------
Physical Geometry
-----------------
Chip Count             : 2
Page Data Size in Bytes: 4096 (0x1000)
Page OOB Size in Bytes : 224
Block Size in Bytes    : 524288 (0x80000)
Block Size in Pages    : 128 (0x80)
Chip Size in Bytes     : 8589934592 (0x200000000)
Chip Size in Pages     : 2097152 (0x200000)
Chip Size in Blocks    : 16384 (0x4000)
Medium Size in Bytes   : 17179869184 (0x400000000)
------------
NFC Geometry
------------
ECC Algorithm          : BCH
ECC Strength           : 16
Page Size in Bytes     : 4320
Metadata Size in Bytes : 10
ECC Chunk Size in Bytes: 512
ECC Chunk Count        : 8
Payload Size in Bytes  : 4096
Auxiliary Size in Bytes: 20
Auxiliary Status Offset: 12
Block Mark Byte Offset : 3904
Block Mark Bit Offset  : 0
-----------------
Boot ROM Geometry
-----------------
Boot Area Count            : 1
Boot Area Size in Bytes    : 20971520 (0x1400000)
Stride Size in Pages       : 64
Search Area Stride Exponent: 2
Scanning device for bad blocks
Bad eraseblock 18414 at 0x00023f700000
Bad eraseblock 19574 at 0x000263b00000
Bad eraseblock 19886 at 0x00026d700000
Bad eraseblock 20331 at 0x00027b580000
Bad eraseblock 20732 at 0x000287e00000
Bad eraseblock 21440 at 0x00029e000000
Bad eraseblock 21877 at 0x0002aba80000
Bad eraseblock 22798 at 0x0002c8700000
Bad eraseblock 23209 at 0x0002d5480000
Bad eraseblock 23727 at 0x0002e5780000
Bad eraseblock 23908 at 0x0002eb200000
Bad eraseblock 26086 at 0x00032f300000
Bad eraseblock 26619 at 0x00033fd80000
Bad eraseblock 27813 at 0x000365280000
Bad eraseblock 29619 at 0x00039d980000
Bad eraseblock 29881 at 0x0003a5c80000
Bad eraseblock 30273 at 0x0003b2080000
Bad eraseblock 30353 at 0x0003b4880000
Bad eraseblock 30357 at 0x0003b4a80000
Bad eraseblock 30488 at 0x0003b8c00000
Bad eraseblock 30607 at 0x0003bc780000
Bad eraseblock 31058 at 0x0003ca900000
Bad eraseblock 31421 at 0x0003d5e80000
Bad eraseblock 31500 at 0x0003d8600000
Boot area protection is enabled.
Creating 2 MTD partitions on "gpmi-nfc-main":
0x000000000000-0x000001400000 : "gpmi-nfc-0-boot"
0x000001400000-0x000400000000 : "gpmi-nfc-general-use"
Creating 8 MTD partitions on "gpmi-nfc-general-use":
0x000000000000-0x000080000000 : "gpmi-nfc-ubi-0"
0x000080000000-0x000100000000 : "gpmi-nfc-ubi-1"
0x000100000000-0x000180000000 : "gpmi-nfc-ubi-2"
0x000180000000-0x000200000000 : "gpmi-nfc-ubi-3"
0x000200000000-0x000280000000 : "gpmi-nfc-ubi-4"
0x000280000000-0x000300000000 : "gpmi-nfc-ubi-5"
0x000300000000-0x000380000000 : "gpmi-nfc-ubi-6"
0x000380000000-0x0003fec00000 : "gpmi-nfc-ubi-7"
mxs-spi mxs-spi.0: Max possible speed 24000 = 24000000/2 kHz
 
上面为改过后的reboot log
然后执行
flash_eraseall /dev/mtd0
kobs-ng -init imx28_ivt_linux.sb
flash_eraseall /dev/mtd1
nandwrite /dev/mtd1 rootfs.jffs2
改成nand启动
一直出现
HTL0x8050100b
HTL0x8050100b
HTL0x8050100b
HTL0x8050100b
HTL0x8050100b


 

你好,你可以参考一下帖子如下两个帖子中改的内容:
community.freescale.com/message/292647#292647
community.freescale.com/message/289582#289582
回复 支持 反对

使用道具 举报

该用户从未签到

4

主题

38

帖子

0

注册会员

Rank: 2

积分
58
最后登录
1970-1-1
发表于 2014-4-15 11:43:23 | 显示全部楼层

回复:i.mx28 NAND flash问题

 我看了这两个帖子,他们描述的内容都是linux内核启动后用ubi烧写文件系统。我的问题是我编译完了imx_ivt_linux.sb,如何烧到flash中,用kobs-ng工具行吗?
回复 支持 反对

使用道具 举报

该用户从未签到

45

主题

2369

帖子

0

金牌会员

Rank: 6Rank: 6

积分
3275
最后登录
1970-1-1
发表于 2014-4-15 14:18:33 | 显示全部楼层

回复:i.mx28 NAND flash问题

回复第 7 楼 于2014-04-15 11:43:23发表:
 我看了这两个帖子,他们描述的内容都是linux内核启动后用ubi烧写文件系统。我的问题是我编译完了imx_ivt_linux.sb,如何烧到flash中,用kobs-ng工具行吗?
 

请问你文件系统是什么类型?
回复 支持 反对

使用道具 举报

该用户从未签到

4

主题

38

帖子

0

注册会员

Rank: 2

积分
58
最后登录
1970-1-1
发表于 2014-4-15 14:50:20 | 显示全部楼层

回复:i.mx28 NAND flash问题

我原来想用jffs2,现在准备用ubi.
但是我想出现HTL0x8050100b应该还没到文件系统阶段。
回复 支持 反对

使用道具 举报

该用户从未签到

45

主题

2369

帖子

0

金牌会员

Rank: 6Rank: 6

积分
3275
最后登录
1970-1-1
发表于 2014-4-15 15:02:27 | 显示全部楼层

回复:i.mx28 NAND flash问题

回复第 9 楼 于2014-04-15 14:50:20发表:
我原来想用jffs2,现在准备用ubi.
但是我想出现HTL0x8050100b应该还没到文件系统阶段。 

使用ubi的话,你可以通过MFGTOOL工具来烧写,但是你需要修改ucl.xml文件。

将原来的
    Transfer rootfs
    Finish Flashing NAND
    Unmounting
替换为:
Sending and writting rootfs。这个你可以试一下。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-20 16:15 , Processed in 0.113569 second(s), 31 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表