#define DEBUG_FLASH_BUFF_SIZE 128
void PrintFlashData(uint32_t Addr)
{
unsigned int nFlashBuff[DEBUG_FLASH_BUFF_SIZE];
unsigned int n;
for(n=0;n!=DEBUG_FLASH_BUFF_SIZE;n++)
{
nFlashBuff[n++]=*((uint16_t *)(Addr));
Addr+=2;
}
for(n=0;n!=DEBUG_FLASH_BUFF_SIZE;n++)
{
while(!(USART2->ISR&USART_ISR_TC));
USART2->TDR = ( (unsigned char *)&nFlashBuff[n] )[0];
while(!(USART2->ISR&USART_ISR_TC));
USART2->TDR = ( (unsigned char *)&nFlashBuff[n] )[1];
while(!(USART2->ISR&USART_ISR_TC));
}
}
mian函数就直接
PrintFlashData(0x1FFFF7E8);
拿了2张板.结果是:0x1FFFF7E8+0x20+0x04=1FFFF80C
看图
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
33.1 Unique device ID register (96 bits)
The unique device identifier is ideally suited:
for use as serial numbers (for example USB string serial numbers or other end applications)
for use as part of the security keys in order to increase the security of code in Flash
memory while using and combining this unique ID with software cryptographic
primitives and protocols before programming the internal Flash memory
to activate secure boot processes, etc.
The 96-bit unique device identifier provides a reference number which is unique for any device and in any context. These bits cannot be altered by the user.
Base address: 0x1FFF F7AC
这是F051数据手册上说的,F030上面更不找不到关于 UNIQUE ID 的相关信息,不过读取该地址还是可以读取到一些信息的,
我读取该地址的末尾字节都是0x20,难道F030是阉割的?只有88 bits?
一周热门 更多>