地址边界对齐,即使用 16bit 位宽访问 FLASH 时的地址必须是偶地址,使用 32bit 位宽时的地址必须是 4 的倍数地址。
正确地址对齐的代码示例:
8bit 读取:
tempdata = *( ( uint8_t * ) 0x0000 0001 ) ;
16bit 读取:
tempdata = *( ( uint16_t * ) 0x0000 0002 ) ;
32bit 读取:
tempdata = *( ( uint32_t * ) 0x0000 0004 ) ;
错误地址对齐的代码示例:
16bit 读取:
tempdata = *( ( uint16_t * ) 0x0000 0001 ) ;
32bit 读取:
tempdata = *( ( uint32_t * ) 0x0000 0003 ) ;
|