您的位置:首页 > 其它

STM32调用外设功能的流程笔记

2016-10-10 10:06 316 查看

STM32的flash读写操作,代替eeprom,调用的流程



Flash的结构体是按页来的, 不是按照bit为单位的, 特别是Nand Flash,其内部必须按照page读写, 按照block来擦除,具体由其内部构架决定。 芯片的片内Flash类似nor flash,其结构有所差别,类似nor flash,虽与nand flash有差别,但是也是有page这种构架的

必须是按页或块进行擦除。这是有flash的结构决定的,它是一种串行存储结构. FLASH的擦除要按照一块区域来擦除,也就是一个整体数据区域的擦除,不能像EEPROM FARM那样单个字节写。这个在编程函数上就能看出来

STM32的独立看门狗的调用流程



STM32的窗口看门狗的调用流程



STM32的窗口看门狗的优先级配置



STM32的窗口看门狗的配置



STM32的窗口看门狗的中断处理函数



STM32的窗口型看门狗的工作原理



窗口看门狗的工作原理

就是把喂狗的时间规定在一个区间内,比如窗口卡看门狗的触发时间是60-0规定在40-30范围中去喂狗是成功的,假如在60-50期间喂狗则会触发reset,或者在30-0期间喂狗也会触发reset。
所以相比独立看门狗规定的条件更加苛刻,对程序的运行状况更加严格。




STM32 的软件加密的一般方法有两种分别为:

1. ID加密

2. 把flash配置成为禁止读取的方式

ID一般都放到 用循环把ID都出来放到数组里

//利用遍历的方式把内存里的世界唯一的ID号读取出来放到底下把OXFF换掉。
//当知道ID号之后就把此循环删掉。
for(i=0; i<12; i++)
{
ID[i] = *(u8)(0X1FFFF7E8+i);
printf("%0.2X",ID[i]);
}

//判断ID是否正确“0XFF要换成正确的ID”
if(ID[0] == 0Xff && ID[1] == 0Xff && ID[2] == 0Xff && ID[3] == 0Xff
ID[4] == 0Xff && ID[5] == 0Xff && ID[6] == 0Xff && ID[7] == 0Xff
ID[8] == 0Xff && ID[9] == 0Xff && ID[10] == 0Xff && ID[11] == 0Xff)
{
printf("\r\n通过!");
}
else
{
printf("\r\n失败!");
}


读取STM32的ID



读取到ID号,用作判断是否是宇宙唯一的ID

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  软件加密