这个测试是读开发板上的芯片的FLASH ID,我还以为是读外部扩展板的FLASH ID呢!
在Atmel Studio6.2 环境下,插入开发板子,然后在弹出的菜单中选择打开例程,ONIQUE_ID_EXAMPLE1
如下所示:
而初始化的参数如下:
/* Initialize Flash service */
ul_rc = flash_init(FLASH_ACCESS_MODE_128, 4);
if (ul_rc != FLASH_RC_OK) {
printf("-F- Initialization error %lu\n\r", (UL)ul_rc);
return 0;
}
FLASH_ACCESS_MODE_128在flash_efc.h中定义。
而flash_efc.h是在添加模块时加入的。
而以下是执行部分:
/* Read the unique ID */
puts("-I- Reading 128 bits Unique Identifier\r");
ul_rc = flash_read_unique_id(unique_id, 4);
if (ul_rc != FLASH_RC_OK) {
printf("-F- Read the Unique Identifier error %lu\n\r", (UL)ul_rc);
return 0;
}
printf("-I- ID: 0x%08lu, 0x%08lu, 0x%08lu, 0x%08lu\n\r",
(UL)unique_id[0], (UL)unique_id[1],
(UL)unique_id[2], (UL)unique_id[3]);
上边的函数都是在加入模块时自动加入的,也是在flash_efc.h中包含
最后的运行结果:
|