STM32编程手册和参考手册是两种不同的文档,它们的主要区别如下:
1 内容不同:STM32编程手册主要介绍STM32系列微控制器的编程方法和技巧,包括硬件配置、寄存器设置、中断处理、时钟管理、电源管理等方面的内容;而STM32参考手册则是一份详细的技术手册,包含了STM32系列微控制器的所有技术规格和参数,包括芯片架构、时钟频率、电气特性、引脚定义、寄存器映射等方面的内容。
2 用途不同:STM32编程手册主要面向STM32系列微控制器的开发人员,提供了一些实用的编程技巧和方法,帮助开发人员更好地使用STM32系列微控制器;而STM32参考手册则主要面向系统设计人员、硬件工程师和软件工程师,提供了详细的技术规格和参数,帮助他们进行系统设计和开发。
3 格式不同:STM32编程手册通常是一份PDF文档或者在线文档,包含了大量的代码示例和图表;而STM32参考手册则通常是一份压缩包,包含了多个PDF文档和数据手册,需要根据需要进行查阅。
需要注意的是,STM32编程手册和参考手册都是STM32系列微控制器开发过程中非常重要的文档,开发人员需要结合两者进行学习和使用。
1仿真器:需要一个ST-Link之类支持swd的仿真器,根据线序说明接好仿真器与电路板之间的线。
2开发环境设置:我用的是IAR开发环境,在ST-Link选项里面,选择SWD方式。
3代码:代码编译无误后,点击Download and Debug按钮即可将程序下载到芯片中仿真。
虽然说是烧写到指定位置,但是rom开始的地方存储中断向量表所以是不能动的(也许可以,但是需要修改启动文件等等一系列内部构造,不建议初学者更改),所以下面的方法是占用ROM开始的极少部分空间和从rom中间开始往后的空间,ROM中间的部分为空。
以MDK为例子:
①修改编译器:(0x10000;为64K,即从64K的地方存储程序,size请根据自己的芯片rom减去0x10000)
②修改中断向量表: SCB->VTOR = FLASH_BASE | 0x10000; (在main函数最开始处,)
如果还是不行的话,请看下面文档55章的串口IAP,选择里面有用的部分即可。
>
三、利用id做软件加密
1,如果板子上有外部存储器,可以先编写一个程序,利用算法把id计算得到一些值存入外部存储器,然后再烧写真正的程序,真正的程序去校验外部存储器的数据是否合法即可
2,利用板子上按键组合,或是上电按住某些键,程序在这个时候利用算法把id计算得到一些值存入程序区(stm8为EE区),程序运行时去验证程序区数据是否正确
3,轩微编程器有软件加密的功能,编程器会读芯片id,根据算法直接改写缓冲区,达到软件加密的作用
4,读出的id通过一定算法,例如异或加上一个数,得到的数据存入flash(只运行一次,运行后标志位也存入flash),下次读到这个标志位,就不运行这个程序。
四、做软件加密时注意
1,不要在程序中直接出现id地址,例如STM32:1FFFF7E8 1FFFF7EC 1FFFF7F0 STM8: 0x4865~0x4870
2, 利用校验和或是crc对程序区进行校验,防止改程序
可以通过使用STM32的定时器模块来实现延时,这样在定时器中设置延时时间后会产生定时器中断,并且不影响其他程序的运行。通过在定时器中断函数里插入你想要的代码,就可以实现在设置的延时时间后执行相应的函数代码。
以上就是关于stm32编程手册和参考手册区别全部的内容,包括:stm32编程手册和参考手册区别、一个新的stm32芯片,怎么通过swd方式刷程序、stm32 怎么把程序烧在指定空间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)