﻿================================================================================
                                样例使用说明
================================================================================
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 DBus保护功能。Read_TestData函数位于DBus保护区域外。不使能DBus功能
时，数据读取正常，使能保护后，读取数据会进入BusFault_Handle。

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

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

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

================================================================================
使用步骤
================================================================================
1）打开本样例工程，编译下载，全速运行；
2）按下K2，读取测试数据，蓝灯亮，数据读取正确；
3）按下K1，开启D-BUS保护，蓝灯灭；
4）按下K2，再次读取测试数据，触发BUS_Fault，红灯亮。
5）可重复步骤1）- 步骤4）

================================================================================
注意
================================================================================
1.在bus_hold时，进行编程和擦除时请勿单步调试（汇编），单步调试有可能使芯片发生未知错误
2.注意flash读操作发生在DBus保护区域外，去读DBus保护区域内的数据，会发生bus fault。通过
子函数读取，而子函数在DBus保护区域内的不会发生bus fault。
3. 发生BusFault后，若想再次测试，请重新烧写代码。除了IAR可以用扇区擦除外，其余两个IDE
请使用片擦。

================================================================================
