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.

[参考译文] TMS570LS0914:Uniflash 无法读取/写入地址0xC0000以外的闪存

Guru**** 2536040 points
Other Parts Discussed in Thread: UNIFLASH, TMS570LS0914

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1083676/tms570ls0914-uniflash-cannot-read-write-flash-memory-beyond-address-0xc0000

部件号:TMS570LS0914
《线程》中讨论的其他部件:UNIFLASH

大家好,

对于 Uniflash 和 TMS570LS0914所遇到的问题,我希望得到一些帮助。

当我们尝试刷新一个大小为0x10000字节的图像时,会出现 以下错误:

[ERROR] CortexR4:文件加载器:内存写入失败:地址0xc7e6f 未映射到有效的闪存库

该部件肯定支持生成错误的内存地址:

我们可以使用调试器向其写入数据,这是没问题的。 此外,我们自己的引导加载程序也可以读取并写入闪存的该部分。

我们还注意到,我们无法在 Uniflash 内存浏览器中读取地址0xC00000。

当我读到使用我们的引导加载程序时,闪存中填充了0xFF,我们使用最后两个字节来存储 CRC,因此我知道引导加载程序是正确的。

Uniflash 项目文件指向正确的 gel 文件,其中的闪存定义是正确的:

请有人帮助我们找出问题所在?

非常感谢,

亚历山大

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

    亚历山大您好,

    您使用的是哪种封装(PZ 或 PGE)?

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

    亚历山大您好,

    我找到了根本原因:用于清除/编程闪存的 CCS/uniflash 的 TMS570LS0914器件的闪存配置未正确定义。 更正了 xml 文件中的闪存配置后,我可以删除/编程扇区12/13。

    解决方法:

    C:\ti\ccsxxx\CCs\CCS_base_Hercules \flash\configs\TMS570LS0x14.xml

    C:\ti\uniflash_x.x.x\deskdb\content\TIC扩音器\win\CCS_bases\Hercules \flash\configs\TMS570LS0x14.xml

    更改了闪存库0和闪存库0的 ECC 的结束地址:

    第14行:                <ProgramFlash   StartAddress="0x0000" EndAddress="0x000Fffff" CorrectionStartAddress="0xF0400000" CorrectionEndAddress="0xF041ffff"/>

    第19行:                 StartAddress="0x0000" EndAddress="0x000Fffff"

    第20行:                  正确开始地址="0xF0400000"正确结束地址="0xF042000">

     

    在第56行中添加以下行

                           </sector>

                           扇区编号="12" type="Flash" StartAddress="0x000C0000" Length ="0x00020000 ">

                                <Correction type="FlashEcc" StartAddress="0xF0418000" Length ="0x00004000"/>

                           </sector>

                           扇区编号="13" type="Flash" StartAddress="0x000E0000" Length ="0x00020000 ">

                                <Correction type="FlashEcc" StartAddress="0xF041C000" Length ="0x00004000"/>

    我将在以后为 CCS 和 uniflash 附加更正后的 xml 文件。

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

    更正后的 xml 文件为:

    e2e.ti.com/.../8877.TMS570LS0x14.xml

    请将此文件保存到以下文件夹:

    C:\ti\ccsxxx\CCs\CCS_base_Hercules \flash\configs\TMS570LS0x14.xml

    C:\ti\uniflash_x.x.x\deskdb\content\TIC扩音器\win\CCS_bases\Hercules \flash\configs\TMS570LS0x14.xml

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

    您好,QJ Wang,

    这解决了我们的问题。

    非常感谢!

    此致,

    亚历山大