Thread 中讨论的其他器件:C2000WARE
工具与软件:
大家好、
我使用23个器件型号、并且我想在运行主应用程序代码时将一些参数值存储在另一个扇区的闪存中。 我将使用闪存 API 代码来执行此操作。 如果可以这样做,请建议我如何集成两个代码和我要注意什么预防措施.
谢谢。此致、
Devendra Kumar
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.
工具与软件:
大家好、
我使用23个器件型号、并且我想在运行主应用程序代码时将一些参数值存储在另一个扇区的闪存中。 我将使用闪存 API 代码来执行此操作。 如果可以这样做,请建议我如何集成两个代码和我要注意什么预防措施.
谢谢。此致、
Devendra Kumar
您好 Vamsi、
感谢您的答复。
我做了一个单独的项目说新的闪存 API 项目,可以轻松地首先擦除,然后在 bank0的扇区6写入一个新的值,我还选择了除扇区6在擦除设置 的闪存设置下 的项目属性的调试部分.
我的主代码位于扇区1、2和3。 我已经添加了新的闪存 API 项目到我的主代码与所有的配置,包括选项 和库也。
我在将闪存 API 函数复制到 RAM 后,在 while ()中调用它。
在这种情况下,我需要注意的其他事情,如计时器或任何其他中断或其他任何事情。
谢谢。此致、
Devendra
您好 Vamsi ,
我请您考虑我的 Querry。 请浏览以上文章。
1)我想补充的是,我已经把新的项目代码集成到我的主应用程序代码中,我已经观察到它正在影响我的 PI 控制环路代码,即运行在 timer0下。 应采取哪些措施来解决此问题?
2)当编程闪存扇区时,每个扇区有20k W/E 周期。 和中、我将使用扇区6的@0x86000和0x86001地址来更新两个参数。 是否可以只擦除一个特定的地址或者一组地址而不是擦除一个整个扇区?
有什么有效的方法只存储特定行业中很少的参数(每天更新10-20次)。
谢谢。此致、
Devendra
尊敬的 Devendra:
1) 1)您的 PI 控制环路是否从用作擦除/编程操作目标的闪存组中执行? 如果愿意、我建议您将控制循环代码移至 RAM (我猜是 timer0 ISR)。
2)您需要擦除整个扇区。 您不能擦除一个特定的地址。
关于将参数存储到特定扇区的方法: 请参阅下面的 EEPROM 指南:
有关 C2000 Gen3器件的 EEPROM 仿真驱动器的应用手册: https://www.ti.com/lit/pdf/sprade8
谢谢。此致、
Vamsi
尊敬的 Vamsi:
我已经从 RAM 执行了 ISR、它一直工作正常。 我想感谢您帮助我取得了出色的成果。
现在、继续在扇区6中存储一些参数。 这些参数(例如总能量,总小时数,总周期)将每天更改20次。 我已经学习了 EEPROM 仿真应用手册。 至少在使用闪存 API 以及 EEPROM 仿真应用手册中、我们只能擦除一个扇区。 我的主要关注点是、每个扇区不超过20k E/W 周期。
在本例中、
1)我使用的是闪存 API 还是 EEPROM 仿真,两个应用程序 API 中的擦除周期和写入周期分别有何区别?
2) 2)使用闪存 API 或 EEPROM 仿真只写入一个16位数据字、哪个 API 会使用20k E/W 周期中的更多写入周期? 一次写入整个扇区是否使用相同的写入周期而不是在扇区中写入一个字?
请帮助,我理解这些基本的疑问.
谢谢。此致、
Devendra