﻿================================================================================
                                样例使用说明
================================================================================
Date            Author      IAR       MDK       GCC
2025-10-30      CDT         7.70      5.36      gcc-arm-none-eabi-10.3-2021.10-win32

================================================================================
平台说明
================================================================================
GCC工程，由Eclipse IDE外挂GNU-ARM Toolchain，再结合pyOCD GDB Server实现工程的编译、
链接和调试。在用Eclipse导入工程后，请将xxxx_PyOCDDebug中pyocd-gdbserver和SVD文件
设置为正确的路径；请将xxxx_PyOCDDownload中pyocd设置为正确的路径。注意，这些路径不
能包含非英文字符。

================================================================================
功能描述
================================================================================
本样例为EFM一次性可编程字节（OTP）样例。样例中对OTP block22(0x03001400——0x0300140F)
进行编程，验证写入数据是否成功，然后锁定该区域，通过对该区域进行编程判断锁定是否成功。
若锁定成功，则第二次编程失败，蓝灯灭，红灯亮。

================================================================================
测试环境
================================================================================
测试用板:
---------------------
EV_F336_LQ64_Rev1.0

辅助工具:
---------------------
无

辅助软件:
---------------------
无

================================================================================
使用步骤
================================================================================
1）打开工程并重新编译；
2）启动IDE的下载和调试功能，全速运行；
3）蓝灯亮，表示OTP数据写入成功，红灯闪烁5次，则表示写入失败。
4）按下按键K1，蓝灯灭，红灯亮（表示锁定成功, 编程失败, OTPWERR标志位置位）。

================================================================================
注意
================================================================================
1.OTP一旦使能后，无法除能，请谨慎使用后。
2.OTP区域一旦锁定，则无法进行解锁，该区域将永久锁定。进行OTP锁定时务必对照用户
  手册正确填写锁存区域地址。
3.在bus_hold时，进行编程和擦除请勿单步调试，单步调试有可能使芯片发生未知错误
================================================================================
