天嵌 ARM开发社区

 找回密码
 注册
查看: 1880|回复: 4

为什么在搬运过程中没有坏块检查(很严肃的问题)?

[复制链接]
SuperZeil 发表于 2011-12-22 20:06:12 | 显示全部楼层 |阅读模式
这里开发板提供的代码,实现搬运从0x0搬运size = 0x100000大小的数据到sdram,这段C语言,它是按照地址依次连续的搬运代码到sdram的,一直都在想,如果存在坏块,没有经过坏块检查就搬运,不是存在程序坏掉的风险。今天在网上看到以前开发板附的启动代码中,这部分搬运代码是用汇编实现的,里面就有检查坏块的代码,为什么现在不用检查了啊?
我的猜想是:(1)在boot中有命令9:格式化Nand Flash,对nand flash的格式化处理,有对坏块进行标记。。在搬运代码的时候,s3c2440会自动避开坏块
(2)如果以上猜想是我多情了,那是哪部分我没有理解到,还是在搬运部分添加坏块检查更加合理~??

void RdNF2SDRAM( )
{
        U32 i;
        U32 start_addr = 0x0;
        unsigned char * to = (unsigned char *)0x30000000; //指针数组
        U32 size = 0x100000; //可以算出是8M的大小
-----------省略
                        for(i = (start_addr >> 11); size > 0; )
                        {
                                rLB_ReadPage(i, to);//调用该函数进行搬运
                        }
                        break;
        }
}               
static void rLB_ReadPage(U32 addr, unsigned char * to)
{
        for (i = 0; i < 2048; i++)
        {
                to[i] =  NF_RDDATA8();//搬运过程,没有坏块检查,对连续区域进行搬运
        }                                                                                       
}
以下是网上找的,汇编搬运(示意)
nand_boot_beg ;这一段代码完成从NAND读代码到RAM
361 mov r5, #NFCONF ;设置NAND FLASH的控制寄存器
369 bl ReadNandID ;接着读取NAND的ID号,结果保存在r5里
379 bl ReadNandStatus ;读取NAND状态,结果放在r1里(bl指令自动放到R1)
397 bl CheckBadBlk ;检查NAND的坏区
404 bl ReadNandPage ;读取该页的NAND数据到RAM
415 ldr pc, =copy_proc_beg ;copy nand flash 到ram
416 ;***************************************************************************
 楼主| SuperZeil 发表于 2011-12-22 20:10:07 | 显示全部楼层
我在别的板块发过相同的帖子,但是没有回应。
我刚看过友善之臂的代码,他在搬动过程中有相应的坏块检查过程。
由于u-boot不是开源的,所以我不知道天嵌是如何标识坏块的。请版主解答我上面的疑问。
如果是因为我裸奔代码过时的原因,请把带有坏块检测的可用的程序发我邮箱zheng_l.cn@qq.com
谢谢~~
embedsky_lhh 发表于 2011-12-23 08:56:00 | 显示全部楼层
uboot是开源的,在光盘里边的 “bootloader合集” 里边,坏块检测在uboot代码的drivers\nand\nand_base.c中的nand_block_bad函数中。
 楼主| SuperZeil 发表于 2011-12-23 21:39:40 | 显示全部楼层
embedsky_lhh 发表于 2011-12-23 08:56
uboot是开源的,在光盘里边的 “bootloader合集” 里边,坏块检测在uboot代码的drivers\nand\nand_base.c中 ...

裸奔代码,坏块检测部分,还真是没有啊??晕死,怎么这样呢,大三时买了TQ的板子,现在总算入了点门。谁一开始什么都懂啊,等懂了一点之后,才发现TQ的东西确实有缺陷~~算了,大家都辛苦~
qq371833846 发表于 2011-12-24 00:25:47 | 显示全部楼层
:):):)学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-10-5 08:25 , Processed in 1.024453 second(s), 17 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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