当我阅读一些C程序时,我发现了一些评论,比如包含撕裂信息数据的“撕裂事件”结构“撕裂分析”,这让我感到困惑,因为我没有英语作为第一语言来理解“撕裂”这个词的含义。那么如何理解它呢?
`typedef struct tagRmsTearingServiceInfo
{
UINT32 nvmLastPhysErrAddr; ///< NVM physical address of last defective sector
UINT8 nvmErrorCnt; ///< NVM error counter for Map RAM-Init
UINT8 nvmUnrecErrorCnt; ///< NVM unrecoverable error counter
UINT8 analysisData[10]; ///< 10 bytes for IFX internal use for tearing analysis
} RMS_TEARING_SERVICE_INFO;
/** Volatile FL Mailbox Area declarations */
typedef struct tagVolatileFlMailboxArea
{
UINT16 version;
UINT16 mailboxStatus;
UINT16 mailboxUpdateInfo;
UINT8 rfu_000[2];
UINT32 volatile interfaceActivationInfo;
PIFX_MAILBOX_PAGE2 ifxMailboxPage2Addr;
RMS_TEARING_SERVICE_INFO rmsTearingServiceInfo;
UINT8 rfu_010[76];
UINT32 flStartMode;
UINT8 secFLTMDownloadKey[16];
} VOLATILE_FL_MAILBOX_AREA;`发布于 2019-01-17 04:33:24
撕裂是一个特定领域的术语。而nemequ已经提到了最常见的领域,涉及GPU HW和编程。
在您的例子中,基于注释关键字NVM、IFX等,我怀疑撕裂是指中断的NVM操作。参见例如TLE987xQX BF BootROM用户手册
它在该段中得到了含蓄的定义:
减少NVM操作中断时数据丢失的风险(撕裂事件)
在这里:
NVM程序或擦除操作,被任何重置或功耗(撕裂事件)中断。
还请参阅同一手册中的5.4.4.2撕裂-安全规划。
在TLE987xQX中,非线性映射扇区的映射机制被用作日志结构的文件系统。当页面在该扇区中被编程时,旧值不会被物理覆盖,而是在同一扇区中编写不同的物理页(备用页)。如果编程失败,旧值仍然存在于扇区中,用户可以通过用户编程例程的特定输入参数(参见表5-17)来决定旧值还是新的失败值应该物理地保存在扇区中。当一个擦除或写入过程被电源关闭所中断时,在下一次重置后在MapRAM内容的重建过程中识别这一点。在这种情况下,服务算法例程会自动启动并修复NVM状态,利用旧的或新的数据(或两者都是)完全有效的事实。
发布于 2019-01-17 03:34:40
我不确定这在你看到的上下文中是否有意义,但是在我熟悉的计算中,“撕裂”的唯一用法是当来自不同帧的数据同时显示在屏幕上时。
如果你想要更多的数据,维基百科有一篇关于它的文章。
如果这不是你遇到的“撕裂”,也许你可以提供更多的上下文?如果代码是开源的,那么链接到它就很好了。
https://stackoverflow.com/questions/54228447
复制相似问题