当我阅读一些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;`
答案 0 :(得分:1)
撕裂是一个领域特定术语。 nemequ已经提到了最常见的领域,与GPU硬件和编程有关。
在您的情况下,基于注释关键字NVM,IFX等。我怀疑撕裂是指NVM操作中断。参见例如TLE987xQX BF BootROM User Manual
它在段落中隐含定义:
在NVM操作中断的情况下降低数据丢失的风险 (撕毁事件)
在这里:
任何复位或电源中断的NVM编程或擦除操作 损失(破坏事件)。
另请参阅同一手册中的5.4.4.2 Tearing-safe Programming。
在TLE987xQX中,非线性映射扇区的映射机制 用作日志结构的文件系统。编程页面时 在这个领域,旧的价值观并没有被物理覆盖,而是 编程了同一扇区中的不同物理页面(备用页面)。 如果编程失败,则旧值仍存在于 部门和用户可以通过特定的输入参数来决定 用户编程例程(请参阅表5-17),是否旧 值或新的失败值应物理保留在 部门。当擦除或写入过程被电源中断时 向下,这是在MapRAM的重建过程中确定的 下次重置后的内容。在这种情况下,服务算法 例程自动启动并修复利用NVM的状态 旧数据或新数据(或两者)完全有效的事实
答案 1 :(得分:0)
我不确定在您所看到的情况下这是否有意义,但是我所熟悉的计算中“撕裂”的唯一用途是将来自不同帧的数据同时显示在屏幕上。
如果您需要更多数据,维基百科提供an article on it。
如果这不是您遇到的“撕扯”,也许您可以提供更多的背景信息?如果代码是开源的,那么链接它会很棒。