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.

Fapi_issueProgrammingCommand() 的使用

Other Parts Discussed in Thread: UNIFLASH

hi there,

Fapi_issueProgrammingCommand() 使用Fapi_AutoEccGeneration模式,请问使用Fapi_AutoEccGeneration模式时候参数pu8EccBuffer和u8EccBufferSizeInBytes需要设置吗?

thanks

  • 您可以设置为0

    更多信息您可以参考

    www.ti.com/.../spnu501h.pdf
  • hi Susan,

    非常感谢迅速回复。

    我看过API Guide,但是没有解答我的问题,不知道是不是没看懂。
    您的意思是说使用Fapi_AutoEccGeneration模式,pu8EccBuffer和u8EccBufferSizeInBytes这两个参数可以设置为0,对吗?
    我使用的是RM44芯片。现在碰到的问题是,不使能flash ECC,使用boot代码flash可以更新,但是使能flash ecc后,更新程序有问题。我想检查更新过程中ECC是否正确产生并且写入flash,请问您有什么建议呢?


    谢谢!
  • hi Susan,

    昨天做了一个测试,发现擦除Flash时,相应的ECC区间没有被完全擦除,有一些字节是0x7F,地址是不连续,貌似也没有规律。

    请问你们有碰到过这个问题吗?我们是根据flash API v 2.01.01建议的流程来擦除flash,不同在于在调用Fapi_issueAsyncCommandWithAddress()之前,使用函数Fapi_issueAsyncCommand()来清除Flash状态机,请问注意操作会带来这种后果吗?或者可以提供例程吗?

    如果不使用CCS进行调试,有办法保存ECC的数据吗?我使用uniflash没有导出ECC数据。

    谢谢!
  • erase的话还是您建议文档的 Figure 2. Recommended Sector Erase Flow和 Figure 3. Recommended Bank Erase Flow的方式

    您现在使用的uniflash版本是什么?ECC自动生成是否是打开的?

    您在uniflash内可以使用memory选项来读出并导出芯片的memory情况
  • 那么不建议在操作中对flash state machine进行操作,对吗?

    我用的uniflash是V4.5.0.2056, 我可以通过read memory看到0xF0400000区间ECC的值,但是export出后来不能完成generate.

    首次烧写程序,ECC是通过uniflash自动生成的,后来更新程序是在bootloader程序内使用自动模式Fapi_AutoEccGeneration生成的,我使用的是RM44芯片。

    我现在碰到的问题是更新程序后ECC数据不对,导致ESM模块报flash ECC error, 因为这个过程无法debug,uniflash又无法导出ECC数据,所以不能定位ECC错在哪里?请问您有什么建议吗?

    非常感谢!

  • Hi Susan,

    我想请教一下关于ECC的地址,Flash代码产生ECC数据的地址是不是在0XF0400000 偏移flash地址除以8的位置,比如flash代码生成在0x60000地址,相应ECC地址应该在0xF040C000

    谢谢
  • Hi Susan,

    我想请教一下关于ECC的地址,Flash代码产生ECC数据的地址是不是在0XF0400000 偏移flash地址除以8的位置,比如flash代码生成在0x60000地址,相应ECC地址应该在0xF040C000

    谢谢