TI中文支持网
TI专业的中文技术问题咨询交流网站

Fapi_issueProgrammingCommand() 的使用

hi there,

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

thanks

Susan Yang:

您可以设置为0

更多信息您可以参考

www.ti.com/…/spnu501h.pdf

user5890695:

回复 Susan Yang:

hi Susan,

非常感谢迅速回复。

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

谢谢!

user5890695:

回复 Susan Yang:

hi Susan,

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

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

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

谢谢!

Susan Yang:

回复 user5890695:

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

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

您在uniflash内可以使用memory选项来读出并导出芯片的memory情况

user5890695:

回复 Susan Yang:

那么不建议在操作中对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错在哪里?请问您有什么建议吗?

非常感谢!

user5890695:

回复 Susan Yang:

Hi Susan,

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

谢谢

user5890695:

回复 Susan Yang:

Hi Susan,

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

谢谢

赞(0)
未经允许不得转载:TI中文支持网 » Fapi_issueProgrammingCommand() 的使用
分享到: 更多 (0)