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.

[参考译文] TM4C129XNCZAD:从闪存读取的字节不能超过256字节

Guru**** 2391415 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1049460/tm4c129xnczad-not-able-to-read-more-than-256-byte-from-flash

器件型号:TM4C129XNCZAD
主题中讨论的其他器件:DK-TM4C129X

尊敬的先生:

我们将 TM4C129XCNZAD 接口与 Macronix 512MB 闪存配合使用。

我们能够读取和写入 小于256的数据、但读取的数据不能超过256。

我们将结构体写入闪存、并读取闪存以再次填充该结构体。

如果数据长度小于256 个函数正常工作、但读取0值的长度大于256。

e2e.ti.com/.../flash_5F00_isue.txt

为 闪存读取 和写入函数附加文件。

还显示了要写入闪存的结构。

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

    您使用的是哪款 Macronix 器件?

    MX25L51245G (PM2006修订版1.7)第9-31节的数据表显示、它具有256字节的页大小、因此处理大于256字节的内容需要将其分解为(a)<= 256字节的事务(b)、地址对齐为256字节。 项目(b)可能要求您读取/修改/写入给定页面。

    [编辑:您不需要 RMW。 我想到的是 NAND 闪存。]

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

    尊敬的先生:

    我们使用相同的器件型号 它随 TM4C129x 器件板一起提供。

    MX66L51235FZ2I-10G

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

     MX66L51235FZ2I-10G 数据表(PM1832修订版1.1)第9-26节似乎也是如此(甚至可能是相同的字)。

    如果您有选择、您可能会通过分配结构 A (闪存)地址(256的倍数)并将其作为两个连续页(然后是 N 页(N+1)写入、等待完成)来使您的生活变得更加轻松。

    如果你在编写一组这些结构,你可能会考虑四舍五入,这样每个结构就占用(全部)两个连续的页--这会浪费一些空间,这可能是一个大问题,也可能不是一个大问题。

    如果此芯片出现在 TI 提供的电路板上、也许(?) 他们提供了一些示例代码来执行其中的一些操作。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="47378" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1049460/tm4c129xnczad-not-able-to-read-more-than-256-byte-from-flash/3882860 #3882860">如果此芯片位于 TI 提供的电路板上、可能(?) 他们提供了一些示例代码来执行其中的一些操作。

    在 TivaWare_C_Series-2.2.0.295中可以看到:

    1. 驱动程序文件 TivaWare_C_Series-2.2.0.295/examples/boards/dk-tm4c129x/drivers/mx66l51235f.h 和  TivaWare_C_Series-2.2.0.295/examples/dk-tm4c129x/drivers/mx66l51235f.c
    2. TivaWare_C_Series-2.2.0.295/examples/boards/dk-tm4c129x/USB_dev_msc 示例、该示例使用了该驱动程序
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢。

    不过、它看起来具有相同的限制。 对于 MX66L51235FPageProgram:

    //! This function programs data into the MX66L51235F.  This function will not
    //! return until the data has be programmed.  The addresses to be programmed
    //! must not span a 256-byte boundary (in other words, ``\e ui32Addr & ~255''
    //! must be the same as ``(\e ui32Addr + \e ui32Count) & ~255'').