是啊!我用的是K9F2G08
点赞  2009-7-15 11:54
请问这个改什么地方啊?

  1. void Make_1bit_ECC_SB(int spareBuf_addr)
  2. {
  3.         int spareBuf_count=0;                               
  4.        
  5.         ECC_GenM(chk_parity_1bitECC_SB, srcPt, 0);
  6.                
  7.         for(spareBuf_count=0;spareBuf_count<4;spareBuf_count++)
  8.                 spareBuf_SB[spareBuf_addr + spareBuf_count] = chk_parity_1bitECC_SB[spareBuf_count];       
  9. }
点赞  2009-7-15 15:37
看你硬件怎么读ECC,怎么进行ECC,就把ECC按排在SPARE BUFF的什么地方!!!
点赞  2009-7-15 15:49
引用: 引用 22 楼 xqhrs232 的回复:
看你硬件怎么读ECC,怎么进行ECC,就把ECC按排在SPARE BUFF的什么地方!!!

谢谢,明白了

我自己编的SJF,通过JTAG无法读取CPU的ID号,这个是什么原因呢,难道是JTAG硬件问题?
6410手册上NFCONT寄存器描述的时候关于ECC是1BIT,4BIT,8BIT的选择后面是H/W 硬件设置,不过三星并没有提供硬件设置的方法,还有网上能找到三星6410的ECC算法吗?
点赞  2009-7-15 16:22
上面寄存器说错了是NFCONF寄存器第23:24位,ECCType,this bit indicates what kind of ECC should be used   H/W Set (CfgBootEcc)
点赞  2009-7-15 16:40
JTAG无法读取,是因为要修改为老的JTAG对位的定义。新的JTAG位定义不行。
硬件要进行ECC,那你烧软件进去就得有ECC。ECC的计算算法是固定的,他们的ECC—GEN( )函数是固定的,只是你要实现1/4还是几位ECC,还有你要在MAIN/SPARE BUFF的第几位存储你的ECC数据。NAND 控制器去你的程序到RAM,如果进行ECC校验,就把读到的数据计算出ECC,再跟NANDFLASH里面的MAIN/SPARE BUFF存储的ECC数据做比较,如果不一样就报ECC错误。这个就是整个的原理!!!
点赞  2009-7-15 16:41
引用: 引用 25 楼 xqhrs232 的回复:
JTAG无法读取,是因为要修改为老的JTAG对位的定义。新的JTAG位定义不行。
硬件要进行ECC,那你烧软件进去就得有ECC。ECC的计算算法是固定的,他们的ECC—GEN( )函数是固定的,只是你要实现1/4还是几位ECC,还有你要在MAIN/SPARE BUFF的第几位存储你的ECC数据。NAND 控制器去你的程序到RAM,如果进行ECC校验,就把读到的数据计算出ECC,再跟NANDFLASH里面的MAIN/SPARE BUFF存储的ECC数据做比较,如果不一样就报ECC错误。这个就…


非常感谢你对我的帮助,请问你那个项目也是用的IROM方式启动吗?用的多少位校验呢?
点赞  2009-7-15 17:22

28楼 东北虎 该用户已被删除

提示: 作者被禁止或删除 内容自动屏蔽
点赞  2009-7-15 17:23
我用的是从NAND启动
点赞  2009-7-15 18:03
你们怎么做SD启动卡?是不是有个什么IROM_Fusing_Tool.exe的工具?那里可以弄到这个工具?
点赞  2009-7-15 18:44
引用: 引用 29 楼 xqhrs232 的回复:
你们怎么做SD启动卡?是不是有个什么IROM_Fusing_Tool.exe的工具?那里可以弄到这个工具?

我们没做那个,只有个IROM启动,你说的这个工具好像也没有,明天去看看
那你硬件是在哪设置多少位校验的呢
点赞  2009-7-15 21:11
多看看DATASHEET对应的地方!!!IROM也许跟我的方式不一样!
点赞  2009-7-15 21:43
6410下的IROM(内部ROM)指的是个什么东西?这个是不是说6410里面内部集成一个像NAND FLASH那样的可以存储程序的存储芯片?看6410的DATASHEET没看到这个介绍啊,只看到了ONENAND/SROM!!!
点赞  2009-7-16 10:12
引用: 引用 32 楼 xqhrs232 的回复:
6410下的IROM(内部ROM)指的是个什么东西?这个是不是说6410里面内部集成一个像NAND FLASH那样的可以存储程序的存储芯片?看6410的DATASHEET没看到这个介绍啊,只看到了ONENAND/SROM!!!

可以这么说,它内部有一段固化程序,datasheet上有介绍,关于OM[4:0]和GPN[15:13]配置的那一页,大概是120多页,一张表。手册找遍了页没找到哪个地方可以硬件配置上电默认ECC配置
点赞  2009-7-16 11:02
硬件上说不定是默认的,但你烧进去的软件要对应起来就可以了。比如硬件在第8位做ECC,你写进去的软件就得把ECC存储在第8位。
点赞  2009-7-16 11:35
对于K9F1208我的是在第0个地方放ECC-----Make_1bit_ECC_SB(0);// 0 ~ 3
点赞  2009-7-16 11:42
修改为老的JTAG对位的定义。新的JTAG位定义不行


能不能给我贴份老的JTAG位定义,我手上的全部是新的,网上也没找到老的,谢谢
点赞  2009-7-16 15:31


  1. // old jtag connection
  2. #define TCK_H                0x01
  3. #define TDI_H                0x02              
  4. #define TMS_H                0x04

  5. // new jtag connection
  6. //#define TCK_H                0x04
  7. //#define TDI_H                0x08              
  8. //#define TMS_H                0x02


  9. //VGC OIS
  10. /*
  11. #define TCK_H                0x02
  12. #define TDI_H                0x01              
  13. #define TMS_H                0x04
  14. */


  15. #define TCK_L                0x00
  16. #define TDI_L                0x00              
  17. #define TMS_L                0x00



点赞  2009-7-16 15:56
LZ的问题搞定没?我现在也想试一下从IROM来启动SD卡,从SD卡来引导整个系统。
点赞  2009-7-17 11:53
你有没有6410的BSP,你仔细看一下就知道,写STEPLDR部分和写部分的写NAND FLASH的代码是不一样的。如果你有BSP直接改一下就要可以了。我现在就是用SD卡启动,然后读取SD卡中FAT文件系统的内容直接烧写的,很快。
点赞  2009-7-17 13:11
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复