mr99 发表于 2012-7-18 21:08:56

迷惑了,Nor Flash型号到底是哪种?

一、从Nor Flash启动,按两次q,进入命令行,

输入flinfo,打印出
EmbedSky> flinfo

Bank # 1: AMD: 1x Amd29LV800BB (8Mbit)
Size: 2 MB in 19 Sectors
Sector Start Addresses:
    00000000 (RO) 00004000 (RO) 00006000 (RO) 00008000 (RO) 00010000 (RO)
    00020000 (RO) 00030000 (RO) 00040000      00050000      00060000   
    00070000      00080000      00090000      000A0000      000B0000   
    000C0000      000D0000      000E0000      000F0000 (RO)

从这里是不是可以判定,我的板子的Nor Flash是 Amd29LV800BB 型号的?

二、但是,用H-Flasher,读取的Nor Flash的型号为:
EN29LV160AB
ID:0x2249001C

到底信哪个?


其实我的根本目的不在于确定哪种型号的Nor Flash,而是想将u-boot2009.8移植到tq2440板子上。
我在做u-boot的移植时,在include/configs/smdk2440.h里面,添加了
#define CONFIG_EON_29LV160AB        1      (感觉是这种型号的nor flash)
我想,这里都改了,是不是要对include/flash.h也进行更改,
因为看了里面,最多的是AMD什么什么的,没有EON的NOR flash的ID的定义

然后,如果这两个地方都改了,我感觉在board/samsung/smdk2440/flash.c,这个与nor flash直接相关的驱动文件也要改,
(我是这么感觉的),里面用有这么写
#if defined(CONFIG_AMD_LV400)
                        (AMD_MANUFACT & FLASH_VENDMASK) |
                        (AMD_ID_LV400B & FLASH_TYPEMASK);
#elif defined(CONFIG_AMD_LV800)
                        (AMD_MANUFACT & FLASH_VENDMASK) |
                        (AMD_ID_LV800B & FLASH_TYPEMASK);
#else


也是没有EON_29LV160AB相关的操作,所以,感觉需要手动添加,但不知道具体怎么添加。

从网上搜了大量帖子,说的都不一致,不知道信谁了,因为我的板子是天嵌的,所以感觉从bbs.embedsky.net,里找资料比较好,故搜到一个移植u-boot-2010.06的pdf,但里面都没有用EON_29LV160AB,直接是将CONFIG_AMD_LV800 的配置给改了,改成了
#ifdef CONFIG_AMD_LV800
#define PHYS_FLASH_SIZE    0x00200000 /* 2MB */
#define CONFIG_SYS_MAX_FLASH_SECT(35)/* max number of sectors on one chip */
#define CONFIG_ENV_ADDR    (CONFIG_SYS_FLASH_BASE + 0x0F0000) /


可是AMD_LV800与EON_29LV160AB 的 ID 根本不相同啊,(我是从H-Flasher里查看到的)
EON_29LV160AB 的ID是0x2249001C
AMD_LV800的ID是0x225B0001

好迷惑,求高手解答。

页: [1]
查看完整版本: 迷惑了,Nor Flash型号到底是哪种?