STM8S配置位 OptionByte

1.什么是STM8S 的配置字 OptionByte
2.Option Byt Byte 里面的位都表示什么
3.如何编程Option Byte


一 选项字节(OptionByte )

STM8S 的配置字类似于AVR 的Fuse 熔丝位。

用于配置端口的复用功能和读保护等操作。

不同于AVR 的熔丝位,STM8S 的时钟配置并不在Option Byte 中,不会出现写完STM8S 后芯片直接锁死的尴尬。

选项字节用于配置硬件特性和存储器保护状态,这些字节位于同一页的特定存储器阵列中。

选项字节可以在ICP/SWIM模式中或IAP模式中修改, 也就是可以通过STlink 写配置字,或者是通过程序写选项字

举例:
          STM8S 的有一个蜂鸣器控制器BEEP ,这BEEP 对应的端口是PD4.

          但是PD4有两个复用功能,它可以是 BEEP 蜂鸣器的输出, 也可以是Tim2 比较输出1 也就是Tim2_CC1

          用户只能在这两个功能中选择一个。那如何使PD4是BEEP 输出呢?

          答案是通过设置Option byte 选项字,将AFR7配置成1,使用PD4输出的是BEEP 的信号

          否则,PD4将输出的是Tim2_CC1的信号  -----------------  这个就是芯片出厂的默认值。

  • Option Byte 除了能够配置端口的复用功能外
  • 它还可以设置芯片的当选项字节中的ROP字节被编程为’0xAA’时,读保护就生效了。

       也就是说,防止别人拷贝你的程序的方法可以是编程ROP 字节以使能读保护,那么 对方无论如何都不能从STM8中读到你的Flash 数据

        当需要开启端口的第二功能时,需要考虑选项字节的编程,否则将不能实现程序所想要的功能。

二 选项字节详解

     以STM8S208R8为例,来讲一下,如何用OptionByte 。下图是从STVP里截图到的

共9个字节的配置字:

  • 1 读保护                                                    ROP字节被编程为’0xAA’时,读保护就生效了
  • 2 用户启动区域大小  ,UBC区域的特性      在UBC中的内容一直是写保护的-----适合做boot-loader
  • 3 端口复用选择                                         AFR[7:0]  --- 指示管脚有多个第二功能时, 使用哪个第二功能有效,见上面的例子
  • 4 低频时钟看门狗
  • 5 时钟设置
  • 6 时钟稳定时间
  • 7 Flash 等待时钟
  • 8 Bootloader 使能
  • 9 OPT0:ROP 读保护

猜你喜欢

转载自blog.csdn.net/twd_1991/article/details/82114957