stm32的唯一ID編碼
● 用來作為序列號(hào)(例如USB字符序列號(hào)或者其他的終端應(yīng)用)
● 用來作為密碼,在編寫閃存時(shí),將此唯一標(biāo)識(shí)與軟件加解密算法結(jié)合使用,提高代碼在閃存存儲(chǔ)器內(nèi)的安全性。
● 用來激活帶安全機(jī)制的自舉過程
96位的產(chǎn)品唯一身份標(biāo)識(shí)所提供的參考號(hào)碼對(duì)任意一個(gè)STM32微控制器,在任何情況下都是唯一的。用戶在何種情況下,都不能修改這個(gè)身份標(biāo)識(shí)。
這個(gè)96位的產(chǎn)品唯一身份標(biāo)識(shí),按照用戶不同的用法,可以以字節(jié)(8位)為單位讀取,也可以以半字(16位)或者全字(32位)讀取。
基地址:0x1FFF F7E8
每個(gè)CPU 出廠的時(shí)候都
配置的一個(gè)ID,96 位的.這個(gè)唯一碼可以利用作軟件加密.......
staticu32 CpuID[3];
staticu32 Lock_Co
void GetLockCode(void)
{
//獲取CPU唯一ID
CpuID[0]=*(vu32*)(0x1ffff7e8);
CpuID[1]=*(vu32*)(0x1ffff7ec);
CpuID[2]=*(vu32*)(0x1ffff7f0);
//加密算法,很簡(jiǎn)單的加密算法
Lock_Co
}
然后再用上次所用的 FLASH_ProgramWord(LOCK_ADDR,Lock_Co
評(píng)論