测试 flash unique_id 时发现, 同一块板子分别使用两版 sdk 获取到的 id 完全不同
W80X_SDK_v1. 00. 10 使用如下代码
void UserMain (void *arg)
{
u8 unique_id[18];
tls_fls_read_unique_id (unique_id) ;
for (int i = 0; i 18; i++)
printf ("%02x ", unique_id[i]) ;
}
获得如下结果: 
WM IoT SDK2. X 使用如下代码 (来源[https: //doc. winnermicro. net/w800/zh_CN/latest/component_guides/driver/drv_flash. html#get-info] 获取 flash 信息部分例程) :
int printf_flash_info ()
{
wm_drv_flash_info_t info = { 0 };
int ret = WM_ERR_SUCCESS;
wm_device_t *flash_dev = NULL;
flash_dev = wm_dt_get_device_by_name ("iflash") ;
if (! flash_dev) {
printf ("get iflash device fail\n") ;
return -1;
}
if (flash_dev- state ! = WM_DEV_ST_INITED) {
flash_dev = wm_drv_flash_init ("iflash") ;
if (! flash_dev) {
printf ("init fail\n") ;
return -1;
}
}
ret = wm_drv_flash_get_device_info (flash_dev, &info) ;
if (ret == WM_ERR_SUCCESS) {
printf ("flash info as below\n") ;
printf ("flash_size: %dMB\n", info. flash_size / (1024 * 1024) ) ;
printf ("page_size: %d byte\n", info. page_size) ;
printf ("sector_size: %d byte\n", info. sector_size) ;
printf ("vendor_id: 0x%x\n", info. vendor_id) ;
printf ("unique_id: %x%x%x%x\n", info. unique_id[0], info. unique_id[1], info. unique_id[2], info. unique_id[3]) ;
} else {
printf ("get flash info fail\n") ;
}
return 0;
}
获得如下结果
如图所示, 完全不同.
两个版本的 sdk 读取的不是一个 id 吗?