在某些程序中使用“撕裂”注释

时间:2019-01-17 03:09:40

标签: c

当我阅读一些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;`

2 个答案:

答案 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

如果这不是您遇到的“撕扯”,也许您可​​以提供更多的背景信息?如果代码是开源的,那么链接它会很棒。