加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

u-boot-2014.10移植(3)识别NOR Flash

发布时间:2020-12-15 07:33:40 所属栏目:百科 来源:网络整理
导读:主要是将我们使用的nor flash 型号添加到jedec_table中 ??File : drivers/mtd/jedec_flash.c jz2440??? :MX29LV160DB?????? 2M? id= 0x2249,MX29LV160B 宏需要自己添加 #define MX29LV160B 0x2249 mini2440? :SST29LV1601 (AM29LV160DB)?? 35sectors?? i

主要是将我们使用的nor flash 型号添加到jedec_table中
??File : drivers/mtd/jedec_flash.c

jz2440??? :MX29LV160DB?????? 2M? id= 0x2249,MX29LV160B 宏需要自己添加

#define MX29LV160B      0x2249

mini2440? :SST29LV1601 (AM29LV160DB)?? 35sectors?? id = 0x2249

// for jz2440
                {
                    .mfr_id        = MT_MANUFACT,.dev_id        = MX29LV160B,.name        = "MXIC MX29LV160B",.uaddr        = {
                        [0] = MTD_UADDR_0x0AAA_0x0555,/* x8 */
                        [1] = MTD_UADDR_0x0555_0x02AA,/* x16 */
                    },.DevSize    = SIZE_2MiB,.CmdSet        = P_ID_AMD_STD,.NumEraseRegions= 4,.regions    = {
                    ERASEINFO(0x04000,1),ERASEINFO(0x02000,2),ERASEINFO(0x08000,ERASEINFO(0x10000,31)
                    }
                },// for mini2440
                {
                    .mfr_id        = AMD_MANUFACT,.dev_id        = AM29LV160DB,.name        = "AMD AM29LV160DB",/* x8 */
                        [1] = MTD_UADDR_0x0555_0x02AA   /* x16 */
                    },.regions    = {
                        ERASEINFO(0x04000,

在smdk2440.h里面把#define CONFIG_SYS_MAX_FLASH_SECT?(19)?? 改成35
??
??再次编译并烧写:

U-Boot 2014.10 (Nov 01 2018 - 11:32:28)

        CPUID: 32440001
        FCLK:      400 MHz
        HCLK:      100 MHz
        PCLK:       50 MHz
        DRAM:  64 MiB
        WARNING: Caches not enabled
        Flash: 2 MiB
        *** Warning - bad CRC,using default environment
        
        In:    serial
        Out:   serial
        Err:   serial
        Net:   CS8900-0
        Error: CS8900-0 address not set.
        
        Warning: Your board does not use generic board. Please read
        doc/README.generic-board and take action. Boards not
        upgraded by the late 2014 may break or be removed.

可知, nor flash已经被正确识别,可以在smdk2440.h里面定义DEBUG宏看出更详细信息。
??
??去掉最后那个Warning, 在common/main.c? 里面main_loop里面:

#ifndef CONFIG_SYS_GENERIC_BOARD
            puts("Warning: Your board does not use generic board. Please readn");
            puts("doc/README.generic-board and take action. Boards notn");
            puts("upgraded by the late 2014 may break or be removed.n");
        #endif

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读