Advertisement

经历了ioremap的一个尴尬问题

阅读量:

在对IGH协议栈进行调整的过程中,遇到了一个相关的宏定义

复制代码
    #define EC_WRITE_U16(DATA, VAL) \
    do { \
        if( (uint16_t)(DATA) % 2 ==0 ) \
        { \
                *((uint16_t *) (DATA)) = cpu_to_le16((uint16_t) (VAL)); \
        } \
        else { \
                *((uint8_t *)(DATA)) = (uint8_t)(((uint16_t)(VAL)) & 0xFF); \
                *(((uint8_t *)(DATA)) + 0x01) = (uint8_t)((((uint16_t)(VAL)) >> 0x08 ) &0xFF); \
    } while (0)
    
    
      
      
      
      
      
      
      
      
      
      
    

其中,#define中新增的两句话为本人自行添加,目的在于实现对奇地址字的操作。

在实际运行过程中,出现了以下错误

复制代码
    [  918.959

全部评论 (0)

还没有任何评论哟~