STM8L芯片启动时钟分频问题及发现
2021-02-22 来源:eefocus
1,在STM8L参考手册上,可以找到如下说明。
上面写着分频器的几种设置方法,其中写有“复位默认:0x03”即8分频。理论上说,启动时钟后的时钟应该是2MHz。可是实际在单片机上下载程序发现,启动时为16MHz。
2,首先我是怀疑自己的实验平台存在问题,于是改用仿真调试,再加上对分频器进行多种设置后,发现单片机是正常的,程序设计也没问题。
3,怀疑是参考手册文档的版本问题,可能我下载的文档是旧版本的。于是在ST官网下载新版型号完全对应的新手册,发现手册上的说明依然是复位后8分频。
4,怀疑可能是文档编写错误,于是在网上搜索“STM8L 分频 默认”等相关信息,看看别人是否遇见同样的问题,或是ST官方有没有对错误的通知。无果。
5,只能认定存在上不可知的问题,并因为芯片复位设置是有效的,所以不影响芯片正常的使用。只要记住上电复位后默认的是“不分频”即可。
6,后来经网友“小松鼠老师”的提示,发现在单片机引导程序(bootloader)中,不同版本的引导程序对分频器有对应的设置。引导程序是单片机内部自带的,用于单片机启动和串口下载的厂商内置的程序。在其说明手册中,可以找到如下图的说明。其中版本1.0和1.1中对分频器做了不分频的设置,在1.2版本中则改回了默认的8分频设置。
6,因此的假设只能是我正在测试的芯片版本是V1.0或V1.1的,才会导致这一问题。不过ST公司没有在芯片参考文档中标注这个问题,本身也是不细致的。如果其他用户没有关心到bootloader版本的问题,而是以芯片参考手册上的说明行事,将会导致他们与我相同的问题。
7,但是新的问题又出现了,如何了解自己手上的芯片的bootloader版本号呢?我需要进一步研究,并写成文档与大家分享。
8,这一事情的警示是:ST公司对同一系列的芯片有着各种类型的细分技术手册,而不是统一在一个手册中。所以在日后遇到问题时,需要在相关的所有手册上进行指定内容的搜索。
9,也请ST公司将文档整合,系统全面的说明书对于初学STM8的用户是有益的。