011_STM32程序移植之_内部flash开机次数管理
2024-08-16 来源:cnblogs
1. 测试环境:STM32C8T6
2. 测试接口:
3. 串口使用串口一,波特率9600
单片机引脚------------CH340引脚
VCC--------------------VCC
GND-------------------GND
PA9--------------------RXD
PA10-------------------TXD
1. 功能:
1. 使用STM32内部falsh进行开机次数记录
2. 通过串口输入密码进行权限的设置
3. 设置唯一硬件标识
2. 移植基础
1. 008_STM32之_keil编译内存大小解析
2. 009_STM32程序移植之_内部falsh
3. 010_STM32程序移植之_lib库建立
3. 前面三个是解析,有了基础之后进行移植
4. 四个文件

5. 第一个是普通串口打印文件
6. 第二和第四个是开机管理的
7. 第三个是密码初始化,就是先刷这个程序进去初始化变量
8. 开始移植
9. 确定串口程序能够使用,能够串口打印和接收数据
10. 开始移植
11. 调用函数检测

12. 程序需要修改的地方就这里

13. 程序编译成功之后先不下载这个程序
14. 我们下载密码初始化这里这个程序,进行变量的初始化

15. 下载之后会打印一些都系出来,这个里面有解析

16. 密码初始化完成之后,我们再下载刚才移植的程序

17. 会有数据打印出来,打印的数据是因为我们前面进行了密码初始化

18. 看现象,我们密码初始化玩之后能够就行开机20次

19. 当开机超过20次之后,程序就卡死在这里了,不能往下运行了

20. 我们初始密码是{123456},当前面四个正确后面两个不正确时候获得临时开机权限
例如:{123420} //获得临时开机权限20次
{123450} //获得临时开机权限20次

21. 在串口中断那里调用串口密码输入

22. 就算重新下载进去也不能进行程序的运行
23. 继续20点,输入密码{123410} 获得临时权限10次,

24. 复位看效果,当临时权限超过10次之后,再次失效

25. 输入正确密码之后可以获得永久权限

26. 临时权限只能输入一次,再次输入就没有用了
27. 效果现在就是这样了,下面开始制作lib库文件,也就是不能看见C文件的内容
- 意法半导体中国本地造STM32微控制器启动规模量产
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 基于机智云与STM32的智能拐杖安全监测系统在养老物联网中的应用
- 内置全栈安全,一站式满足CRA法案与IEC 62443标准——米尔STM32MP257核心板
- 如何用 STM32 FLASH 实现等效 100 万次擦写的 EEPROM 功能?
- 实战解析:通过一个小项目掌握STM32所有外设
- STM32学了两年半,却还是不会做项目
- 意法半导体推出最新STM32MP21微处理器,兼具高性价比、低功耗、高灵活性
- 基于STM32的矿井作业环境监测系统设计与实现
- 六大全新产品系列推出,MCX A微控制器家族迎来创新
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 模组复用与整机重测在SRRC、CCC、CTA/NAL认证中的实践操作指南
- 有源晶振与无源晶振的六大区别详解
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 蓝牙信道探测技术原理与开发套件实践
- Microchip 推出生产就绪型全栈边缘 AI 解决方案,赋能MCU和MPU实现 智能实时决策
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析




