Other Parts Discussed in Thread: HALCOGEN, TMS570LC4357, TMS570LS3137
主题中讨论的其他器件:HALCOGEN、 TMS570LC4357、
你好。
IAM 正在处理 EEPROM 读取示例。我的配置如下
1.虚拟扇区的数目为2
2.块数为1
块大小为8字节
IAM 尝试仅存储一个整数值、即压力值到存储器中、但它同时存储压力和温度。、
请帮助您爱上它。
谢谢
注:示例和存储器布局位于下图中

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.
Other Parts Discussed in Thread: HALCOGEN, TMS570LC4357, TMS570LS3137
你好。
IAM 正在处理 EEPROM 读取示例。我的配置如下
1.虚拟扇区的数目为2
2.块数为1
块大小为8字节
IAM 尝试仅存储一个整数值、即压力值到存储器中、但它同时存储压力和温度。、
请帮助您爱上它。
谢谢
注:示例和存储器布局位于下图中

尊敬的先生:
当 IAM 将压力值再次写入块时,它将到达该行。如果块已满,我们是否需要编写一些函数来覆盖块中的数据。,或者它将自动覆盖数据?
TI_fee_WriteAsync (BlockNumber、&presse_value);
操作
{
TI_fee_MainFunction();
delay();
STATUS=TI_FEE _GetStatus (0);
}
while (状态!=空闲);
BlockNumber = 0x2;
TI_fee_WriteAsync (BlockNumber、&temp_value);
操作
{
TI_fee_MainFunction();
delay();
STATUS=TI_FEE _GetStatus (0);
}
while (状态!=空闲);
presse_value = 120;
BlockNumber = 0x1U;
TI_fee_WriteAsync (BlockNumber、&presse_value); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 此处是编译器结构
操作
{
TI_fee_MainFunction();
delay();
STATUS=TI_FEE _GetStatus (0);
}
while (状态!=空闲);
您好 Surya、
您的数据看起来令人困惑、我在此处附上我的代码、请仔细检查一下、并使用我的参考代码验证您的配置和代码。
e2e.ti.com/.../FEE_5F00_TEST_5F00_LC4357.zip
我还在上面的代码中添加了两个读取函数、除了剩余的所有内容都与您的代码相匹配、
使用上述代码、我将以下数据写入闪存组7

在上面的数据中、黄色表示虚拟扇区标头、蓝色表示压力传感器数据、如块1、红色表示温度传感器数据、如块2。
我怀疑您第一次错误地进行了配置是不是吗? 您是否在修改配置和代码后完全擦除闪存?
如果不是、请确保在对 HALCoGen 中的 FEE 块或扇区立即执行新配置后、首次擦除整个闪存。
这是擦除整个闪存的选项

注意:我在 TMS570LC4357上创建了项目、而不是 在 TMS570LS3137中创建了项目。
--
谢谢、此致、
Jagadish。
您好 Surya、
[引用 userid="551680" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1194544/tms570ls3137-regarding-eeprom-access/4505527 #4505527"]向其他方推压值,但为什么它不覆盖块1中的数据,为什么它存储在下面所示的其他位置?不要混淆、这只是预期行为。 它不是实际的 EEPROM、而是闪存仿真的 EEPROM。 这里的数据不会被覆盖、这里的最小擦除大小仅为扇区。 因此、在这里、当您向块写入一些新数据时、它将再次存储在新的存储器位置、而不是覆盖旧的存储器位置、 但是 、写入的数据 将被标记为无效数据、新数据将被标记为有效数据、因此每当您再次请求获取某个数据块时、FEE 驱动器将仅向您提供最新的有效数据。
请使用块编号验证读取函数、以清楚了解上述行为。
写入一定数量后、虚拟扇区将完全填充、此时所有之前的有效数据将被复制到新的虚拟扇区中、旧的虚拟扇区将标记为擦除操作。
我希望这澄清了你的疑问。
--
谢谢、此致、
Jagadish。