This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS570LS0332:无法按照&&#39生成ECC代码;基于TMSx70的微控制器中的ECC处理- 1.5 部分表3'

Guru**** 657930 points
Other Parts Discussed in Thread: TMS570LS0332
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1089235/tms570ls0332-unable-to-generate-ecc-codes-as-per-ecc-handling-in-tmsx70-based-microcontrollers---section-1-5-table-3

部件号:TMS570LS0332

我已经了解了基于修改的哈明代码的ECC编码算法(基于TMSx70的微控制器中的ECC处理  -第1.5 节表1),并注意到以下指定的一些异常:

  • ECC位5的ADDR_MSW_LSW缺失。
  • ECC (5),ECC (0)的CPU奇偶校验丢失
  • ECC编码表中标记为'X'的位与ECC0 - 554EA_B4D1B4D1_4B2E4BE3,ECC2 - 2A9B5_A699A699_A699A699A699_A699A699 (例如:ECC(2)-位7应标记为'X'用于LSW和 A399_E3386D)的位7

 我在下面介绍了我对ECC算法(修改的哈密码)的想法:(下面介绍的算法是基于TMSx70的微控制器中的ECC处理-  第1.5 节-表1)

 

ECC(7)= D0异或D1异或D2异或D3异或D4异或D5异或D6异或D7异或D24异或D25异或D26异或D27异或D28异或D29异或D30异或D31异或D40异或D41异或D42异或D43异或D44异或异或D47异或异或异或异或异或异或异或异或D47异或异 D48异端D49异端D50异端D51异端D52异端D53异端D54异端D55

 

ECC(6)= D0异或D1异或D2异或D3异或D4异或D5异或D6异或D7异或D24异或D25异或D26异或D27异或D28异或D29异或D30异或D31异或D32异或D33异或D34异或D35异或D36异或异或D39异或异或异或异或异或异或异或异或异或异或异或异或异或异或异或异或异或异或异或异 D56 XOR D57 XOR D58 XOR D59 XOR D60 XOR D61 XOR D62 XOR D63

 

ECC(5)= D8异端D9异端D10异端D11异端D12异端D13异端D14异端D24异端D25异端D26异端D27异端D28异端D29异端D30异端D40异端D41异端D42异端D43异端D44异端D45异端D45异端D45异端D或 异端D46异端D或 异端D或 异端D57异端DOR异端D或 异端D或 异端D或 异端D或 异 D59异端D60异端D61异端D62异端D63

 

ECC(4)= D2异或D3异或D4异或D5异或D6异或D7异或D14异或D15异或D18异或D19异或D20异或D21异或D22异或D23异或D30异或D31异或D34异或D35异或D36异或D37异或D38异或D47异或异或异或异或 D50异端D51异端D52异端D53异端D54异端D55异端D62异端D63

 

ECC(3)= D0异端D1异端D5异端D6异端D7异端D11异端D12异端D13异端D16异端D17异端D21异端D22异端D23异端D27异端D28异端D29异端D32异端D33异端D37异端D38异端D38异端D39异端D或 异端D44异端D或 异端D44异端D或 异端D或 异端D44异端 D48异端D49异端D53异端D54异端D55异端D59异端D60异端D61

 

ECC(2)= D0异或D3异或D4异或D9异或D10异或D13异或D15异或D16异或D19异或D20异或D23异或D25异或D26异或D29异或D31异或D32异或D35异或D36异或D39异或D41异或D42异或异或异或异或异或异或异或异或异或异或异或异或异或异或异或异 D51异端D52异端D55异端D57异端D58异端D61异端D63

 

ECC(1)= D0异或D1异或D2异或D4异或D6异或D8异或D10异或D12异或D16异或D17异或D18异或D20异或D22异或D24异或D26异或D28异或D32异或D33异或D34异或D36异或D38异或D40异或异或异或异或异或D44异或异或异或异或 D48异端D49异端D50异端D52异端D54异端D56异端D58异端D60

 

ECC (0)= D1异或D2异或D8异或D17异或D18异或D24异或D38异或D44异或D47异或D54异或D60

                数据的1.1 = 954F6D2F2992A9B6

我将ECC (不考虑奇偶校验)计算为73。

如果ECC位0,1,4,5,6,7具有偶校验,位2,3具有奇偶校验,则实际计算的ECC为A6 (根据 基于TMSx70的微控制器中的ECC处理情况,非AA  -第1.5 节表3)。

 

                数据的1.2 = 8F8342C3 E7DE1D53

我将ECC (不考虑奇偶校验)计算为C8。

如果ECC位0,1,4,5,6,7具有偶校验,位2,3具有奇偶校验,则实际计算的ECC为1D。(根据 基于TMSx70的微控制器中的ECC处理,不是14  个-第1.5 节 表3)

 

                 数据的1.3 = 554B0A86 A8F07BDB

我 将ECC (不考虑奇偶校验)计算为98。

如果ECC位0,1,4,5,6,7具有偶校验,位2,3具有奇偶校验,则实际计算的ECC为4D (根据 基于TMSx70的微控制器中的ECC处理情况,不是41  -第1.5 节 表3)。

请您帮助我了解 如何    得出基于TMSx70的微控制器中的ECC处理结果-第1.5 节表3?

谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,我们的专家在4月7日之前不在办公室。 请期待回复延迟。

    此外,请参阅此常见问题解答: software-dl.ti.com/.../index.html

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    对于ECC位0/1/4/5/6/7,每个ECC位都是同一行中所有以x标记的地址位和数据位的XOR

    对于ECC位2和3, 每个ECC位为 1的XOR和行的XOR结果

    只需阅读您的ecc[0]公式,我认为它不正确:

    正确的选项应为:

    MSW-LSW: B4D1B4D1_4B2E4B2E

    ECC(0)<= data(1) XOR data(2) XOR data(3) XOR data(5) XOR data(8) XOR data(9) XOR data(11) XOR data(14) XOR data(14) XOR

               数据(17)异或数据(18)异或数据(19)异或数据(21)异或 数据(24)异或数据(25)异或数据(27)异或数据(30)异或数据(30)异或

               数据(32)异或数据(36)异或数据(38)异或数据(39)异或 数据(42)异或数据(44)异或数据(45)异或数据(47)异或

               数据(48) XOR数据(52) XOR数据(54) XOR数据(55) XOR 数据(58) XOR数据(58) XOR数据(60) XOR数据(61) XOR数据(63);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    注意到应用手册中的表1用于RM部件,而不是TMS570LSx部件。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,QJ Wang,感谢您的回复。

    如果数据(十六进制)'3.0005万03 000000000.3万00000 0000C2610万 0000C261 3C000000'0000 3C000000'写入0万写入闪存地址0x1万。  为该数据计算的ECC值是多少?

    对于TMS570LS0332微控制器,我认为地址0x1万的ECC数据将在地址0xF40.2万处生成。 是这样吗?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    地址:0x1万

    数据0x3c0万 (0x1万)和0x0000c261 (0x1.0004万)的ECC为0x76

    数据0x0万 (0x1.0008万)和0x300.0503万 (0x1000c)的ECC为0x0A

    从0xF40万 + 0x1000/8 = 0xF40.2万开始,ECC写入闪存

    0x76位于0xF40.2万处

    0x0A位于0xF40.2001万

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果0x300.0503万位于0x1万,0x3C0万位于0x1000C

    0x1万 --> 0x300.0503万

    0x1.0004万 --> 0x0万

    0x1.0008万 --> 0x0000C261

    0x1000C --> 0x3C0万

    ECC为0x92和0xE8