﻿================================================================================
                                样例使用说明
================================================================================
Date            Author      IAR       MDK       GCC
2023-09-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保护功能。DBUS_Protect_test函数位于DBus保护区域外。不使能DBus功能时，函数运行正常，
使能保护后，会进入BusFault_Handle。

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

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

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

================================================================================
使用步骤
================================================================================
1）打开本样例工程，编译下载，全速运行；
2）默认Dbus保护关闭，蓝灯亮起表示运行正常，没有发生BusFault；
3）按下Key1，程序将使能Dbus保护，红灯亮起，表示发生BusFault，
    也可以通过串口查看信息。串口设置115200波特率，8bit数据位，校验位None，
    停止位1，，log如下
                     DBus protect not enable!
                     Test finished!
                     DBus protect enable!
                     BusFault occur!

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

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