TMS320F28377D: 调用read api读取flash内存储的数据会出错

Part Number: TMS320F28377D

我使用

Fapi_doMarginRead函数读取flash中含有“0”的数据时发现会出现这一个word中出现某个bit被异常置为1的情况
我是使用读取函数读取了100个字放到ram中,和memory browser窗口中监控到的数据做对比
我使用的代码是这样的
但是使用直接取地址的方式,一个字一个字的读取好像就没问题,希望能得到你们的帮助,非常感谢。
我已经上传了cmd文件
  • Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    MEMORY
    {
    PAGE 0 : /* Program Memory */
    /* Memory (RAM/FLASH) blocks can be moved to PAGE1 for data allocation */
    /* BEGIN is used for the "boot to Flash" bootloader mode */
    BEGIN : origin = 0x080000, length = 0x000002
    RAMM0 : origin = 0x000123, length = 0x0002DD
    RAMD0 : origin = 0x00B000, length = 0x000800
    RAMLS0 : origin = 0x008000, length = 0x002000
    /* RAMLS1 : origin = 0x008800, length = 0x000800*/
    /* RAMLS2 : origin = 0x009000, length = 0x000800 */
    /* RAMLS3 : origin = 0x009800, length = 0x000800 */
    RAMLS4 : origin = 0x00A000, length = 0x001000
    //RAMLS5 : origin = 0x00A800, length = 0x000800
    RAMGS14 : origin = 0x01A000, length = 0x001000 /* Only Available on F28379D, F28377D, F28375D devices. Remove line on other devices. */
    RAMGS15 : origin = 0x01B000, length = 0x000FF8 /* Only Available on F28379D, F28377D, F28375D devices. Remove line on other devices. */
    // RAMGS15_RSVD : origin = 0x01BFF8, length = 0x000008 /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */
    RESET : origin = 0x3FFFC0, length = 0x000002
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • 您好

    已经收到了您的案例,调查需要些时间,感谢您的耐心等待

  • 谢谢,期待您的回复

  • 我找到原因了,我在写入数据的时候使用的是Dataonly,使用AutoEcc就好了,但是不知道为什么会这样

  • 目前为您找到了这个文档,里面有提到dataonly和ECC。

    www.ti.com/.../spnu628a.pdf

x 出现错误。请重试或与管理员联系。