uboot标记列表的位置计算关键在于两个宏:
#define tag_next(t) ((struct tag *)((u32 *)(t) + (t)->hdr.size)) /*(u32 *)(t) ,指针强制转换(u32*)四字节对其,*/
#define tag_size(type) ((sizeof(struct tag_header) + sizeof(struct type)) >> 2) /*四字节对其*/
uboot标记列表的位置计算关键在于两个宏:
#define tag_next(t) ((struct tag *)((u32 *)(t) + (t)->hdr.size)) /*(u32 *)(t) ,指针强制转换(u32*)四字节对其,*/
#define tag_size(type) ((sizeof(struct tag_header) + sizeof(struct type)) >> 2) /*四字节对其*/