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.
大家好、
在主循环中,运行 Example_Call Api() Fapi_Flash,当运行到 oReturnCheck = Fapi_setActiveFlashBank(proce2007)时,它会卡住,导致主循环不再运行。
程序中有一个10us 中断、我们发现、当10us 中断运行时间过长(7.7us)时、它会卡在 oReturnCheck = Fapi_setActiveFlashBank (Fapi_Flash 0)中、
当10us 的中断运行时间被减少(4.28us)时、此时间生效、oReturnCheck = Fapi_setActiveFlashBank (Fapi_Flash 0);不要卡住执行时间为118uS。
我们已尝试在后续帖子中进行过处理、但无法解决此问题。
[常见问题解答] TMS320F28003x、TMS320F28004x:闪存 API 使用通报/勘误表- C2000微控制器论坛- C2000 ︎ 微控制器- TI E2E 支持论坛
导致此问题的原因是什么? 有其他解决方案吗?
此致、
赞讷
尊敬的 Zane:
闪存 API 从何处执行? 您尝试擦除/编程哪个闪存存储体?
谢谢。此致、
瓦姆西
尊敬的 Zane:
您是否需要有关此方面的进一步支持? 或者我可以关闭此帖子吗?
谢谢。此致、
瓦姆西
我需要您的支持!
我的客户仍然有这个问题。 现在它们在 Fapi_setActiveFlashBank()之前禁用中断,并在 Fapi_setActiveFlashBank() 结束后重新启用中断,它可以工作。 您能给我一些意见吗?
为什么使用这个模型可以解决这个问题?
此致、
赞讷
尊敬的 Zane:
当针对同一闪存组进行闪存 API 调用时、ISR 可能是从该闪存组执行的?
谢谢。此致、
瓦姆西
尊敬的 Vamsi:
ISR 从闪存加载 、并在 RAMGS0GS1中运行。
调试发现在刷写和写入时,主循环不仅会卡在 Fapi_setActiveFlashBank()中,而且一些中断也会停止响应,但最高优先级的10us 中断和40us 中断仍在执行。
但在这种情况下,Fapi_setActiveFlashBank() 可以成功:
1. 屏蔽40us 中断
2. 将40us 中断扩展为60us 中断
3.在执行 Fapi_setActiveFlashBank()之前关闭40us 中断,然后重新启用
此致、
赞讷
尊敬的 Zane:
我可以查看并 在下周星期二与您联系。
谢谢。此致、
瓦姆西
尊敬的 Zane:
您能否共享链接器命令文件/映射文件?
谢谢。此致、
瓦姆西
尊敬的 Zane:
我之所以关闭这个职位、是因为在过去两周没有收到您的回复。 如果您有其他问题、请打开新帖子。
谢谢。此致、
瓦姆西