﻿================================================================================
                                样例使用说明
================================================================================
Date            Author      IAR       MDK       GCC
2024-09-13      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引导交换功能。程序先下载到flash0的起始地址，使能引导交换功能后，
下一次程序将下载到flash1的起始地址。关闭引导交换功能后，下一次程序将下载至flash0
的起始地址。如此可实现引导交换功能。

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

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

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

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

================================================================================
注意
================================================================================
1.OTP功能开启，flash0和flash1的前128K区域不会交换，复位MCU，LED_B和LED_R不会交替闪烁
2.在bus_hold时，进行编程和擦除请勿单步调试，单步调试有可能使芯片发生未知错误
================================================================================
