﻿================================================================================
                                样例使用说明
================================================================================
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 DBus 保护功能。
按下测试用板上的 Key1 键后，位于 DBus 保护区域外的程序会尝试读取一个 DBus 保护区域内的
地址，从而触发 Bus Fault。

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

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

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

================================================================================
使用步骤
================================================================================
1）打开本样例工程，编译并下载程序到测试用板
2）对测试用板重新上电
3）确认 LED 蓝灯点亮，表示 DBus 保护功能已使能
4）按下 Key1
5）确认 LED 红灯点亮，表示已触发 Bus Fault

也可通过串口查看相关信息，串口设置波特率为 115200，8 位数据位，无校验位，1 位停止位
串口输出信息如下：
                DBus protection enabled!

                Now PC is outside the protected region, attempting to read a 
                protected address:
                - Bus fault occurred as expected
                - Read operation failed as expected

================================================================================
注意
================================================================================
1.在bus_hold时，进行编程和擦除时请勿单步调试（汇编），单步调试有可能使芯片发生未知错误
2.使用本样例后，如果需要使用 MDK 或 Eclipse 对 MCU 再次进行擦除或编程，请确保先在 IDE
中配置片擦除选项

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