﻿================================================================================
                                样例使用说明
================================================================================
Date            Author      IAR       MDK       GCC
2025-09-18      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设置为正确的路径。注意，这些路径不
能包含非英文字符。

================================================================================
功能描述
================================================================================
本样例主要展示如何使用Flash数据CRC校验功能。

说明：
1）CRC模块计算扇区1~扇区6数据的CRC32值，存储于ICG4
2）系统复位
3）通过DBGC_FCRCCR1设置起始扇区
4）通过DBGC_FCRCCR0发起校验请求
5）系统复位释放
6）读取DBGC_FCRCCR0，确认CRC计算结束
7）读取DBGC_FCRCREF、DBGC_FCRCDOR、EFM_FCRCDOR、ICG4，寄存器值相等

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

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

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

================================================================================
使用步骤
================================================================================
1）打开工程、重新编译、下载程序
2）重新上下电
3）打开Window PowerShell或Git bash命令窗口
4）命令窗口输入命令进入pyocd调试状态
   pyocd cmd --connect halt --target hc32f431
5）按下K0不释放（即保持复位状态）
6）pyocd命令行输入命令
   a）设置DBGC_FCRCCR1，配置Flash CRC校验扇区：pyocd> write32 0xE0042034 0x00060001
   b）设置DBGC_FCRCCR0，发起Flash CRC计算请求：pyocd> write32 0xE0042030 0x00000001
7）释放K0
8）pyocd命令行输入命令：读取DBGC_FCRCCR0，等该寄存器Bit1置位，表示CRC计算结束
   读取DBGC_FCRCCR0：pyocd> read32 0xE0042030
9）pyocd命令行输入命令：读取DBGC_FCRCREF、DBGC_FCRCDOR、EFM_FCRCDOR、ICG4寄存器值相等
   a）读取DBGC_FCRCREF：pyocd> read32 0xE004203C
   b）读取DBGC_FCRCDOR：pyocd> read32 0xE0042038
   c）读取EFM_FCRCDOR： pyocd> read32 0x40010520
   d）读取ICG4：        pyocd> read32 0x00020010
10）如需退出pyocd调试状态，输入：pyocd> exit

================================================================================
注意
================================================================================

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