﻿================================================================================
                                样例使用说明
================================================================================
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引导交换功能。程序先下载到sector0的起始地址，使能引导交换功能后(复位
后引导交换生效)，第二次程序将下载到sector1的起始地址。
此后可通过按键切换引导交换功能，复位后可实现程序从sector0或sector1启动。

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

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

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

================================================================================
使用步骤
================================================================================
1）打开本样例工程，编译下载，全速运行，可观察到蓝灯点亮（SWAP功能未开启）；
2）按下按键K1，使能引导交换功能；
3）再次编译下载，全速运行，可观察到红灯点亮（SWAP功能开启）；
4）按下K2(SWAP功能关闭)，可观察到蓝灯点亮。
5）重复步骤2）和步骤4），可观察到红灯蓝灯交替闪烁。

================================================================================
注意
================================================================================
1.OTP功能开启，sector0和sector1不会交换
2.在bus_hold时，进行编程和擦除请勿单步调试，单步调试有可能使芯片发生未知错误
================================================================================
