From bdc34dac30f57cb30e89651b3204e08fb20b52df Mon Sep 17 00:00:00 2001 From: yanmowudi Date: Mon, 13 Sep 2021 21:04:42 +0800 Subject: [PATCH] formatting --- bsp/swm320/JLinkLog.txt | 3853 ----------------- bsp/swm320/JLinkSettings.ini | 40 - bsp/swm320/applications/main.c | 8 +- bsp/swm320/drivers/drv_log.h | 2 +- bsp/swm320/drivers/drv_rtc.c | 4 +- .../CMSIS/CoreSupport/arm_common_tables.h | 8 +- .../CMSIS/CoreSupport/arm_const_structs.h | 8 +- .../libraries/CMSIS/CoreSupport/arm_math.h | 62 +- .../libraries/CMSIS/DeviceSupport/SWM320.h | 66 +- .../CMSIS/DeviceSupport/system_SWM320.c | 40 +- .../SWM320_StdPeriph_Driver/SWM320_adc.c | 262 +- .../SWM320_StdPeriph_Driver/SWM320_can.c | 324 +- .../SWM320_StdPeriph_Driver/SWM320_crc.c | 34 +- .../SWM320_StdPeriph_Driver/SWM320_crc.h | 16 +- .../SWM320_StdPeriph_Driver/SWM320_dma.c | 74 +- .../SWM320_StdPeriph_Driver/SWM320_exti.c | 84 +- .../SWM320_StdPeriph_Driver/SWM320_flash.c | 42 +- .../SWM320_StdPeriph_Driver/SWM320_gpio.c | 162 +- .../SWM320_StdPeriph_Driver/SWM320_i2c.c | 88 +- .../SWM320_StdPeriph_Driver/SWM320_lcd.c | 68 +- .../SWM320_StdPeriph_Driver/SWM320_norflash.c | 74 +- .../SWM320_StdPeriph_Driver/SWM320_port.c | 32 +- .../SWM320_StdPeriph_Driver/SWM320_pwm.c | 190 +- .../SWM320_StdPeriph_Driver/SWM320_rtc.c | 248 +- .../SWM320_StdPeriph_Driver/SWM320_sdio.c | 114 +- .../SWM320_StdPeriph_Driver/SWM320_sdram.c | 36 +- .../SWM320_StdPeriph_Driver/SWM320_spi.c | 350 +- .../SWM320_StdPeriph_Driver/SWM320_sram.c | 24 +- .../SWM320_StdPeriph_Driver/SWM320_timr.c | 136 +- .../SWM320_StdPeriph_Driver/SWM320_uart.c | 336 +- .../SWM320_StdPeriph_Driver/SWM320_wdt.c | 80 +- 31 files changed, 1486 insertions(+), 5379 deletions(-) delete mode 100644 bsp/swm320/JLinkLog.txt delete mode 100644 bsp/swm320/JLinkSettings.ini diff --git a/bsp/swm320/JLinkLog.txt b/bsp/swm320/JLinkLog.txt deleted file mode 100644 index 5e3cda2d70..0000000000 --- a/bsp/swm320/JLinkLog.txt +++ /dev/null @@ -1,3853 +0,0 @@ -T2F54 000:021.957 SEGGER J-Link V7.22b Log File -T2F54 000:022.144 DLL Compiled: Jun 17 2021 17:22:49 -T2F54 000:022.150 Logging started @ 2021-09-13 08:02 -T2F54 000:022.156 - 22.159ms -T2F54 000:022.170 JLINK_SetWarnOutHandler(...) -T2F54 000:022.178 - 0.010ms -T2F54 000:022.186 JLINK_OpenEx(...) -T2F54 000:026.399 Firmware: J-Link EDU Mini V1 compiled Jun 24 2021 14:29:39 -T2F54 000:026.816 Firmware: J-Link EDU Mini V1 compiled Jun 24 2021 14:29:39 -T2F54 000:027.029 Decompressing FW timestamp took 154 us -T2F54 000:041.069 Hardware: V1.00 -T2F54 000:041.087 S/N: 801010789 -T2F54 000:041.105 OEM: SEGGER -T2F54 000:041.113 Feature(s): FlashBP, GDB -T2F54 000:043.624 TELNET listener socket opened on port 19021 -T2F54 000:043.796 WEBSRV Starting webserver -T2F54 000:044.069 WEBSRV Webserver running on local port 19080 -T2F54 000:044.082 - 21.899ms returns "O.K." -T2F54 000:044.103 JLINK_GetEmuCaps() -T2F54 000:044.160 - 0.061ms returns 0xB8EA5A33 -T2F54 000:044.178 JLINK_TIF_GetAvailable(...) -T2F54 000:044.447 - 0.277ms -T2F54 000:044.467 JLINK_SetErrorOutHandler(...) -T2F54 000:044.473 - 0.009ms -T2F54 000:044.507 JLINK_ExecCommand("ProjectFile = "D:\rtthread\rt-thread\bsp\swm320\JLinkSettings.ini"", ...). -T2F54 000:085.730 Device "CORTEX-M4" selected. -T2F54 000:086.144 - 41.645ms returns 0x00 -T2F54 000:091.652 JLINK_ExecCommand("Device = SWM320xE", ...). -T2F54 000:096.908 Device "CORTEX-M4" selected. -T2F54 000:097.347 - 5.674ms returns 0x00 -T2F54 000:097.380 JLINK_GetHardwareVersion() -T2F54 000:097.387 - 0.010ms returns 10000 -T2F54 000:097.396 JLINK_GetDLLVersion() -T2F54 000:097.401 - 0.008ms returns 72202 -T2F54 000:097.411 JLINK_GetOEMString(...) -T2F54 000:097.419 JLINK_GetFirmwareString(...) -T2F54 000:097.431 - 0.014ms -T2F54 000:119.534 JLINK_GetDLLVersion() -T2F54 000:119.555 - 0.023ms returns 72202 -T2F54 000:119.563 JLINK_GetCompileDateTime() -T2F54 000:119.569 - 0.008ms -T2F54 000:123.944 JLINK_GetFirmwareString(...) -T2F54 000:123.962 - 0.021ms -T2F54 000:128.443 JLINK_GetHardwareVersion() -T2F54 000:128.461 - 0.041ms returns 10000 -T2F54 000:133.941 JLINK_GetSN() -T2F54 000:133.961 - 0.022ms returns 801010789 -T2F54 000:138.334 JLINK_GetOEMString(...) -T2F54 000:148.487 JLINK_TIF_Select(JLINKARM_TIF_SWD) -T2F54 000:149.606 - 1.164ms returns 0x00 -T2F54 000:149.660 JLINK_HasError() -T2F54 000:149.687 JLINK_SetSpeed(5000) -T2F54 000:149.810 - 0.130ms -T2F54 000:149.825 JLINK_GetId() -T2F54 000:154.948 Found SW-DP with ID 0x2BA01477 -T2F54 000:164.094 DPIDR: 0x2BA01477 -T2F54 000:170.491 Scanning AP map to find all available APs -T2F54 000:175.736 AP[1]: Stopped AP scan as end of AP map has been reached -T2F54 000:180.016 AP[0]: AHB-AP (IDR: 0x24770011) -T2F54 000:184.916 Iterating through AP map to find AHB-AP to use -T2F54 000:190.193 AP[0]: Core found -T2F54 000:195.585 AP[0]: AHB-AP ROM base: 0xE00FF000 -T2F54 000:200.822 CPUID register: 0x410FC241. Implementer code: 0x41 (ARM) -T2F54 000:205.003 Found Cortex-M4 r0p1, Little endian. -T2F54 000:306.274 -- Max. mem block: 0x000013E0 -T2F54 000:306.441 CPU_ReadMem(4 bytes @ 0xE000EDF0) -T2F54 000:306.861 CPU_WriteMem(4 bytes @ 0xE000EDF0) -T2F54 000:307.251 CPU_ReadMem(4 bytes @ 0xE0002000) -T2F54 000:312.226 FPUnit: 6 code (BP) slots and 2 literal slots -T2F54 000:312.253 CPU_ReadMem(4 bytes @ 0xE000EDFC) -T2F54 000:312.696 CPU_WriteMem(4 bytes @ 0xE000EDFC) -T2F54 000:313.163 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 000:313.599 CPU_WriteMem(4 bytes @ 0xE0001000) -T2F54 000:314.050 CPU_ReadMem(4 bytes @ 0xE000ED88) -T2F54 000:314.502 CPU_WriteMem(4 bytes @ 0xE000ED88) -T2F54 000:314.995 CPU_ReadMem(4 bytes @ 0xE000ED88) -T2F54 000:315.476 CPU_WriteMem(4 bytes @ 0xE000ED88) -T2F54 000:323.078 CoreSight components: -T2F54 000:327.342 ROMTbl[0] @ E00FF000 -T2F54 000:327.370 CPU_ReadMem(64 bytes @ 0xE00FF000) -T2F54 000:328.547 CPU_ReadMem(32 bytes @ 0xE000EFE0) -T2F54 000:334.608 ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB000 SCS -T2F54 000:334.637 CPU_ReadMem(32 bytes @ 0xE0001FE0) -T2F54 000:340.129 ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 003BB002 DWT -T2F54 000:340.157 CPU_ReadMem(32 bytes @ 0xE0002FE0) -T2F54 000:345.515 ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 002BB003 FPB -T2F54 000:345.544 CPU_ReadMem(32 bytes @ 0xE0000FE0) -T2F54 000:354.310 ROMTbl[0][3]: E0000000, CID: B105E00D, PID: 003BB001 ITM -T2F54 000:354.340 CPU_ReadMem(32 bytes @ 0xE0040FE0) -T2F54 000:359.505 ROMTbl[0][4]: E0040000, CID: B105900D, PID: 000BB9A1 TPIU -T2F54 000:359.830 - 210.013ms returns 0x2BA01477 -T2F54 000:359.861 JLINK_GetDLLVersion() -T2F54 000:359.867 - 0.009ms returns 72202 -T2F54 000:359.876 JLINK_CORE_GetFound() -T2F54 000:359.882 - 0.009ms returns 0xE0000FF -T2F54 000:359.920 JLINK_GetDebugInfo(0x100 = JLINKARM_ROM_TABLE_ADDR_INDEX) -T2F54 000:359.928 Value=0xE00FF000 -T2F54 000:359.936 - 0.019ms returns 0 -T2F54 000:365.954 JLINK_GetDebugInfo(0x100 = JLINKARM_ROM_TABLE_ADDR_INDEX) -T2F54 000:366.015 Value=0xE00FF000 -T2F54 000:366.024 - 0.073ms returns 0 -T2F54 000:366.049 JLINK_GetDebugInfo(0x101 = JLINKARM_DEBUG_INFO_ETM_ADDR_INDEX) -T2F54 000:366.056 Value=0x00000000 -T2F54 000:366.084 - 0.038ms returns 0 -T2F54 000:366.110 JLINK_ReadMemEx(0xE0041FF0, 0x10 Bytes, Flags = 0x02000004) -T2F54 000:366.161 CPU_ReadMem(16 bytes @ 0xE0041FF0) -T2F54 000:366.698 Data: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -T2F54 000:366.711 - 0.604ms returns 16 (0x10) -T2F54 000:366.722 JLINK_GetDebugInfo(0x102 = JLINKARM_DEBUG_INFO_MTB_ADDR_INDEX) -T2F54 000:366.729 Value=0x00000000 -T2F54 000:366.737 - 0.017ms returns 0 -T2F54 000:366.744 JLINK_GetDebugInfo(0x103 = JLINKARM_DEBUG_INFO_TPIU_ADDR_INDEX) -T2F54 000:366.750 Value=0xE0040000 -T2F54 000:366.758 - 0.016ms returns 0 -T2F54 000:366.765 JLINK_GetDebugInfo(0x104 = JLINKARM_DEBUG_INFO_ITM_ADDR_INDEX) -T2F54 000:366.771 Value=0xE0000000 -T2F54 000:366.779 - 0.016ms returns 0 -T2F54 000:366.786 JLINK_GetDebugInfo(0x105 = JLINKARM_DEBUG_INFO_DWT_ADDR_INDEX) -T2F54 000:366.792 Value=0xE0001000 -T2F54 000:366.799 - 0.016ms returns 0 -T2F54 000:366.807 JLINK_GetDebugInfo(0x106 = JLINKARM_DEBUG_INFO_FPB_ADDR_INDEX) -T2F54 000:366.812 Value=0xE0002000 -T2F54 000:366.820 - 0.016ms returns 0 -T2F54 000:366.827 JLINK_GetDebugInfo(0x107 = JLINKARM_DEBUG_INFO_NVIC_ADDR_INDEX) -T2F54 000:366.833 Value=0xE000E000 -T2F54 000:366.841 - 0.016ms returns 0 -T2F54 000:366.848 JLINK_GetDebugInfo(0x10C = JLINKARM_DEBUG_INFO_DBG_ADDR_INDEX) -T2F54 000:366.854 Value=0xE000EDF0 -T2F54 000:366.862 - 0.016ms returns 0 -T2F54 000:366.869 JLINK_GetDebugInfo(0x01 = Unknown) -T2F54 000:366.875 Value=0x00000001 -T2F54 000:366.883 - 0.016ms returns 0 -T2F54 000:366.890 JLINK_ReadMemU32(0xE000ED00, 0x1 Items) -T2F54 000:366.900 CPU_ReadMem(4 bytes @ 0xE000ED00) -T2F54 000:367.307 Data: 41 C2 0F 41 -T2F54 000:367.324 Debug reg: CPUID -T2F54 000:367.332 - 0.445ms returns 1 (0x1) -T2F54 000:367.343 JLINK_GetDebugInfo(0x10F = JLINKARM_DEBUG_INFO_HAS_CORTEX_M_SECURITY_EXT_INDEX) -T2F54 000:367.349 Value=0x00000000 -T2F54 000:367.357 - 0.017ms returns 0 -T2F54 000:367.365 JLINK_HasError() -T2F54 000:367.373 JLINK_SetResetType(JLINKARM_CM3_RESET_TYPE_NORMAL) -T2F54 000:367.379 - 0.008ms returns JLINKARM_CM3_RESET_TYPE_NORMAL -T2F54 000:367.387 JLINK_Reset() -T2F54 000:367.414 CPU is running -T2F54 000:367.424 CPU_WriteMem(4 bytes @ 0xE000EDF0) -T2F54 000:367.831 CPU is running -T2F54 000:367.846 CPU_WriteMem(4 bytes @ 0xE000EDFC) -T2F54 000:372.873 Reset: Halt core after reset via DEMCR.VC_CORERESET. -T2F54 000:377.958 Reset: Reset device via AIRCR.SYSRESETREQ. -T2F54 000:378.011 CPU is running -T2F54 000:378.037 CPU_WriteMem(4 bytes @ 0xE000ED0C) -T2F54 000:432.012 CPU_ReadMem(4 bytes @ 0xE000EDF0) -T2F54 000:432.429 CPU_ReadMem(4 bytes @ 0xE000EDF0) -T2F54 000:432.814 CPU is running -T2F54 000:432.829 CPU_WriteMem(4 bytes @ 0xE000EDF0) -T2F54 000:433.241 CPU is running -T2F54 000:433.272 CPU_WriteMem(4 bytes @ 0xE000EDFC) -T2F54 000:438.853 CPU_ReadMem(4 bytes @ 0xE000EDF0) -T2F54 000:442.666 CPU_WriteMem(4 bytes @ 0xE0002000) -T2F54 000:443.214 CPU_ReadMem(4 bytes @ 0xE000EDFC) -T2F54 000:443.771 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 000:444.213 - 76.839ms -T2F54 000:444.248 JLINK_Halt() -T2F54 000:444.261 - 0.020ms returns 0x00 -T2F54 000:444.295 JLINK_ReadMemU32(0xE000EDF0, 0x1 Items) -T2F54 000:444.329 CPU_ReadMem(4 bytes @ 0xE000EDF0) -T2F54 000:444.765 Data: 03 00 03 00 -T2F54 000:444.795 Debug reg: DHCSR -T2F54 000:444.822 - 0.529ms returns 1 (0x1) -T2F54 000:444.837 JLINK_WriteU32_64(0xE000EDF0, 0xA05F0003) -T2F54 000:444.862 Debug reg: DHCSR -T2F54 000:445.515 CPU_WriteMem(4 bytes @ 0xE000EDF0) -T2F54 000:445.879 - 1.051ms returns 0 (0x00000000) -T2F54 000:445.902 JLINK_WriteU32_64(0xE000EDFC, 0x01000000) -T2F54 000:445.910 Debug reg: DEMCR -T2F54 000:445.929 CPU_WriteMem(4 bytes @ 0xE000EDFC) -T2F54 000:446.290 - 0.396ms returns 0 (0x00000000) -T2F54 000:468.997 JLINK_GetHWStatus(...) -T2F54 000:469.302 - 0.314ms returns 0 -T2F54 000:485.116 JLINK_GetNumBPUnits(Type = 0xFFFFFF00) -T2F54 000:485.138 - 0.025ms returns 0x06 -T2F54 000:485.147 JLINK_GetNumBPUnits(Type = 0xF0) -T2F54 000:485.152 - 0.008ms returns 0x2000 -T2F54 000:485.160 JLINK_GetNumWPUnits() -T2F54 000:485.165 - 0.008ms returns 4 -T2F54 000:500.751 JLINK_GetSpeed() -T2F54 000:500.771 - 0.023ms returns 4000 -T2F54 000:511.271 JLINK_ReadMemU32(0xE000E004, 0x1 Items) -T2F54 000:511.306 CPU_ReadMem(4 bytes @ 0xE000E004) -T2F54 000:511.739 Data: 02 00 00 00 -T2F54 000:511.774 - 0.506ms returns 1 (0x1) -T2F54 000:511.785 JLINK_ReadMemU32(0xE000E004, 0x1 Items) -T2F54 000:511.797 CPU_ReadMem(4 bytes @ 0xE000E004) -T2F54 000:512.182 Data: 02 00 00 00 -T2F54 000:512.197 - 0.414ms returns 1 (0x1) -T2F54 000:512.208 JLINK_WriteMemEx(0xE0001000, 0x0000001C Bytes, Flags = 0x02000004) -T2F54 000:512.216 Data: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... -T2F54 000:512.238 CPU_WriteMem(28 bytes @ 0xE0001000) -T2F54 000:512.772 - 0.586ms returns 0x1C -T2F54 000:512.826 JLINK_Halt() -T2F54 000:512.846 - 0.022ms returns 0x00 -T2F54 000:512.854 JLINK_IsHalted() -T2F54 000:512.860 - 0.009ms returns TRUE -T2F54 000:517.052 JLINK_WriteMem(0x20000000, 0x108 Bytes, ...) -T2F54 000:517.067 Data: 00 BE 0A E0 0D 78 2D 06 68 40 08 24 40 00 00 D3 ... -T2F54 000:517.336 CPU_WriteMem(264 bytes @ 0x20000000) -T2F54 000:519.136 - 2.090ms returns 0x108 -T2F54 000:519.168 JLINK_HasError() -T2F54 000:519.178 JLINK_WriteReg(R0, 0x00000000) -T2F54 000:519.187 - 0.012ms returns 0 -T2F54 000:519.195 JLINK_WriteReg(R1, 0x00B71B00) -T2F54 000:519.202 - 0.009ms returns 0 -T2F54 000:519.210 JLINK_WriteReg(R2, 0x00000001) -T2F54 000:519.216 - 0.009ms returns 0 -T2F54 000:519.224 JLINK_WriteReg(R3, 0x00000000) -T2F54 000:519.230 - 0.009ms returns 0 -T2F54 000:519.238 JLINK_WriteReg(R4, 0x00000000) -T2F54 000:519.244 - 0.009ms returns 0 -T2F54 000:519.251 JLINK_WriteReg(R5, 0x00000000) -T2F54 000:519.257 - 0.009ms returns 0 -T2F54 000:519.265 JLINK_WriteReg(R6, 0x00000000) -T2F54 000:519.271 - 0.009ms returns 0 -T2F54 000:519.279 JLINK_WriteReg(R7, 0x00000000) -T2F54 000:519.285 - 0.009ms returns 0 -T2F54 000:519.293 JLINK_WriteReg(R8, 0x00000000) -T2F54 000:519.311 - 0.021ms returns 0 -T2F54 000:519.319 JLINK_WriteReg(R9, 0x20000104) -T2F54 000:519.325 - 0.009ms returns 0 -T2F54 000:519.332 JLINK_WriteReg(R10, 0x00000000) -T2F54 000:519.338 - 0.008ms returns 0 -T2F54 000:519.346 JLINK_WriteReg(R11, 0x00000000) -T2F54 000:519.352 - 0.008ms returns 0 -T2F54 000:519.359 JLINK_WriteReg(R12, 0x00000000) -T2F54 000:519.365 - 0.008ms returns 0 -T2F54 000:519.372 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 000:519.379 - 0.009ms returns 0 -T2F54 000:519.387 JLINK_WriteReg(R14, 0x20000001) -T2F54 000:519.393 - 0.008ms returns 0 -T2F54 000:519.400 JLINK_WriteReg(R15 (PC), 0x20000040) -T2F54 000:519.412 - 0.015ms returns 0 -T2F54 000:519.420 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 000:519.426 - 0.009ms returns 0 -T2F54 000:519.433 JLINK_WriteReg(MSP, 0x20004000) -T2F54 000:519.439 - 0.008ms returns 0 -T2F54 000:519.447 JLINK_WriteReg(PSP, 0x20004000) -T2F54 000:519.455 - 0.012ms returns 0 -T2F54 000:519.464 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 000:519.470 - 0.008ms returns 0 -T2F54 000:519.480 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 000:519.490 CPU_ReadMem(4 bytes @ 0x20000000) -T2F54 000:519.884 CPU_WriteMem(4 bytes @ 0x20000000) -T2F54 000:520.303 CPU_ReadMem(4 bytes @ 0x20000000) -T2F54 000:520.737 CPU_WriteMem(4 bytes @ 0x20000000) -T2F54 000:521.234 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 000:521.648 - 2.200ms returns 0x00000001 -T2F54 000:521.691 JLINK_Go() -T2F54 000:521.703 CPU_WriteMem(2 bytes @ 0x20000000) -T2F54 000:522.179 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 000:522.583 CPU_WriteMem(4 bytes @ 0xE0002008) -T2F54 000:522.598 CPU_WriteMem(4 bytes @ 0xE000200C) -T2F54 000:522.607 CPU_WriteMem(4 bytes @ 0xE0002010) -T2F54 000:522.616 CPU_WriteMem(4 bytes @ 0xE0002014) -T2F54 000:522.624 CPU_WriteMem(4 bytes @ 0xE0002018) -T2F54 000:522.632 CPU_WriteMem(4 bytes @ 0xE000201C) -T2F54 000:524.188 CPU_WriteMem(4 bytes @ 0xE0001004) -T2F54 000:527.604 - 5.919ms -T2F54 000:527.623 JLINK_IsHalted() -T2F54 000:530.660 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 000:531.029 - 3.414ms returns TRUE -T2F54 000:531.050 JLINK_ReadReg(R15 (PC)) -T2F54 000:531.059 - 0.012ms returns 0x20000000 -T2F54 000:531.068 JLINK_ClrBPEx(BPHandle = 0x00000001) -T2F54 000:531.074 - 0.009ms returns 0x00 -T2F54 000:531.082 JLINK_ReadReg(R0) -T2F54 000:531.089 - 0.009ms returns 0x00000000 -T2F54 000:532.228 JLINK_HasError() -T2F54 000:532.251 JLINK_WriteReg(R0, 0x00000000) -T2F54 000:532.261 - 0.013ms returns 0 -T2F54 000:532.269 JLINK_WriteReg(R1, 0x00001000) -T2F54 000:532.279 - 0.012ms returns 0 -T2F54 000:532.306 JLINK_WriteReg(R2, 0x000000FF) -T2F54 000:532.312 - 0.009ms returns 0 -T2F54 000:532.320 JLINK_WriteReg(R3, 0x00000000) -T2F54 000:532.326 - 0.009ms returns 0 -T2F54 000:532.334 JLINK_WriteReg(R4, 0x00000000) -T2F54 000:532.340 - 0.009ms returns 0 -T2F54 000:532.348 JLINK_WriteReg(R5, 0x00000000) -T2F54 000:532.354 - 0.009ms returns 0 -T2F54 000:532.362 JLINK_WriteReg(R6, 0x00000000) -T2F54 000:532.368 - 0.009ms returns 0 -T2F54 000:532.376 JLINK_WriteReg(R7, 0x00000000) -T2F54 000:532.383 - 0.009ms returns 0 -T2F54 000:532.406 JLINK_WriteReg(R8, 0x00000000) -T2F54 000:532.413 - 0.009ms returns 0 -T2F54 000:532.422 JLINK_WriteReg(R9, 0x20000104) -T2F54 000:532.428 - 0.009ms returns 0 -T2F54 000:532.435 JLINK_WriteReg(R10, 0x00000000) -T2F54 000:532.442 - 0.009ms returns 0 -T2F54 000:532.452 JLINK_WriteReg(R11, 0x00000000) -T2F54 000:532.458 - 0.030ms returns 0 -T2F54 000:532.487 JLINK_WriteReg(R12, 0x00000000) -T2F54 000:532.494 - 0.009ms returns 0 -T2F54 000:532.501 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 000:532.508 - 0.009ms returns 0 -T2F54 000:532.532 JLINK_WriteReg(R14, 0x20000001) -T2F54 000:532.538 - 0.009ms returns 0 -T2F54 000:532.546 JLINK_WriteReg(R15 (PC), 0x20000020) -T2F54 000:532.552 - 0.009ms returns 0 -T2F54 000:532.560 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 000:532.585 - 0.028ms returns 0 -T2F54 000:532.593 JLINK_WriteReg(MSP, 0x20004000) -T2F54 000:532.599 - 0.009ms returns 0 -T2F54 000:532.607 JLINK_WriteReg(PSP, 0x20004000) -T2F54 000:532.613 - 0.009ms returns 0 -T2F54 000:532.634 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 000:532.641 - 0.009ms returns 0 -T2F54 000:532.649 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 000:532.661 - 0.015ms returns 0x00000002 -T2F54 000:532.669 JLINK_Go() -T2F54 000:532.684 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 000:536.067 - 3.412ms -T2F54 000:536.090 JLINK_IsHalted() -T2F54 000:539.197 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 000:539.566 - 3.502ms returns TRUE -T2F54 000:539.602 JLINK_ReadReg(R15 (PC)) -T2F54 000:539.625 - 0.026ms returns 0x20000000 -T2F54 000:539.634 JLINK_ClrBPEx(BPHandle = 0x00000002) -T2F54 000:539.654 - 0.023ms returns 0x00 -T2F54 000:539.662 JLINK_ReadReg(R0) -T2F54 000:539.668 - 0.009ms returns 0x00000001 -T2F54 000:539.691 JLINK_HasError() -T2F54 000:539.719 JLINK_WriteReg(R0, 0x00000000) -T2F54 000:539.739 - 0.023ms returns 0 -T2F54 000:539.827 JLINK_WriteReg(R1, 0x00001000) -T2F54 000:539.869 - 0.045ms returns 0 -T2F54 000:539.876 JLINK_WriteReg(R2, 0x000000FF) -T2F54 000:539.882 - 0.008ms returns 0 -T2F54 000:539.890 JLINK_WriteReg(R3, 0x00000000) -T2F54 000:539.910 - 0.023ms returns 0 -T2F54 000:539.918 JLINK_WriteReg(R4, 0x00000000) -T2F54 000:539.924 - 0.009ms returns 0 -T2F54 000:539.932 JLINK_WriteReg(R5, 0x00000000) -T2F54 000:539.951 - 0.022ms returns 0 -T2F54 000:539.959 JLINK_WriteReg(R6, 0x00000000) -T2F54 000:539.965 - 0.008ms returns 0 -T2F54 000:539.972 JLINK_WriteReg(R7, 0x00000000) -T2F54 000:539.978 - 0.008ms returns 0 -T2F54 000:539.986 JLINK_WriteReg(R8, 0x00000000) -T2F54 000:539.992 - 0.009ms returns 0 -T2F54 000:539.999 JLINK_WriteReg(R9, 0x20000104) -T2F54 000:540.005 - 0.008ms returns 0 -T2F54 000:540.013 JLINK_WriteReg(R10, 0x00000000) -T2F54 000:540.019 - 0.009ms returns 0 -T2F54 000:540.026 JLINK_WriteReg(R11, 0x00000000) -T2F54 000:540.032 - 0.008ms returns 0 -T2F54 000:540.040 JLINK_WriteReg(R12, 0x00000000) -T2F54 000:540.046 - 0.008ms returns 0 -T2F54 000:540.053 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 000:540.060 - 0.009ms returns 0 -T2F54 000:540.067 JLINK_WriteReg(R14, 0x20000001) -T2F54 000:540.073 - 0.008ms returns 0 -T2F54 000:540.081 JLINK_WriteReg(R15 (PC), 0x20000066) -T2F54 000:540.087 - 0.009ms returns 0 -T2F54 000:540.094 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 000:540.100 - 0.008ms returns 0 -T2F54 000:540.108 JLINK_WriteReg(MSP, 0x20004000) -T2F54 000:540.114 - 0.008ms returns 0 -T2F54 000:540.121 JLINK_WriteReg(PSP, 0x20004000) -T2F54 000:540.127 - 0.008ms returns 0 -T2F54 000:540.135 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 000:540.141 - 0.008ms returns 0 -T2F54 000:540.148 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 000:540.155 - 0.009ms returns 0x00000003 -T2F54 000:540.163 JLINK_Go() -T2F54 000:540.175 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 000:543.667 - 3.514ms -T2F54 000:543.686 JLINK_IsHalted() -T2F54 000:544.068 - 0.388ms returns FALSE -T2F54 000:544.082 JLINK_HasError() -T2F54 000:565.515 JLINK_IsHalted() -T2F54 000:568.616 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 000:569.017 - 3.538ms returns TRUE -T2F54 000:569.065 JLINK_ReadReg(R15 (PC)) -T2F54 000:569.076 - 0.014ms returns 0x20000000 -T2F54 000:569.085 JLINK_ClrBPEx(BPHandle = 0x00000003) -T2F54 000:569.093 - 0.010ms returns 0x00 -T2F54 000:569.102 JLINK_ReadReg(R0) -T2F54 000:569.129 - 0.030ms returns 0x00000000 -T2F54 000:571.200 JLINK_HasError() -T2F54 000:571.224 JLINK_WriteReg(R0, 0x00001000) -T2F54 000:571.236 - 0.014ms returns 0 -T2F54 000:571.245 JLINK_WriteReg(R1, 0x00001000) -T2F54 000:571.251 - 0.009ms returns 0 -T2F54 000:571.259 JLINK_WriteReg(R2, 0x000000FF) -T2F54 000:571.265 - 0.009ms returns 0 -T2F54 000:571.273 JLINK_WriteReg(R3, 0x00000000) -T2F54 000:571.279 - 0.009ms returns 0 -T2F54 000:571.287 JLINK_WriteReg(R4, 0x00000000) -T2F54 000:571.293 - 0.009ms returns 0 -T2F54 000:571.301 JLINK_WriteReg(R5, 0x00000000) -T2F54 000:571.307 - 0.009ms returns 0 -T2F54 000:571.315 JLINK_WriteReg(R6, 0x00000000) -T2F54 000:571.321 - 0.009ms returns 0 -T2F54 000:571.329 JLINK_WriteReg(R7, 0x00000000) -T2F54 000:571.335 - 0.009ms returns 0 -T2F54 000:571.343 JLINK_WriteReg(R8, 0x00000000) -T2F54 000:571.349 - 0.009ms returns 0 -T2F54 000:571.356 JLINK_WriteReg(R9, 0x20000104) -T2F54 000:571.363 - 0.009ms returns 0 -T2F54 000:571.370 JLINK_WriteReg(R10, 0x00000000) -T2F54 000:571.377 - 0.010ms returns 0 -T2F54 000:571.385 JLINK_WriteReg(R11, 0x00000000) -T2F54 000:571.391 - 0.009ms returns 0 -T2F54 000:571.399 JLINK_WriteReg(R12, 0x00000000) -T2F54 000:571.405 - 0.009ms returns 0 -T2F54 000:571.413 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 000:571.420 - 0.010ms returns 0 -T2F54 000:571.428 JLINK_WriteReg(R14, 0x20000001) -T2F54 000:571.434 - 0.009ms returns 0 -T2F54 000:571.442 JLINK_WriteReg(R15 (PC), 0x20000020) -T2F54 000:571.448 - 0.009ms returns 0 -T2F54 000:571.456 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 000:571.462 - 0.009ms returns 0 -T2F54 000:571.470 JLINK_WriteReg(MSP, 0x20004000) -T2F54 000:571.479 - 0.014ms returns 0 -T2F54 000:571.489 JLINK_WriteReg(PSP, 0x20004000) -T2F54 000:571.496 - 0.009ms returns 0 -T2F54 000:571.503 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 000:571.510 - 0.009ms returns 0 -T2F54 000:571.518 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 000:571.539 - 0.024ms returns 0x00000004 -T2F54 000:571.566 JLINK_Go() -T2F54 000:571.594 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 000:575.095 - 3.537ms -T2F54 000:575.111 JLINK_IsHalted() -T2F54 000:578.251 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 000:578.667 - 3.564ms returns TRUE -T2F54 000:578.683 JLINK_ReadReg(R15 (PC)) -T2F54 000:578.691 - 0.011ms returns 0x20000000 -T2F54 000:578.700 JLINK_ClrBPEx(BPHandle = 0x00000004) -T2F54 000:578.706 - 0.009ms returns 0x00 -T2F54 000:578.714 JLINK_ReadReg(R0) -T2F54 000:578.721 - 0.009ms returns 0x00000001 -T2F54 000:578.729 JLINK_HasError() -T2F54 000:578.738 JLINK_WriteReg(R0, 0x00001000) -T2F54 000:578.744 - 0.009ms returns 0 -T2F54 000:578.753 JLINK_WriteReg(R1, 0x00001000) -T2F54 000:578.759 - 0.009ms returns 0 -T2F54 000:578.767 JLINK_WriteReg(R2, 0x000000FF) -T2F54 000:578.773 - 0.009ms returns 0 -T2F54 000:578.781 JLINK_WriteReg(R3, 0x00000000) -T2F54 000:578.787 - 0.009ms returns 0 -T2F54 000:578.795 JLINK_WriteReg(R4, 0x00000000) -T2F54 000:578.801 - 0.009ms returns 0 -T2F54 000:578.809 JLINK_WriteReg(R5, 0x00000000) -T2F54 000:578.815 - 0.009ms returns 0 -T2F54 000:578.823 JLINK_WriteReg(R6, 0x00000000) -T2F54 000:578.829 - 0.009ms returns 0 -T2F54 000:578.837 JLINK_WriteReg(R7, 0x00000000) -T2F54 000:578.843 - 0.009ms returns 0 -T2F54 000:578.851 JLINK_WriteReg(R8, 0x00000000) -T2F54 000:578.857 - 0.009ms returns 0 -T2F54 000:578.865 JLINK_WriteReg(R9, 0x20000104) -T2F54 000:578.871 - 0.009ms returns 0 -T2F54 000:578.879 JLINK_WriteReg(R10, 0x00000000) -T2F54 000:578.885 - 0.009ms returns 0 -T2F54 000:578.893 JLINK_WriteReg(R11, 0x00000000) -T2F54 000:578.899 - 0.009ms returns 0 -T2F54 000:578.907 JLINK_WriteReg(R12, 0x00000000) -T2F54 000:578.913 - 0.009ms returns 0 -T2F54 000:578.921 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 000:578.927 - 0.009ms returns 0 -T2F54 000:578.935 JLINK_WriteReg(R14, 0x20000001) -T2F54 000:578.942 - 0.009ms returns 0 -T2F54 000:578.949 JLINK_WriteReg(R15 (PC), 0x20000066) -T2F54 000:578.955 - 0.009ms returns 0 -T2F54 000:578.963 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 000:578.969 - 0.009ms returns 0 -T2F54 000:578.977 JLINK_WriteReg(MSP, 0x20004000) -T2F54 000:578.983 - 0.009ms returns 0 -T2F54 000:578.991 JLINK_WriteReg(PSP, 0x20004000) -T2F54 000:578.997 - 0.009ms returns 0 -T2F54 000:579.005 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 000:579.011 - 0.009ms returns 0 -T2F54 000:579.019 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 000:579.026 - 0.009ms returns 0x00000005 -T2F54 000:579.034 JLINK_Go() -T2F54 000:579.047 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 000:582.619 - 3.608ms -T2F54 000:582.687 JLINK_IsHalted() -T2F54 000:583.063 - 0.383ms returns FALSE -T2F54 000:583.084 JLINK_HasError() -T2F54 000:584.488 JLINK_IsHalted() -T2F54 000:584.980 - 0.501ms returns FALSE -T2F54 000:585.017 JLINK_HasError() -T2F54 000:586.486 JLINK_IsHalted() -T2F54 000:586.795 - 0.317ms returns FALSE -T2F54 000:586.811 JLINK_HasError() -T2F54 000:588.571 JLINK_IsHalted() -T2F54 000:588.971 - 0.407ms returns FALSE -T2F54 000:588.985 JLINK_HasError() -T2F54 000:590.495 JLINK_IsHalted() -T2F54 000:590.862 - 0.373ms returns FALSE -T2F54 000:590.876 JLINK_HasError() -T2F54 000:592.687 JLINK_IsHalted() -T2F54 000:593.209 - 0.529ms returns FALSE -T2F54 000:593.223 JLINK_HasError() -T2F54 000:594.677 JLINK_IsHalted() -T2F54 000:595.088 - 0.417ms returns FALSE -T2F54 000:595.101 JLINK_HasError() -T2F54 000:596.603 JLINK_IsHalted() -T2F54 000:597.058 - 0.463ms returns FALSE -T2F54 000:597.075 JLINK_HasError() -T2F54 000:598.614 JLINK_IsHalted() -T2F54 000:599.084 - 0.487ms returns FALSE -T2F54 000:599.114 JLINK_HasError() -T2F54 000:600.352 JLINK_IsHalted() -T2F54 000:600.769 - 0.427ms returns FALSE -T2F54 000:600.791 JLINK_HasError() -T2F54 000:602.026 JLINK_IsHalted() -T2F54 000:602.512 - 0.492ms returns FALSE -T2F54 000:602.526 JLINK_HasError() -T2F54 000:604.110 JLINK_IsHalted() -T2F54 000:607.286 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 000:607.717 - 3.614ms returns TRUE -T2F54 000:607.731 JLINK_ReadReg(R15 (PC)) -T2F54 000:607.740 - 0.011ms returns 0x20000000 -T2F54 000:607.748 JLINK_ClrBPEx(BPHandle = 0x00000005) -T2F54 000:607.754 - 0.009ms returns 0x00 -T2F54 000:607.762 JLINK_ReadReg(R0) -T2F54 000:607.768 - 0.009ms returns 0x00000000 -T2F54 000:608.358 JLINK_HasError() -T2F54 000:608.370 JLINK_WriteReg(R0, 0x00002000) -T2F54 000:608.378 - 0.011ms returns 0 -T2F54 000:608.386 JLINK_WriteReg(R1, 0x00001000) -T2F54 000:608.392 - 0.009ms returns 0 -T2F54 000:608.400 JLINK_WriteReg(R2, 0x000000FF) -T2F54 000:608.405 - 0.008ms returns 0 -T2F54 000:608.413 JLINK_WriteReg(R3, 0x00000000) -T2F54 000:608.419 - 0.008ms returns 0 -T2F54 000:608.426 JLINK_WriteReg(R4, 0x00000000) -T2F54 000:608.432 - 0.008ms returns 0 -T2F54 000:608.439 JLINK_WriteReg(R5, 0x00000000) -T2F54 000:608.445 - 0.008ms returns 0 -T2F54 000:608.452 JLINK_WriteReg(R6, 0x00000000) -T2F54 000:608.457 - 0.008ms returns 0 -T2F54 000:608.465 JLINK_WriteReg(R7, 0x00000000) -T2F54 000:608.470 - 0.008ms returns 0 -T2F54 000:608.478 JLINK_WriteReg(R8, 0x00000000) -T2F54 000:608.484 - 0.008ms returns 0 -T2F54 000:608.491 JLINK_WriteReg(R9, 0x20000104) -T2F54 000:608.497 - 0.008ms returns 0 -T2F54 000:608.504 JLINK_WriteReg(R10, 0x00000000) -T2F54 000:608.510 - 0.008ms returns 0 -T2F54 000:608.517 JLINK_WriteReg(R11, 0x00000000) -T2F54 000:608.523 - 0.008ms returns 0 -T2F54 000:608.530 JLINK_WriteReg(R12, 0x00000000) -T2F54 000:608.536 - 0.008ms returns 0 -T2F54 000:608.543 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 000:608.549 - 0.009ms returns 0 -T2F54 000:608.556 JLINK_WriteReg(R14, 0x20000001) -T2F54 000:608.562 - 0.008ms returns 0 -T2F54 000:608.569 JLINK_WriteReg(R15 (PC), 0x20000020) -T2F54 000:608.575 - 0.008ms returns 0 -T2F54 000:608.583 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 000:608.588 - 0.008ms returns 0 -T2F54 000:608.596 JLINK_WriteReg(MSP, 0x20004000) -T2F54 000:608.601 - 0.008ms returns 0 -T2F54 000:608.609 JLINK_WriteReg(PSP, 0x20004000) -T2F54 000:608.614 - 0.008ms returns 0 -T2F54 000:608.622 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 000:608.627 - 0.008ms returns 0 -T2F54 000:608.635 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 000:608.642 - 0.010ms returns 0x00000006 -T2F54 000:608.650 JLINK_Go() -T2F54 000:608.663 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 000:612.178 - 3.537ms -T2F54 000:612.195 JLINK_IsHalted() -T2F54 000:615.127 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 000:615.579 - 3.395ms returns TRUE -T2F54 000:615.637 JLINK_ReadReg(R15 (PC)) -T2F54 000:615.648 - 0.013ms returns 0x20000000 -T2F54 000:615.656 JLINK_ClrBPEx(BPHandle = 0x00000006) -T2F54 000:615.662 - 0.009ms returns 0x00 -T2F54 000:615.671 JLINK_ReadReg(R0) -T2F54 000:615.677 - 0.009ms returns 0x00000001 -T2F54 000:615.686 JLINK_HasError() -T2F54 000:615.695 JLINK_WriteReg(R0, 0x00002000) -T2F54 000:615.704 - 0.012ms returns 0 -T2F54 000:615.712 JLINK_WriteReg(R1, 0x00001000) -T2F54 000:615.737 - 0.027ms returns 0 -T2F54 000:615.765 JLINK_WriteReg(R2, 0x000000FF) -T2F54 000:615.772 - 0.009ms returns 0 -T2F54 000:615.779 JLINK_WriteReg(R3, 0x00000000) -T2F54 000:615.786 - 0.009ms returns 0 -T2F54 000:615.794 JLINK_WriteReg(R4, 0x00000000) -T2F54 000:615.800 - 0.009ms returns 0 -T2F54 000:615.808 JLINK_WriteReg(R5, 0x00000000) -T2F54 000:615.817 - 0.013ms returns 0 -T2F54 000:615.830 JLINK_WriteReg(R6, 0x00000000) -T2F54 000:615.850 - 0.025ms returns 0 -T2F54 000:615.864 JLINK_WriteReg(R7, 0x00000000) -T2F54 000:615.879 - 0.018ms returns 0 -T2F54 000:615.888 JLINK_WriteReg(R8, 0x00000000) -T2F54 000:615.895 - 0.009ms returns 0 -T2F54 000:615.903 JLINK_WriteReg(R9, 0x20000104) -T2F54 000:615.909 - 0.009ms returns 0 -T2F54 000:615.918 JLINK_WriteReg(R10, 0x00000000) -T2F54 000:615.924 - 0.009ms returns 0 -T2F54 000:615.932 JLINK_WriteReg(R11, 0x00000000) -T2F54 000:615.954 - 0.027ms returns 0 -T2F54 000:615.997 JLINK_WriteReg(R12, 0x00000000) -T2F54 000:616.006 - 0.012ms returns 0 -T2F54 000:616.015 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 000:616.039 - 0.027ms returns 0 -T2F54 000:616.063 JLINK_WriteReg(R14, 0x20000001) -T2F54 000:616.070 - 0.010ms returns 0 -T2F54 000:616.078 JLINK_WriteReg(R15 (PC), 0x20000066) -T2F54 000:616.103 - 0.028ms returns 0 -T2F54 000:616.112 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 000:616.119 - 0.031ms returns 0 -T2F54 000:616.149 JLINK_WriteReg(MSP, 0x20004000) -T2F54 000:616.156 - 0.010ms returns 0 -T2F54 000:616.164 JLINK_WriteReg(PSP, 0x20004000) -T2F54 000:616.171 - 0.010ms returns 0 -T2F54 000:616.180 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 000:616.186 - 0.009ms returns 0 -T2F54 000:616.196 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 000:616.208 - 0.015ms returns 0x00000007 -T2F54 000:616.218 JLINK_Go() -T2F54 000:616.245 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 000:619.783 - 3.573ms -T2F54 000:619.799 JLINK_IsHalted() -T2F54 000:620.202 - 0.409ms returns FALSE -T2F54 000:620.216 JLINK_HasError() -T2F54 000:621.715 JLINK_IsHalted() -T2F54 000:622.223 - 0.514ms returns FALSE -T2F54 000:622.237 JLINK_HasError() -T2F54 000:624.290 JLINK_IsHalted() -T2F54 000:624.766 - 0.483ms returns FALSE -T2F54 000:624.780 JLINK_HasError() -T2F54 000:626.283 JLINK_IsHalted() -T2F54 000:626.739 - 0.462ms returns FALSE -T2F54 000:626.753 JLINK_HasError() -T2F54 000:628.811 JLINK_IsHalted() -T2F54 000:629.224 - 0.422ms returns FALSE -T2F54 000:629.241 JLINK_HasError() -T2F54 000:630.742 JLINK_IsHalted() -T2F54 000:631.105 - 0.373ms returns FALSE -T2F54 000:631.125 JLINK_HasError() -T2F54 000:633.760 JLINK_IsHalted() -T2F54 000:634.174 - 0.423ms returns FALSE -T2F54 000:634.216 JLINK_HasError() -T2F54 000:635.833 JLINK_IsHalted() -T2F54 000:636.318 - 0.491ms returns FALSE -T2F54 000:636.332 JLINK_HasError() -T2F54 000:637.815 JLINK_IsHalted() -T2F54 000:638.316 - 0.507ms returns FALSE -T2F54 000:638.330 JLINK_HasError() -T2F54 000:639.817 JLINK_IsHalted() -T2F54 000:640.346 - 0.537ms returns FALSE -T2F54 000:640.362 JLINK_HasError() -T2F54 000:641.806 JLINK_IsHalted() -T2F54 000:645.107 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 000:645.479 - 3.682ms returns TRUE -T2F54 000:645.497 JLINK_ReadReg(R15 (PC)) -T2F54 000:645.507 - 0.013ms returns 0x20000000 -T2F54 000:645.516 JLINK_ClrBPEx(BPHandle = 0x00000007) -T2F54 000:645.523 - 0.009ms returns 0x00 -T2F54 000:645.531 JLINK_ReadReg(R0) -T2F54 000:645.537 - 0.009ms returns 0x00000000 -T2F54 000:646.127 JLINK_HasError() -T2F54 000:646.144 JLINK_WriteReg(R0, 0x00003000) -T2F54 000:646.154 - 0.013ms returns 0 -T2F54 000:646.162 JLINK_WriteReg(R1, 0x00001000) -T2F54 000:646.168 - 0.009ms returns 0 -T2F54 000:646.176 JLINK_WriteReg(R2, 0x000000FF) -T2F54 000:646.182 - 0.009ms returns 0 -T2F54 000:646.190 JLINK_WriteReg(R3, 0x00000000) -T2F54 000:646.196 - 0.009ms returns 0 -T2F54 000:646.204 JLINK_WriteReg(R4, 0x00000000) -T2F54 000:646.210 - 0.009ms returns 0 -T2F54 000:646.218 JLINK_WriteReg(R5, 0x00000000) -T2F54 000:646.224 - 0.009ms returns 0 -T2F54 000:646.231 JLINK_WriteReg(R6, 0x00000000) -T2F54 000:646.237 - 0.009ms returns 0 -T2F54 000:646.245 JLINK_WriteReg(R7, 0x00000000) -T2F54 000:646.251 - 0.009ms returns 0 -T2F54 000:646.259 JLINK_WriteReg(R8, 0x00000000) -T2F54 000:646.265 - 0.009ms returns 0 -T2F54 000:646.273 JLINK_WriteReg(R9, 0x20000104) -T2F54 000:646.279 - 0.009ms returns 0 -T2F54 000:646.287 JLINK_WriteReg(R10, 0x00000000) -T2F54 000:646.293 - 0.009ms returns 0 -T2F54 000:646.301 JLINK_WriteReg(R11, 0x00000000) -T2F54 000:646.307 - 0.009ms returns 0 -T2F54 000:646.314 JLINK_WriteReg(R12, 0x00000000) -T2F54 000:646.321 - 0.009ms returns 0 -T2F54 000:646.329 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 000:646.336 - 0.010ms returns 0 -T2F54 000:646.344 JLINK_WriteReg(R14, 0x20000001) -T2F54 000:646.350 - 0.009ms returns 0 -T2F54 000:646.358 JLINK_WriteReg(R15 (PC), 0x20000020) -T2F54 000:646.364 - 0.009ms returns 0 -T2F54 000:646.372 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 000:646.378 - 0.009ms returns 0 -T2F54 000:646.386 JLINK_WriteReg(MSP, 0x20004000) -T2F54 000:646.460 - 0.077ms returns 0 -T2F54 000:646.468 JLINK_WriteReg(PSP, 0x20004000) -T2F54 000:646.475 - 0.009ms returns 0 -T2F54 000:646.486 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 000:646.494 - 0.011ms returns 0 -T2F54 000:646.502 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 000:646.510 - 0.011ms returns 0x00000008 -T2F54 000:646.519 JLINK_Go() -T2F54 000:646.535 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 000:650.458 - 3.953ms -T2F54 000:650.480 JLINK_IsHalted() -T2F54 000:653.750 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 000:654.117 - 3.644ms returns TRUE -T2F54 000:654.135 JLINK_ReadReg(R15 (PC)) -T2F54 000:654.144 - 0.012ms returns 0x20000000 -T2F54 000:654.153 JLINK_ClrBPEx(BPHandle = 0x00000008) -T2F54 000:654.159 - 0.009ms returns 0x00 -T2F54 000:654.167 JLINK_ReadReg(R0) -T2F54 000:654.174 - 0.009ms returns 0x00000001 -T2F54 000:654.183 JLINK_HasError() -T2F54 000:654.191 JLINK_WriteReg(R0, 0x00003000) -T2F54 000:654.198 - 0.010ms returns 0 -T2F54 000:654.206 JLINK_WriteReg(R1, 0x00001000) -T2F54 000:654.212 - 0.009ms returns 0 -T2F54 000:654.220 JLINK_WriteReg(R2, 0x000000FF) -T2F54 000:654.226 - 0.009ms returns 0 -T2F54 000:654.233 JLINK_WriteReg(R3, 0x00000000) -T2F54 000:654.239 - 0.009ms returns 0 -T2F54 000:654.247 JLINK_WriteReg(R4, 0x00000000) -T2F54 000:654.253 - 0.009ms returns 0 -T2F54 000:654.261 JLINK_WriteReg(R5, 0x00000000) -T2F54 000:654.267 - 0.009ms returns 0 -T2F54 000:654.275 JLINK_WriteReg(R6, 0x00000000) -T2F54 000:654.281 - 0.009ms returns 0 -T2F54 000:654.288 JLINK_WriteReg(R7, 0x00000000) -T2F54 000:654.295 - 0.009ms returns 0 -T2F54 000:654.302 JLINK_WriteReg(R8, 0x00000000) -T2F54 000:654.308 - 0.009ms returns 0 -T2F54 000:654.316 JLINK_WriteReg(R9, 0x20000104) -T2F54 000:654.322 - 0.009ms returns 0 -T2F54 000:654.330 JLINK_WriteReg(R10, 0x00000000) -T2F54 000:654.336 - 0.009ms returns 0 -T2F54 000:654.343 JLINK_WriteReg(R11, 0x00000000) -T2F54 000:654.350 - 0.009ms returns 0 -T2F54 000:654.357 JLINK_WriteReg(R12, 0x00000000) -T2F54 000:654.363 - 0.009ms returns 0 -T2F54 000:654.371 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 000:654.377 - 0.009ms returns 0 -T2F54 000:654.385 JLINK_WriteReg(R14, 0x20000001) -T2F54 000:654.391 - 0.009ms returns 0 -T2F54 000:654.399 JLINK_WriteReg(R15 (PC), 0x20000066) -T2F54 000:654.405 - 0.009ms returns 0 -T2F54 000:654.413 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 000:654.419 - 0.009ms returns 0 -T2F54 000:654.427 JLINK_WriteReg(MSP, 0x20004000) -T2F54 000:654.433 - 0.009ms returns 0 -T2F54 000:654.440 JLINK_WriteReg(PSP, 0x20004000) -T2F54 000:654.447 - 0.009ms returns 0 -T2F54 000:654.454 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 000:654.460 - 0.009ms returns 0 -T2F54 000:654.468 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 000:654.475 - 0.009ms returns 0x00000009 -T2F54 000:654.483 JLINK_Go() -T2F54 000:654.494 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 000:658.516 - 4.040ms -T2F54 000:658.531 JLINK_IsHalted() -T2F54 000:659.274 - 0.757ms returns FALSE -T2F54 000:659.308 JLINK_HasError() -T2F54 000:665.577 JLINK_IsHalted() -T2F54 000:666.014 - 0.444ms returns FALSE -T2F54 000:666.043 JLINK_HasError() -T2F54 000:667.815 JLINK_IsHalted() -T2F54 000:668.312 - 0.504ms returns FALSE -T2F54 000:668.327 JLINK_HasError() -T2F54 000:670.709 JLINK_IsHalted() -T2F54 000:671.454 - 0.751ms returns FALSE -T2F54 000:671.468 JLINK_HasError() -T2F54 000:673.420 JLINK_IsHalted() -T2F54 000:674.123 - 0.711ms returns FALSE -T2F54 000:674.143 JLINK_HasError() -T2F54 000:675.492 JLINK_IsHalted() -T2F54 000:675.993 - 0.515ms returns FALSE -T2F54 000:676.019 JLINK_HasError() -T2F54 000:677.215 JLINK_IsHalted() -T2F54 000:677.681 - 0.474ms returns FALSE -T2F54 000:677.698 JLINK_HasError() -T2F54 000:679.205 JLINK_IsHalted() -T2F54 000:682.507 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 000:682.893 - 3.708ms returns TRUE -T2F54 000:682.922 JLINK_ReadReg(R15 (PC)) -T2F54 000:682.931 - 0.011ms returns 0x20000000 -T2F54 000:682.939 JLINK_ClrBPEx(BPHandle = 0x00000009) -T2F54 000:682.945 - 0.009ms returns 0x00 -T2F54 000:682.959 JLINK_ReadReg(R0) -T2F54 000:682.967 - 0.010ms returns 0x00000000 -T2F54 000:683.506 JLINK_HasError() -T2F54 000:683.518 JLINK_WriteReg(R0, 0x00004000) -T2F54 000:683.526 - 0.010ms returns 0 -T2F54 000:683.534 JLINK_WriteReg(R1, 0x00001000) -T2F54 000:683.540 - 0.009ms returns 0 -T2F54 000:683.548 JLINK_WriteReg(R2, 0x000000FF) -T2F54 000:683.554 - 0.008ms returns 0 -T2F54 000:683.561 JLINK_WriteReg(R3, 0x00000000) -T2F54 000:683.567 - 0.008ms returns 0 -T2F54 000:683.574 JLINK_WriteReg(R4, 0x00000000) -T2F54 000:683.580 - 0.008ms returns 0 -T2F54 000:683.588 JLINK_WriteReg(R5, 0x00000000) -T2F54 000:683.594 - 0.008ms returns 0 -T2F54 000:683.601 JLINK_WriteReg(R6, 0x00000000) -T2F54 000:683.607 - 0.008ms returns 0 -T2F54 000:683.614 JLINK_WriteReg(R7, 0x00000000) -T2F54 000:683.620 - 0.008ms returns 0 -T2F54 000:683.628 JLINK_WriteReg(R8, 0x00000000) -T2F54 000:683.634 - 0.008ms returns 0 -T2F54 000:683.641 JLINK_WriteReg(R9, 0x20000104) -T2F54 000:683.647 - 0.008ms returns 0 -T2F54 000:683.654 JLINK_WriteReg(R10, 0x00000000) -T2F54 000:683.660 - 0.008ms returns 0 -T2F54 000:683.668 JLINK_WriteReg(R11, 0x00000000) -T2F54 000:683.674 - 0.008ms returns 0 -T2F54 000:683.681 JLINK_WriteReg(R12, 0x00000000) -T2F54 000:683.687 - 0.008ms returns 0 -T2F54 000:683.695 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 000:683.701 - 0.009ms returns 0 -T2F54 000:683.709 JLINK_WriteReg(R14, 0x20000001) -T2F54 000:683.714 - 0.008ms returns 0 -T2F54 000:683.722 JLINK_WriteReg(R15 (PC), 0x20000020) -T2F54 000:683.728 - 0.008ms returns 0 -T2F54 000:683.735 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 000:683.741 - 0.008ms returns 0 -T2F54 000:683.749 JLINK_WriteReg(MSP, 0x20004000) -T2F54 000:683.755 - 0.008ms returns 0 -T2F54 000:683.762 JLINK_WriteReg(PSP, 0x20004000) -T2F54 000:683.768 - 0.008ms returns 0 -T2F54 000:683.776 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 000:683.781 - 0.008ms returns 0 -T2F54 000:683.789 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 000:683.796 - 0.009ms returns 0x0000000A -T2F54 000:683.804 JLINK_Go() -T2F54 000:683.819 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 000:687.256 - 3.460ms -T2F54 000:687.294 JLINK_IsHalted() -T2F54 000:690.606 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 000:691.103 - 3.819ms returns TRUE -T2F54 000:691.128 JLINK_ReadReg(R15 (PC)) -T2F54 000:691.138 - 0.013ms returns 0x20000000 -T2F54 000:691.147 JLINK_ClrBPEx(BPHandle = 0x0000000A) -T2F54 000:691.153 - 0.009ms returns 0x00 -T2F54 000:691.161 JLINK_ReadReg(R0) -T2F54 000:691.170 - 0.012ms returns 0x00000001 -T2F54 000:691.179 JLINK_HasError() -T2F54 000:691.278 JLINK_WriteReg(R0, 0x00004000) -T2F54 000:691.299 - 0.024ms returns 0 -T2F54 000:691.308 JLINK_WriteReg(R1, 0x00001000) -T2F54 000:691.315 - 0.009ms returns 0 -T2F54 000:691.323 JLINK_WriteReg(R2, 0x000000FF) -T2F54 000:691.329 - 0.009ms returns 0 -T2F54 000:691.336 JLINK_WriteReg(R3, 0x00000000) -T2F54 000:691.342 - 0.008ms returns 0 -T2F54 000:691.350 JLINK_WriteReg(R4, 0x00000000) -T2F54 000:691.356 - 0.009ms returns 0 -T2F54 000:691.363 JLINK_WriteReg(R5, 0x00000000) -T2F54 000:691.369 - 0.009ms returns 0 -T2F54 000:691.377 JLINK_WriteReg(R6, 0x00000000) -T2F54 000:691.383 - 0.008ms returns 0 -T2F54 000:691.390 JLINK_WriteReg(R7, 0x00000000) -T2F54 000:691.396 - 0.008ms returns 0 -T2F54 000:691.404 JLINK_WriteReg(R8, 0x00000000) -T2F54 000:691.410 - 0.008ms returns 0 -T2F54 000:691.417 JLINK_WriteReg(R9, 0x20000104) -T2F54 000:691.423 - 0.008ms returns 0 -T2F54 000:691.430 JLINK_WriteReg(R10, 0x00000000) -T2F54 000:691.436 - 0.008ms returns 0 -T2F54 000:691.444 JLINK_WriteReg(R11, 0x00000000) -T2F54 000:691.450 - 0.008ms returns 0 -T2F54 000:691.457 JLINK_WriteReg(R12, 0x00000000) -T2F54 000:691.463 - 0.008ms returns 0 -T2F54 000:691.471 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 000:691.477 - 0.009ms returns 0 -T2F54 000:691.485 JLINK_WriteReg(R14, 0x20000001) -T2F54 000:691.491 - 0.008ms returns 0 -T2F54 000:691.498 JLINK_WriteReg(R15 (PC), 0x20000066) -T2F54 000:691.504 - 0.009ms returns 0 -T2F54 000:691.512 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 000:691.527 - 0.023ms returns 0 -T2F54 000:691.563 JLINK_WriteReg(MSP, 0x20004000) -T2F54 000:691.603 - 0.047ms returns 0 -T2F54 000:691.620 JLINK_WriteReg(PSP, 0x20004000) -T2F54 000:691.630 - 0.013ms returns 0 -T2F54 000:691.642 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 000:691.653 - 0.021ms returns 0 -T2F54 000:691.673 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 000:691.686 - 0.017ms returns 0x0000000B -T2F54 000:691.698 JLINK_Go() -T2F54 000:691.725 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 000:695.221 - 3.540ms -T2F54 000:695.250 JLINK_IsHalted() -T2F54 000:695.625 - 0.383ms returns FALSE -T2F54 000:695.642 JLINK_HasError() -T2F54 000:697.525 JLINK_IsHalted() -T2F54 000:697.976 - 0.465ms returns FALSE -T2F54 000:698.000 JLINK_HasError() -T2F54 000:699.706 JLINK_IsHalted() -T2F54 000:700.166 - 0.467ms returns FALSE -T2F54 000:700.182 JLINK_HasError() -T2F54 000:701.733 JLINK_IsHalted() -T2F54 000:702.306 - 0.581ms returns FALSE -T2F54 000:702.323 JLINK_HasError() -T2F54 000:703.760 JLINK_IsHalted() -T2F54 000:704.367 - 0.614ms returns FALSE -T2F54 000:704.382 JLINK_HasError() -T2F54 000:706.510 JLINK_IsHalted() -T2F54 000:707.192 - 0.689ms returns FALSE -T2F54 000:707.208 JLINK_HasError() -T2F54 000:709.305 JLINK_IsHalted() -T2F54 000:709.779 - 0.482ms returns FALSE -T2F54 000:709.808 JLINK_HasError() -T2F54 000:711.891 JLINK_IsHalted() -T2F54 000:712.236 - 0.356ms returns FALSE -T2F54 000:712.255 JLINK_HasError() -T2F54 000:713.893 JLINK_IsHalted() -T2F54 000:714.334 - 0.449ms returns FALSE -T2F54 000:714.351 JLINK_HasError() -T2F54 000:716.331 JLINK_IsHalted() -T2F54 000:719.640 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 000:720.448 - 4.135ms returns TRUE -T2F54 000:720.483 JLINK_ReadReg(R15 (PC)) -T2F54 000:720.495 - 0.015ms returns 0x20000000 -T2F54 000:720.503 JLINK_ClrBPEx(BPHandle = 0x0000000B) -T2F54 000:720.510 - 0.009ms returns 0x00 -T2F54 000:720.518 JLINK_ReadReg(R0) -T2F54 000:720.525 - 0.009ms returns 0x00000000 -T2F54 000:721.264 JLINK_HasError() -T2F54 000:721.286 JLINK_WriteReg(R0, 0x00005000) -T2F54 000:721.297 - 0.014ms returns 0 -T2F54 000:721.306 JLINK_WriteReg(R1, 0x00001000) -T2F54 000:721.312 - 0.009ms returns 0 -T2F54 000:721.319 JLINK_WriteReg(R2, 0x000000FF) -T2F54 000:721.325 - 0.009ms returns 0 -T2F54 000:721.333 JLINK_WriteReg(R3, 0x00000000) -T2F54 000:721.339 - 0.008ms returns 0 -T2F54 000:721.346 JLINK_WriteReg(R4, 0x00000000) -T2F54 000:721.352 - 0.008ms returns 0 -T2F54 000:721.360 JLINK_WriteReg(R5, 0x00000000) -T2F54 000:721.366 - 0.008ms returns 0 -T2F54 000:721.373 JLINK_WriteReg(R6, 0x00000000) -T2F54 000:721.379 - 0.008ms returns 0 -T2F54 000:721.386 JLINK_WriteReg(R7, 0x00000000) -T2F54 000:721.392 - 0.008ms returns 0 -T2F54 000:721.400 JLINK_WriteReg(R8, 0x00000000) -T2F54 000:721.406 - 0.008ms returns 0 -T2F54 000:721.413 JLINK_WriteReg(R9, 0x20000104) -T2F54 000:721.419 - 0.008ms returns 0 -T2F54 000:721.426 JLINK_WriteReg(R10, 0x00000000) -T2F54 000:721.432 - 0.008ms returns 0 -T2F54 000:721.440 JLINK_WriteReg(R11, 0x00000000) -T2F54 000:721.446 - 0.008ms returns 0 -T2F54 000:721.453 JLINK_WriteReg(R12, 0x00000000) -T2F54 000:721.460 - 0.009ms returns 0 -T2F54 000:721.467 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 000:721.474 - 0.009ms returns 0 -T2F54 000:721.482 JLINK_WriteReg(R14, 0x20000001) -T2F54 000:721.488 - 0.008ms returns 0 -T2F54 000:721.495 JLINK_WriteReg(R15 (PC), 0x20000020) -T2F54 000:721.501 - 0.009ms returns 0 -T2F54 000:721.509 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 000:721.515 - 0.008ms returns 0 -T2F54 000:721.522 JLINK_WriteReg(MSP, 0x20004000) -T2F54 000:721.528 - 0.008ms returns 0 -T2F54 000:721.536 JLINK_WriteReg(PSP, 0x20004000) -T2F54 000:721.541 - 0.008ms returns 0 -T2F54 000:721.549 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 000:721.555 - 0.008ms returns 0 -T2F54 000:721.563 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 000:721.570 - 0.010ms returns 0x0000000C -T2F54 000:721.578 JLINK_Go() -T2F54 000:721.592 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 000:724.959 - 3.396ms -T2F54 000:724.984 JLINK_IsHalted() -T2F54 000:727.971 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 000:728.307 - 3.331ms returns TRUE -T2F54 000:728.324 JLINK_ReadReg(R15 (PC)) -T2F54 000:728.333 - 0.012ms returns 0x20000000 -T2F54 000:728.342 JLINK_ClrBPEx(BPHandle = 0x0000000C) -T2F54 000:728.349 - 0.010ms returns 0x00 -T2F54 000:728.371 JLINK_ReadReg(R0) -T2F54 000:728.377 - 0.009ms returns 0x00000001 -T2F54 000:728.386 JLINK_HasError() -T2F54 000:728.395 JLINK_WriteReg(R0, 0x00005000) -T2F54 000:728.402 - 0.009ms returns 0 -T2F54 000:728.410 JLINK_WriteReg(R1, 0x00001000) -T2F54 000:728.416 - 0.009ms returns 0 -T2F54 000:728.423 JLINK_WriteReg(R2, 0x000000FF) -T2F54 000:728.429 - 0.008ms returns 0 -T2F54 000:728.437 JLINK_WriteReg(R3, 0x00000000) -T2F54 000:728.443 - 0.008ms returns 0 -T2F54 000:728.450 JLINK_WriteReg(R4, 0x00000000) -T2F54 000:728.456 - 0.008ms returns 0 -T2F54 000:728.463 JLINK_WriteReg(R5, 0x00000000) -T2F54 000:728.469 - 0.008ms returns 0 -T2F54 000:728.477 JLINK_WriteReg(R6, 0x00000000) -T2F54 000:728.483 - 0.008ms returns 0 -T2F54 000:728.490 JLINK_WriteReg(R7, 0x00000000) -T2F54 000:728.496 - 0.008ms returns 0 -T2F54 000:728.504 JLINK_WriteReg(R8, 0x00000000) -T2F54 000:728.510 - 0.009ms returns 0 -T2F54 000:728.517 JLINK_WriteReg(R9, 0x20000104) -T2F54 000:728.523 - 0.008ms returns 0 -T2F54 000:728.530 JLINK_WriteReg(R10, 0x00000000) -T2F54 000:728.536 - 0.008ms returns 0 -T2F54 000:728.544 JLINK_WriteReg(R11, 0x00000000) -T2F54 000:728.550 - 0.008ms returns 0 -T2F54 000:728.557 JLINK_WriteReg(R12, 0x00000000) -T2F54 000:728.563 - 0.008ms returns 0 -T2F54 000:728.571 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 000:728.577 - 0.009ms returns 0 -T2F54 000:728.585 JLINK_WriteReg(R14, 0x20000001) -T2F54 000:728.590 - 0.008ms returns 0 -T2F54 000:728.598 JLINK_WriteReg(R15 (PC), 0x20000066) -T2F54 000:728.604 - 0.009ms returns 0 -T2F54 000:728.612 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 000:728.618 - 0.008ms returns 0 -T2F54 000:728.625 JLINK_WriteReg(MSP, 0x20004000) -T2F54 000:728.631 - 0.009ms returns 0 -T2F54 000:728.639 JLINK_WriteReg(PSP, 0x20004000) -T2F54 000:728.645 - 0.008ms returns 0 -T2F54 000:728.653 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 000:728.659 - 0.008ms returns 0 -T2F54 000:728.667 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 000:728.673 - 0.009ms returns 0x0000000D -T2F54 000:728.681 JLINK_Go() -T2F54 000:728.693 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 000:731.835 - 3.175ms -T2F54 000:731.865 JLINK_IsHalted() -T2F54 000:732.174 - 0.316ms returns FALSE -T2F54 000:732.191 JLINK_HasError() -T2F54 000:733.983 JLINK_IsHalted() -T2F54 000:734.314 - 0.338ms returns FALSE -T2F54 000:734.329 JLINK_HasError() -T2F54 000:736.249 JLINK_IsHalted() -T2F54 000:736.634 - 0.392ms returns FALSE -T2F54 000:736.649 JLINK_HasError() -T2F54 000:737.781 JLINK_IsHalted() -T2F54 000:738.604 - 0.880ms returns FALSE -T2F54 000:738.712 JLINK_HasError() -T2F54 000:740.711 JLINK_IsHalted() -T2F54 000:741.161 - 0.472ms returns FALSE -T2F54 000:741.210 JLINK_HasError() -T2F54 000:743.743 JLINK_IsHalted() -T2F54 000:744.217 - 0.482ms returns FALSE -T2F54 000:744.233 JLINK_HasError() -T2F54 000:745.706 JLINK_IsHalted() -T2F54 000:746.137 - 0.439ms returns FALSE -T2F54 000:746.158 JLINK_HasError() -T2F54 000:747.686 JLINK_IsHalted() -T2F54 000:748.107 - 0.429ms returns FALSE -T2F54 000:748.124 JLINK_HasError() -T2F54 000:749.663 JLINK_IsHalted() -T2F54 000:750.445 - 0.799ms returns FALSE -T2F54 000:750.474 JLINK_HasError() -T2F54 000:752.013 JLINK_IsHalted() -T2F54 000:755.444 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 000:755.958 - 3.956ms returns TRUE -T2F54 000:755.998 JLINK_ReadReg(R15 (PC)) -T2F54 000:756.009 - 0.014ms returns 0x20000000 -T2F54 000:756.017 JLINK_ClrBPEx(BPHandle = 0x0000000D) -T2F54 000:756.024 - 0.010ms returns 0x00 -T2F54 000:756.032 JLINK_ReadReg(R0) -T2F54 000:756.039 - 0.009ms returns 0x00000000 -T2F54 000:757.802 JLINK_HasError() -T2F54 000:757.817 JLINK_WriteReg(R0, 0x00006000) -T2F54 000:757.839 - 0.025ms returns 0 -T2F54 000:757.861 JLINK_WriteReg(R1, 0x00001000) -T2F54 000:757.867 - 0.022ms returns 0 -T2F54 000:757.888 JLINK_WriteReg(R2, 0x000000FF) -T2F54 000:757.899 - 0.013ms returns 0 -T2F54 000:757.920 JLINK_WriteReg(R3, 0x00000000) -T2F54 000:757.926 - 0.008ms returns 0 -T2F54 000:757.934 JLINK_WriteReg(R4, 0x00000000) -T2F54 000:757.953 - 0.022ms returns 0 -T2F54 000:757.961 JLINK_WriteReg(R5, 0x00000000) -T2F54 000:757.980 - 0.022ms returns 0 -T2F54 000:758.001 JLINK_WriteReg(R6, 0x00000000) -T2F54 000:758.006 - 0.008ms returns 0 -T2F54 000:758.014 JLINK_WriteReg(R7, 0x00000000) -T2F54 000:758.033 - 0.022ms returns 0 -T2F54 000:758.040 JLINK_WriteReg(R8, 0x00000000) -T2F54 000:758.046 - 0.008ms returns 0 -T2F54 000:758.054 JLINK_WriteReg(R9, 0x20000104) -T2F54 000:758.073 - 0.022ms returns 0 -T2F54 000:758.094 JLINK_WriteReg(R10, 0x00000000) -T2F54 000:758.100 - 0.009ms returns 0 -T2F54 000:758.107 JLINK_WriteReg(R11, 0x00000000) -T2F54 000:758.113 - 0.008ms returns 0 -T2F54 000:758.120 JLINK_WriteReg(R12, 0x00000000) -T2F54 000:758.126 - 0.008ms returns 0 -T2F54 000:758.134 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 000:758.140 - 0.009ms returns 0 -T2F54 000:758.148 JLINK_WriteReg(R14, 0x20000001) -T2F54 000:758.154 - 0.008ms returns 0 -T2F54 000:758.161 JLINK_WriteReg(R15 (PC), 0x20000020) -T2F54 000:758.167 - 0.008ms returns 0 -T2F54 000:758.174 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 000:758.180 - 0.008ms returns 0 -T2F54 000:758.188 JLINK_WriteReg(MSP, 0x20004000) -T2F54 000:758.194 - 0.008ms returns 0 -T2F54 000:758.201 JLINK_WriteReg(PSP, 0x20004000) -T2F54 000:758.207 - 0.008ms returns 0 -T2F54 000:758.214 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 000:758.220 - 0.008ms returns 0 -T2F54 000:758.228 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 000:758.239 - 0.013ms returns 0x0000000E -T2F54 000:758.247 JLINK_Go() -T2F54 000:758.260 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 000:761.555 - 3.318ms -T2F54 000:761.573 JLINK_IsHalted() -T2F54 000:764.550 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 000:764.969 - 3.404ms returns TRUE -T2F54 000:764.987 JLINK_ReadReg(R15 (PC)) -T2F54 000:764.997 - 0.013ms returns 0x20000000 -T2F54 000:765.005 JLINK_ClrBPEx(BPHandle = 0x0000000E) -T2F54 000:765.012 - 0.009ms returns 0x00 -T2F54 000:765.020 JLINK_ReadReg(R0) -T2F54 000:765.026 - 0.009ms returns 0x00000001 -T2F54 000:765.035 JLINK_HasError() -T2F54 000:765.043 JLINK_WriteReg(R0, 0x00006000) -T2F54 000:765.050 - 0.009ms returns 0 -T2F54 000:765.058 JLINK_WriteReg(R1, 0x00001000) -T2F54 000:765.064 - 0.009ms returns 0 -T2F54 000:765.072 JLINK_WriteReg(R2, 0x000000FF) -T2F54 000:765.078 - 0.009ms returns 0 -T2F54 000:765.086 JLINK_WriteReg(R3, 0x00000000) -T2F54 000:765.092 - 0.009ms returns 0 -T2F54 000:765.099 JLINK_WriteReg(R4, 0x00000000) -T2F54 000:765.106 - 0.009ms returns 0 -T2F54 000:765.113 JLINK_WriteReg(R5, 0x00000000) -T2F54 000:765.119 - 0.009ms returns 0 -T2F54 000:765.127 JLINK_WriteReg(R6, 0x00000000) -T2F54 000:765.133 - 0.009ms returns 0 -T2F54 000:765.141 JLINK_WriteReg(R7, 0x00000000) -T2F54 000:765.147 - 0.009ms returns 0 -T2F54 000:765.154 JLINK_WriteReg(R8, 0x00000000) -T2F54 000:765.161 - 0.009ms returns 0 -T2F54 000:765.169 JLINK_WriteReg(R9, 0x20000104) -T2F54 000:765.175 - 0.009ms returns 0 -T2F54 000:765.183 JLINK_WriteReg(R10, 0x00000000) -T2F54 000:765.189 - 0.009ms returns 0 -T2F54 000:765.196 JLINK_WriteReg(R11, 0x00000000) -T2F54 000:765.202 - 0.009ms returns 0 -T2F54 000:765.210 JLINK_WriteReg(R12, 0x00000000) -T2F54 000:765.216 - 0.009ms returns 0 -T2F54 000:765.224 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 000:765.230 - 0.009ms returns 0 -T2F54 000:765.238 JLINK_WriteReg(R14, 0x20000001) -T2F54 000:765.244 - 0.009ms returns 0 -T2F54 000:765.251 JLINK_WriteReg(R15 (PC), 0x20000066) -T2F54 000:765.258 - 0.009ms returns 0 -T2F54 000:765.265 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 000:765.271 - 0.009ms returns 0 -T2F54 000:765.279 JLINK_WriteReg(MSP, 0x20004000) -T2F54 000:765.285 - 0.009ms returns 0 -T2F54 000:765.293 JLINK_WriteReg(PSP, 0x20004000) -T2F54 000:765.299 - 0.009ms returns 0 -T2F54 000:765.307 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 000:765.313 - 0.009ms returns 0 -T2F54 000:765.324 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 000:765.333 - 0.012ms returns 0x0000000F -T2F54 000:765.341 JLINK_Go() -T2F54 000:765.353 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 000:769.909 - 4.596ms -T2F54 000:769.959 JLINK_IsHalted() -T2F54 000:770.450 - 0.521ms returns FALSE -T2F54 000:770.489 JLINK_HasError() -T2F54 000:771.795 JLINK_IsHalted() -T2F54 000:772.261 - 0.475ms returns FALSE -T2F54 000:772.278 JLINK_HasError() -T2F54 000:773.786 JLINK_IsHalted() -T2F54 000:774.202 - 0.423ms returns FALSE -T2F54 000:774.217 JLINK_HasError() -T2F54 000:775.995 JLINK_IsHalted() -T2F54 000:776.433 - 0.446ms returns FALSE -T2F54 000:776.466 JLINK_HasError() -T2F54 000:778.442 JLINK_IsHalted() -T2F54 000:778.889 - 0.455ms returns FALSE -T2F54 000:778.906 JLINK_HasError() -T2F54 000:780.324 JLINK_IsHalted() -T2F54 000:780.781 - 0.478ms returns FALSE -T2F54 000:780.810 JLINK_HasError() -T2F54 000:782.374 JLINK_IsHalted() -T2F54 000:782.834 - 0.468ms returns FALSE -T2F54 000:782.850 JLINK_HasError() -T2F54 000:784.112 JLINK_IsHalted() -T2F54 000:784.604 - 0.504ms returns FALSE -T2F54 000:784.645 JLINK_HasError() -T2F54 000:786.674 JLINK_IsHalted() -T2F54 000:787.028 - 0.363ms returns FALSE -T2F54 000:787.046 JLINK_HasError() -T2F54 000:788.695 JLINK_IsHalted() -T2F54 000:789.173 - 0.485ms returns FALSE -T2F54 000:789.188 JLINK_HasError() -T2F54 000:790.695 JLINK_IsHalted() -T2F54 000:793.889 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 000:794.282 - 3.608ms returns TRUE -T2F54 000:794.311 JLINK_ReadReg(R15 (PC)) -T2F54 000:794.320 - 0.012ms returns 0x20000000 -T2F54 000:794.328 JLINK_ClrBPEx(BPHandle = 0x0000000F) -T2F54 000:794.334 - 0.009ms returns 0x00 -T2F54 000:794.342 JLINK_ReadReg(R0) -T2F54 000:794.348 - 0.008ms returns 0x00000000 -T2F54 000:795.000 JLINK_HasError() -T2F54 000:795.017 JLINK_WriteReg(R0, 0x00007000) -T2F54 000:795.026 - 0.011ms returns 0 -T2F54 000:795.034 JLINK_WriteReg(R1, 0x00001000) -T2F54 000:795.040 - 0.009ms returns 0 -T2F54 000:795.048 JLINK_WriteReg(R2, 0x000000FF) -T2F54 000:795.054 - 0.008ms returns 0 -T2F54 000:795.061 JLINK_WriteReg(R3, 0x00000000) -T2F54 000:795.067 - 0.008ms returns 0 -T2F54 000:795.074 JLINK_WriteReg(R4, 0x00000000) -T2F54 000:795.080 - 0.008ms returns 0 -T2F54 000:795.088 JLINK_WriteReg(R5, 0x00000000) -T2F54 000:795.094 - 0.008ms returns 0 -T2F54 000:795.101 JLINK_WriteReg(R6, 0x00000000) -T2F54 000:795.107 - 0.008ms returns 0 -T2F54 000:795.115 JLINK_WriteReg(R7, 0x00000000) -T2F54 000:795.120 - 0.008ms returns 0 -T2F54 000:795.128 JLINK_WriteReg(R8, 0x00000000) -T2F54 000:795.134 - 0.008ms returns 0 -T2F54 000:795.141 JLINK_WriteReg(R9, 0x20000104) -T2F54 000:795.147 - 0.008ms returns 0 -T2F54 000:795.155 JLINK_WriteReg(R10, 0x00000000) -T2F54 000:795.161 - 0.009ms returns 0 -T2F54 000:795.169 JLINK_WriteReg(R11, 0x00000000) -T2F54 000:795.174 - 0.008ms returns 0 -T2F54 000:795.182 JLINK_WriteReg(R12, 0x00000000) -T2F54 000:795.188 - 0.008ms returns 0 -T2F54 000:795.195 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 000:795.202 - 0.009ms returns 0 -T2F54 000:795.210 JLINK_WriteReg(R14, 0x20000001) -T2F54 000:795.216 - 0.008ms returns 0 -T2F54 000:795.223 JLINK_WriteReg(R15 (PC), 0x20000020) -T2F54 000:795.229 - 0.008ms returns 0 -T2F54 000:795.237 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 000:795.243 - 0.009ms returns 0 -T2F54 000:795.251 JLINK_WriteReg(MSP, 0x20004000) -T2F54 000:795.257 - 0.009ms returns 0 -T2F54 000:795.264 JLINK_WriteReg(PSP, 0x20004000) -T2F54 000:795.270 - 0.008ms returns 0 -T2F54 000:795.278 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 000:795.284 - 0.009ms returns 0 -T2F54 000:795.292 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 000:795.299 - 0.010ms returns 0x00000010 -T2F54 000:795.307 JLINK_Go() -T2F54 000:795.321 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 000:799.321 - 4.031ms -T2F54 000:799.355 JLINK_IsHalted() -T2F54 000:802.657 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 000:803.301 - 3.957ms returns TRUE -T2F54 000:803.331 JLINK_ReadReg(R15 (PC)) -T2F54 000:803.343 - 0.029ms returns 0x20000000 -T2F54 000:803.369 JLINK_ClrBPEx(BPHandle = 0x00000010) -T2F54 000:803.428 - 0.062ms returns 0x00 -T2F54 000:803.437 JLINK_ReadReg(R0) -T2F54 000:803.462 - 0.028ms returns 0x00000001 -T2F54 000:803.474 JLINK_HasError() -T2F54 000:803.667 JLINK_WriteReg(R0, 0x00007000) -T2F54 000:803.682 - 0.018ms returns 0 -T2F54 000:803.704 JLINK_WriteReg(R1, 0x00001000) -T2F54 000:803.724 - 0.022ms returns 0 -T2F54 000:803.745 JLINK_WriteReg(R2, 0x000000FF) -T2F54 000:803.751 - 0.008ms returns 0 -T2F54 000:803.758 JLINK_WriteReg(R3, 0x00000000) -T2F54 000:803.783 - 0.027ms returns 0 -T2F54 000:803.790 JLINK_WriteReg(R4, 0x00000000) -T2F54 000:803.796 - 0.008ms returns 0 -T2F54 000:803.817 JLINK_WriteReg(R5, 0x00000000) -T2F54 000:803.823 - 0.008ms returns 0 -T2F54 000:803.844 JLINK_WriteReg(R6, 0x00000000) -T2F54 000:803.850 - 0.008ms returns 0 -T2F54 000:803.857 JLINK_WriteReg(R7, 0x00000000) -T2F54 000:803.863 - 0.008ms returns 0 -T2F54 000:803.884 JLINK_WriteReg(R8, 0x00000000) -T2F54 000:803.909 - 0.027ms returns 0 -T2F54 000:803.916 JLINK_WriteReg(R9, 0x20000104) -T2F54 000:803.935 - 0.021ms returns 0 -T2F54 000:803.943 JLINK_WriteReg(R10, 0x00000000) -T2F54 000:803.949 - 0.008ms returns 0 -T2F54 000:803.956 JLINK_WriteReg(R11, 0x00000000) -T2F54 000:803.975 - 0.022ms returns 0 -T2F54 000:803.983 JLINK_WriteReg(R12, 0x00000000) -T2F54 000:803.989 - 0.008ms returns 0 -T2F54 000:803.996 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 000:804.016 - 0.022ms returns 0 -T2F54 000:804.023 JLINK_WriteReg(R14, 0x20000001) -T2F54 000:804.029 - 0.008ms returns 0 -T2F54 000:804.036 JLINK_WriteReg(R15 (PC), 0x20000066) -T2F54 000:804.042 - 0.008ms returns 0 -T2F54 000:804.049 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 000:804.055 - 0.008ms returns 0 -T2F54 000:804.062 JLINK_WriteReg(MSP, 0x20004000) -T2F54 000:804.082 - 0.022ms returns 0 -T2F54 000:804.089 JLINK_WriteReg(PSP, 0x20004000) -T2F54 000:804.095 - 0.008ms returns 0 -T2F54 000:804.116 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 000:804.122 - 0.008ms returns 0 -T2F54 000:804.148 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 000:804.169 - 0.023ms returns 0x00000011 -T2F54 000:804.177 JLINK_Go() -T2F54 000:804.189 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 000:807.619 - 3.450ms -T2F54 000:807.635 JLINK_IsHalted() -T2F54 000:807.984 - 0.357ms returns FALSE -T2F54 000:808.000 JLINK_HasError() -T2F54 000:809.317 JLINK_IsHalted() -T2F54 000:809.763 - 0.454ms returns FALSE -T2F54 000:809.779 JLINK_HasError() -T2F54 000:810.946 JLINK_IsHalted() -T2F54 000:811.768 - 0.831ms returns FALSE -T2F54 000:811.785 JLINK_HasError() -T2F54 000:813.755 JLINK_IsHalted() -T2F54 000:814.214 - 0.467ms returns FALSE -T2F54 000:814.231 JLINK_HasError() -T2F54 000:816.039 JLINK_IsHalted() -T2F54 000:816.872 - 0.854ms returns FALSE -T2F54 000:816.922 JLINK_HasError() -T2F54 000:818.730 JLINK_IsHalted() -T2F54 000:819.203 - 0.480ms returns FALSE -T2F54 000:819.219 JLINK_HasError() -T2F54 000:820.710 JLINK_IsHalted() -T2F54 000:821.101 - 0.399ms returns FALSE -T2F54 000:821.118 JLINK_HasError() -T2F54 000:825.919 JLINK_IsHalted() -T2F54 000:826.330 - 0.420ms returns FALSE -T2F54 000:826.346 JLINK_HasError() -T2F54 000:827.905 JLINK_IsHalted() -T2F54 000:831.118 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 000:831.615 - 3.728ms returns TRUE -T2F54 000:831.649 JLINK_ReadReg(R15 (PC)) -T2F54 000:831.661 - 0.015ms returns 0x20000000 -T2F54 000:831.677 JLINK_ClrBPEx(BPHandle = 0x00000011) -T2F54 000:831.685 - 0.011ms returns 0x00 -T2F54 000:831.696 JLINK_ReadReg(R0) -T2F54 000:831.702 - 0.009ms returns 0x00000000 -T2F54 000:832.259 JLINK_HasError() -T2F54 000:832.276 JLINK_WriteReg(R0, 0x00008000) -T2F54 000:832.286 - 0.012ms returns 0 -T2F54 000:832.294 JLINK_WriteReg(R1, 0x00001000) -T2F54 000:832.300 - 0.009ms returns 0 -T2F54 000:832.308 JLINK_WriteReg(R2, 0x000000FF) -T2F54 000:832.314 - 0.008ms returns 0 -T2F54 000:832.322 JLINK_WriteReg(R3, 0x00000000) -T2F54 000:832.328 - 0.008ms returns 0 -T2F54 000:832.335 JLINK_WriteReg(R4, 0x00000000) -T2F54 000:832.341 - 0.008ms returns 0 -T2F54 000:832.349 JLINK_WriteReg(R5, 0x00000000) -T2F54 000:832.358 - 0.014ms returns 0 -T2F54 000:832.368 JLINK_WriteReg(R6, 0x00000000) -T2F54 000:832.374 - 0.008ms returns 0 -T2F54 000:832.381 JLINK_WriteReg(R7, 0x00000000) -T2F54 000:832.387 - 0.008ms returns 0 -T2F54 000:832.395 JLINK_WriteReg(R8, 0x00000000) -T2F54 000:832.401 - 0.008ms returns 0 -T2F54 000:832.408 JLINK_WriteReg(R9, 0x20000104) -T2F54 000:832.414 - 0.008ms returns 0 -T2F54 000:832.421 JLINK_WriteReg(R10, 0x00000000) -T2F54 000:832.427 - 0.008ms returns 0 -T2F54 000:832.435 JLINK_WriteReg(R11, 0x00000000) -T2F54 000:832.441 - 0.008ms returns 0 -T2F54 000:832.448 JLINK_WriteReg(R12, 0x00000000) -T2F54 000:832.454 - 0.008ms returns 0 -T2F54 000:832.461 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 000:832.468 - 0.009ms returns 0 -T2F54 000:832.475 JLINK_WriteReg(R14, 0x20000001) -T2F54 000:832.481 - 0.008ms returns 0 -T2F54 000:832.489 JLINK_WriteReg(R15 (PC), 0x20000020) -T2F54 000:832.495 - 0.008ms returns 0 -T2F54 000:832.502 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 000:832.508 - 0.008ms returns 0 -T2F54 000:832.516 JLINK_WriteReg(MSP, 0x20004000) -T2F54 000:832.521 - 0.008ms returns 0 -T2F54 000:832.529 JLINK_WriteReg(PSP, 0x20004000) -T2F54 000:832.535 - 0.008ms returns 0 -T2F54 000:832.542 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 000:832.548 - 0.008ms returns 0 -T2F54 000:832.556 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 000:832.563 - 0.010ms returns 0x00000012 -T2F54 000:832.571 JLINK_Go() -T2F54 000:832.585 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 000:835.952 - 3.391ms -T2F54 000:835.970 JLINK_IsHalted() -T2F54 000:838.887 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 000:839.253 - 3.289ms returns TRUE -T2F54 000:839.267 JLINK_ReadReg(R15 (PC)) -T2F54 000:839.276 - 0.011ms returns 0x20000000 -T2F54 000:839.284 JLINK_ClrBPEx(BPHandle = 0x00000012) -T2F54 000:839.291 - 0.009ms returns 0x00 -T2F54 000:839.299 JLINK_ReadReg(R0) -T2F54 000:839.305 - 0.009ms returns 0x00000001 -T2F54 000:839.314 JLINK_HasError() -T2F54 000:839.322 JLINK_WriteReg(R0, 0x00008000) -T2F54 000:839.329 - 0.009ms returns 0 -T2F54 000:839.336 JLINK_WriteReg(R1, 0x00001000) -T2F54 000:839.343 - 0.009ms returns 0 -T2F54 000:839.351 JLINK_WriteReg(R2, 0x000000FF) -T2F54 000:839.357 - 0.009ms returns 0 -T2F54 000:839.364 JLINK_WriteReg(R3, 0x00000000) -T2F54 000:839.371 - 0.009ms returns 0 -T2F54 000:839.378 JLINK_WriteReg(R4, 0x00000000) -T2F54 000:839.384 - 0.009ms returns 0 -T2F54 000:839.392 JLINK_WriteReg(R5, 0x00000000) -T2F54 000:839.398 - 0.009ms returns 0 -T2F54 000:839.406 JLINK_WriteReg(R6, 0x00000000) -T2F54 000:839.412 - 0.009ms returns 0 -T2F54 000:839.420 JLINK_WriteReg(R7, 0x00000000) -T2F54 000:839.426 - 0.009ms returns 0 -T2F54 000:839.433 JLINK_WriteReg(R8, 0x00000000) -T2F54 000:839.440 - 0.009ms returns 0 -T2F54 000:839.447 JLINK_WriteReg(R9, 0x20000104) -T2F54 000:839.453 - 0.009ms returns 0 -T2F54 000:839.461 JLINK_WriteReg(R10, 0x00000000) -T2F54 000:839.467 - 0.009ms returns 0 -T2F54 000:839.475 JLINK_WriteReg(R11, 0x00000000) -T2F54 000:839.481 - 0.009ms returns 0 -T2F54 000:839.488 JLINK_WriteReg(R12, 0x00000000) -T2F54 000:839.495 - 0.009ms returns 0 -T2F54 000:839.502 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 000:839.509 - 0.009ms returns 0 -T2F54 000:839.516 JLINK_WriteReg(R14, 0x20000001) -T2F54 000:839.523 - 0.009ms returns 0 -T2F54 000:839.530 JLINK_WriteReg(R15 (PC), 0x20000066) -T2F54 000:839.536 - 0.009ms returns 0 -T2F54 000:839.545 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 000:839.551 - 0.009ms returns 0 -T2F54 000:839.558 JLINK_WriteReg(MSP, 0x20004000) -T2F54 000:839.565 - 0.009ms returns 0 -T2F54 000:839.572 JLINK_WriteReg(PSP, 0x20004000) -T2F54 000:839.578 - 0.009ms returns 0 -T2F54 000:839.586 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 000:839.592 - 0.009ms returns 0 -T2F54 000:839.600 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 000:839.607 - 0.009ms returns 0x00000013 -T2F54 000:839.615 JLINK_Go() -T2F54 000:839.626 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 000:843.082 - 3.475ms -T2F54 000:843.098 JLINK_IsHalted() -T2F54 000:843.487 - 0.397ms returns FALSE -T2F54 000:843.556 JLINK_HasError() -T2F54 000:844.711 JLINK_IsHalted() -T2F54 000:845.217 - 0.515ms returns FALSE -T2F54 000:845.235 JLINK_HasError() -T2F54 000:846.635 JLINK_IsHalted() -T2F54 000:847.084 - 0.458ms returns FALSE -T2F54 000:847.101 JLINK_HasError() -T2F54 000:848.712 JLINK_IsHalted() -T2F54 000:849.096 - 0.407ms returns FALSE -T2F54 000:849.150 JLINK_HasError() -T2F54 000:854.763 JLINK_IsHalted() -T2F54 000:855.223 - 0.468ms returns FALSE -T2F54 000:855.239 JLINK_HasError() -T2F54 000:856.723 JLINK_IsHalted() -T2F54 000:857.260 - 0.549ms returns FALSE -T2F54 000:857.286 JLINK_HasError() -T2F54 000:859.043 JLINK_IsHalted() -T2F54 000:859.870 - 0.845ms returns FALSE -T2F54 000:859.900 JLINK_HasError() -T2F54 000:861.786 JLINK_IsHalted() -T2F54 000:862.292 - 0.524ms returns FALSE -T2F54 000:862.323 JLINK_HasError() -T2F54 000:864.148 JLINK_IsHalted() -T2F54 000:867.287 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 000:867.644 - 3.502ms returns TRUE -T2F54 000:867.659 JLINK_ReadReg(R15 (PC)) -T2F54 000:867.668 - 0.012ms returns 0x20000000 -T2F54 000:867.677 JLINK_ClrBPEx(BPHandle = 0x00000013) -T2F54 000:867.684 - 0.009ms returns 0x00 -T2F54 000:867.692 JLINK_ReadReg(R0) -T2F54 000:867.698 - 0.009ms returns 0x00000000 -T2F54 000:868.306 JLINK_HasError() -T2F54 000:868.319 JLINK_WriteReg(R0, 0x00009000) -T2F54 000:868.328 - 0.011ms returns 0 -T2F54 000:868.336 JLINK_WriteReg(R1, 0x00001000) -T2F54 000:868.342 - 0.009ms returns 0 -T2F54 000:868.350 JLINK_WriteReg(R2, 0x000000FF) -T2F54 000:868.355 - 0.009ms returns 0 -T2F54 000:868.363 JLINK_WriteReg(R3, 0x00000000) -T2F54 000:868.369 - 0.008ms returns 0 -T2F54 000:868.377 JLINK_WriteReg(R4, 0x00000000) -T2F54 000:868.383 - 0.008ms returns 0 -T2F54 000:868.390 JLINK_WriteReg(R5, 0x00000000) -T2F54 000:868.396 - 0.008ms returns 0 -T2F54 000:868.403 JLINK_WriteReg(R6, 0x00000000) -T2F54 000:868.409 - 0.008ms returns 0 -T2F54 000:868.417 JLINK_WriteReg(R7, 0x00000000) -T2F54 000:868.423 - 0.008ms returns 0 -T2F54 000:868.430 JLINK_WriteReg(R8, 0x00000000) -T2F54 000:868.436 - 0.008ms returns 0 -T2F54 000:868.444 JLINK_WriteReg(R9, 0x20000104) -T2F54 000:868.450 - 0.008ms returns 0 -T2F54 000:868.457 JLINK_WriteReg(R10, 0x00000000) -T2F54 000:868.463 - 0.008ms returns 0 -T2F54 000:868.470 JLINK_WriteReg(R11, 0x00000000) -T2F54 000:868.476 - 0.008ms returns 0 -T2F54 000:868.484 JLINK_WriteReg(R12, 0x00000000) -T2F54 000:868.490 - 0.008ms returns 0 -T2F54 000:868.497 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 000:868.504 - 0.009ms returns 0 -T2F54 000:868.511 JLINK_WriteReg(R14, 0x20000001) -T2F54 000:868.517 - 0.008ms returns 0 -T2F54 000:868.525 JLINK_WriteReg(R15 (PC), 0x20000020) -T2F54 000:868.531 - 0.009ms returns 0 -T2F54 000:868.538 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 000:868.544 - 0.008ms returns 0 -T2F54 000:868.552 JLINK_WriteReg(MSP, 0x20004000) -T2F54 000:868.558 - 0.008ms returns 0 -T2F54 000:868.565 JLINK_WriteReg(PSP, 0x20004000) -T2F54 000:868.571 - 0.008ms returns 0 -T2F54 000:868.579 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 000:868.585 - 0.008ms returns 0 -T2F54 000:868.592 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 000:868.599 - 0.009ms returns 0x00000014 -T2F54 000:868.607 JLINK_Go() -T2F54 000:868.619 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 000:871.811 - 3.211ms -T2F54 000:871.826 JLINK_IsHalted() -T2F54 000:874.907 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 000:875.597 - 3.778ms returns TRUE -T2F54 000:875.613 JLINK_ReadReg(R15 (PC)) -T2F54 000:875.621 - 0.012ms returns 0x20000000 -T2F54 000:875.630 JLINK_ClrBPEx(BPHandle = 0x00000014) -T2F54 000:875.636 - 0.009ms returns 0x00 -T2F54 000:875.644 JLINK_ReadReg(R0) -T2F54 000:875.651 - 0.009ms returns 0x00000001 -T2F54 000:875.659 JLINK_HasError() -T2F54 000:875.667 JLINK_WriteReg(R0, 0x00009000) -T2F54 000:875.673 - 0.009ms returns 0 -T2F54 000:875.681 JLINK_WriteReg(R1, 0x00001000) -T2F54 000:875.687 - 0.009ms returns 0 -T2F54 000:875.695 JLINK_WriteReg(R2, 0x000000FF) -T2F54 000:875.701 - 0.009ms returns 0 -T2F54 000:875.709 JLINK_WriteReg(R3, 0x00000000) -T2F54 000:875.715 - 0.066ms returns 0 -T2F54 000:875.783 JLINK_WriteReg(R4, 0x00000000) -T2F54 000:875.790 - 0.010ms returns 0 -T2F54 000:875.798 JLINK_WriteReg(R5, 0x00000000) -T2F54 000:875.804 - 0.008ms returns 0 -T2F54 000:875.811 JLINK_WriteReg(R6, 0x00000000) -T2F54 000:875.817 - 0.008ms returns 0 -T2F54 000:875.825 JLINK_WriteReg(R7, 0x00000000) -T2F54 000:875.831 - 0.008ms returns 0 -T2F54 000:875.838 JLINK_WriteReg(R8, 0x00000000) -T2F54 000:875.844 - 0.008ms returns 0 -T2F54 000:875.852 JLINK_WriteReg(R9, 0x20000104) -T2F54 000:875.858 - 0.008ms returns 0 -T2F54 000:875.865 JLINK_WriteReg(R10, 0x00000000) -T2F54 000:875.871 - 0.008ms returns 0 -T2F54 000:875.879 JLINK_WriteReg(R11, 0x00000000) -T2F54 000:875.885 - 0.008ms returns 0 -T2F54 000:875.892 JLINK_WriteReg(R12, 0x00000000) -T2F54 000:875.898 - 0.008ms returns 0 -T2F54 000:875.906 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 000:875.912 - 0.009ms returns 0 -T2F54 000:875.920 JLINK_WriteReg(R14, 0x20000001) -T2F54 000:875.925 - 0.008ms returns 0 -T2F54 000:875.933 JLINK_WriteReg(R15 (PC), 0x20000066) -T2F54 000:875.939 - 0.009ms returns 0 -T2F54 000:875.947 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 000:875.953 - 0.008ms returns 0 -T2F54 000:875.960 JLINK_WriteReg(MSP, 0x20004000) -T2F54 000:875.966 - 0.008ms returns 0 -T2F54 000:875.974 JLINK_WriteReg(PSP, 0x20004000) -T2F54 000:875.980 - 0.008ms returns 0 -T2F54 000:875.987 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 000:875.993 - 0.008ms returns 0 -T2F54 000:876.001 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 000:876.008 - 0.009ms returns 0x00000015 -T2F54 000:876.015 JLINK_Go() -T2F54 000:876.026 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 000:879.591 - 3.599ms -T2F54 000:879.628 JLINK_IsHalted() -T2F54 000:880.037 - 0.418ms returns FALSE -T2F54 000:880.059 JLINK_HasError() -T2F54 000:881.927 JLINK_IsHalted() -T2F54 000:882.427 - 0.521ms returns FALSE -T2F54 000:882.480 JLINK_HasError() -T2F54 000:883.889 JLINK_IsHalted() -T2F54 000:884.359 - 0.478ms returns FALSE -T2F54 000:884.388 JLINK_HasError() -T2F54 000:886.098 JLINK_IsHalted() -T2F54 000:886.491 - 0.399ms returns FALSE -T2F54 000:886.506 JLINK_HasError() -T2F54 000:888.119 JLINK_IsHalted() -T2F54 000:888.750 - 0.638ms returns FALSE -T2F54 000:888.766 JLINK_HasError() -T2F54 000:890.069 JLINK_IsHalted() -T2F54 000:890.708 - 0.647ms returns FALSE -T2F54 000:890.724 JLINK_HasError() -T2F54 000:891.993 JLINK_IsHalted() -T2F54 000:892.717 - 0.731ms returns FALSE -T2F54 000:892.732 JLINK_HasError() -T2F54 000:894.998 JLINK_IsHalted() -T2F54 000:895.422 - 0.433ms returns FALSE -T2F54 000:895.439 JLINK_HasError() -T2F54 000:896.778 JLINK_IsHalted() -T2F54 000:897.241 - 0.472ms returns FALSE -T2F54 000:897.259 JLINK_HasError() -T2F54 000:898.822 JLINK_IsHalted() -T2F54 000:899.202 - 0.390ms returns FALSE -T2F54 000:899.221 JLINK_HasError() -T2F54 000:901.022 JLINK_IsHalted() -T2F54 000:904.493 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 000:905.185 - 4.171ms returns TRUE -T2F54 000:905.201 JLINK_ReadReg(R15 (PC)) -T2F54 000:905.210 - 0.012ms returns 0x20000000 -T2F54 000:905.219 JLINK_ClrBPEx(BPHandle = 0x00000015) -T2F54 000:905.225 - 0.009ms returns 0x00 -T2F54 000:905.233 JLINK_ReadReg(R0) -T2F54 000:905.240 - 0.009ms returns 0x00000000 -T2F54 000:905.582 JLINK_HasError() -T2F54 000:905.594 JLINK_WriteReg(R0, 0x00000001) -T2F54 000:905.602 - 0.011ms returns 0 -T2F54 000:905.610 JLINK_WriteReg(R1, 0x00001000) -T2F54 000:905.616 - 0.008ms returns 0 -T2F54 000:905.624 JLINK_WriteReg(R2, 0x000000FF) -T2F54 000:905.630 - 0.008ms returns 0 -T2F54 000:905.637 JLINK_WriteReg(R3, 0x00000000) -T2F54 000:905.643 - 0.008ms returns 0 -T2F54 000:905.650 JLINK_WriteReg(R4, 0x00000000) -T2F54 000:905.656 - 0.008ms returns 0 -T2F54 000:905.664 JLINK_WriteReg(R5, 0x00000000) -T2F54 000:905.669 - 0.008ms returns 0 -T2F54 000:905.677 JLINK_WriteReg(R6, 0x00000000) -T2F54 000:905.683 - 0.008ms returns 0 -T2F54 000:905.690 JLINK_WriteReg(R7, 0x00000000) -T2F54 000:905.696 - 0.008ms returns 0 -T2F54 000:905.704 JLINK_WriteReg(R8, 0x00000000) -T2F54 000:905.710 - 0.008ms returns 0 -T2F54 000:905.720 JLINK_WriteReg(R9, 0x20000104) -T2F54 000:905.728 - 0.011ms returns 0 -T2F54 000:905.736 JLINK_WriteReg(R10, 0x00000000) -T2F54 000:905.742 - 0.008ms returns 0 -T2F54 000:905.749 JLINK_WriteReg(R11, 0x00000000) -T2F54 000:905.755 - 0.008ms returns 0 -T2F54 000:905.763 JLINK_WriteReg(R12, 0x00000000) -T2F54 000:905.768 - 0.008ms returns 0 -T2F54 000:905.776 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 000:905.782 - 0.009ms returns 0 -T2F54 000:905.790 JLINK_WriteReg(R14, 0x20000001) -T2F54 000:905.796 - 0.008ms returns 0 -T2F54 000:905.803 JLINK_WriteReg(R15 (PC), 0x20000044) -T2F54 000:905.809 - 0.008ms returns 0 -T2F54 000:905.817 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 000:905.823 - 0.008ms returns 0 -T2F54 000:905.830 JLINK_WriteReg(MSP, 0x20004000) -T2F54 000:905.836 - 0.008ms returns 0 -T2F54 000:905.843 JLINK_WriteReg(PSP, 0x20004000) -T2F54 000:905.849 - 0.008ms returns 0 -T2F54 000:905.857 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 000:905.863 - 0.008ms returns 0 -T2F54 000:905.870 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 000:905.881 - 0.013ms returns 0x00000016 -T2F54 000:905.889 JLINK_Go() -T2F54 000:905.901 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 000:910.035 - 4.154ms -T2F54 000:910.055 JLINK_IsHalted() -T2F54 000:913.376 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 000:913.825 - 3.779ms returns TRUE -T2F54 000:913.850 JLINK_ReadReg(R15 (PC)) -T2F54 000:913.870 - 0.027ms returns 0x20000000 -T2F54 000:913.888 JLINK_ClrBPEx(BPHandle = 0x00000016) -T2F54 000:913.902 - 0.022ms returns 0x00 -T2F54 000:913.922 JLINK_ReadReg(R0) -T2F54 000:913.938 - 0.023ms returns 0x00000000 -T2F54 000:975.544 JLINK_WriteMem(0x20000000, 0x108 Bytes, ...) -T2F54 000:975.572 Data: 00 BE 0A E0 0D 78 2D 06 68 40 08 24 40 00 00 D3 ... -T2F54 000:975.610 CPU_WriteMem(264 bytes @ 0x20000000) -T2F54 000:977.422 - 1.887ms returns 0x108 -T2F54 000:977.483 JLINK_HasError() -T2F54 000:977.507 JLINK_WriteReg(R0, 0x00000000) -T2F54 000:977.517 - 0.025ms returns 0 -T2F54 000:977.538 JLINK_WriteReg(R1, 0x00B71B00) -T2F54 000:977.545 - 0.009ms returns 0 -T2F54 000:977.552 JLINK_WriteReg(R2, 0x00000002) -T2F54 000:977.572 - 0.022ms returns 0 -T2F54 000:977.579 JLINK_WriteReg(R3, 0x00000000) -T2F54 000:977.599 - 0.022ms returns 0 -T2F54 000:977.619 JLINK_WriteReg(R4, 0x00000000) -T2F54 000:977.625 - 0.008ms returns 0 -T2F54 000:977.633 JLINK_WriteReg(R5, 0x00000000) -T2F54 000:977.652 - 0.022ms returns 0 -T2F54 000:977.659 JLINK_WriteReg(R6, 0x00000000) -T2F54 000:977.665 - 0.008ms returns 0 -T2F54 000:977.673 JLINK_WriteReg(R7, 0x00000000) -T2F54 000:977.679 - 0.008ms returns 0 -T2F54 000:977.686 JLINK_WriteReg(R8, 0x00000000) -T2F54 000:977.692 - 0.008ms returns 0 -T2F54 000:977.699 JLINK_WriteReg(R9, 0x20000104) -T2F54 000:977.705 - 0.008ms returns 0 -T2F54 000:977.713 JLINK_WriteReg(R10, 0x00000000) -T2F54 000:977.719 - 0.009ms returns 0 -T2F54 000:977.731 JLINK_WriteReg(R11, 0x00000000) -T2F54 000:977.737 - 0.009ms returns 0 -T2F54 000:977.745 JLINK_WriteReg(R12, 0x00000000) -T2F54 000:977.751 - 0.008ms returns 0 -T2F54 000:977.758 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 000:977.765 - 0.009ms returns 0 -T2F54 000:977.772 JLINK_WriteReg(R14, 0x20000001) -T2F54 000:977.778 - 0.008ms returns 0 -T2F54 000:977.786 JLINK_WriteReg(R15 (PC), 0x20000040) -T2F54 000:977.792 - 0.009ms returns 0 -T2F54 000:977.799 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 000:977.806 - 0.009ms returns 0 -T2F54 000:977.813 JLINK_WriteReg(MSP, 0x20004000) -T2F54 000:977.819 - 0.008ms returns 0 -T2F54 000:977.827 JLINK_WriteReg(PSP, 0x20004000) -T2F54 000:977.833 - 0.008ms returns 0 -T2F54 000:977.840 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 000:977.846 - 0.008ms returns 0 -T2F54 000:977.854 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 000:977.864 CPU_ReadMem(4 bytes @ 0x20000000) -T2F54 000:978.244 CPU_WriteMem(4 bytes @ 0x20000000) -T2F54 000:978.566 CPU_ReadMem(4 bytes @ 0x20000000) -T2F54 000:978.891 CPU_WriteMem(4 bytes @ 0x20000000) -T2F54 000:979.282 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 000:979.612 - 1.768ms returns 0x00000017 -T2F54 000:979.632 JLINK_Go() -T2F54 000:979.644 CPU_WriteMem(2 bytes @ 0x20000000) -T2F54 000:980.025 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 000:983.217 - 3.597ms -T2F54 000:983.239 JLINK_IsHalted() -T2F54 000:986.357 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 000:986.679 - 3.446ms returns TRUE -T2F54 000:986.694 JLINK_ReadReg(R15 (PC)) -T2F54 000:986.703 - 0.012ms returns 0x20000000 -T2F54 000:986.712 JLINK_ClrBPEx(BPHandle = 0x00000017) -T2F54 000:986.719 - 0.009ms returns 0x00 -T2F54 000:986.727 JLINK_ReadReg(R0) -T2F54 000:986.733 - 0.009ms returns 0x00000000 -T2F54 000:987.082 JLINK_WriteMem(0x20000108, 0x2F8 Bytes, ...) -T2F54 000:987.093 Data: 70 1B 00 20 29 03 00 00 2D 03 00 00 D9 02 00 00 ... -T2F54 000:987.109 CPU_WriteMem(760 bytes @ 0x20000108) -T2F54 000:991.301 - 4.232ms returns 0x2F8 -T2F54 000:991.344 JLINK_WriteMem(0x20000400, 0x400 Bytes, ...) -T2F54 000:991.371 Data: 80 F3 09 88 00 B5 04 F0 8D F9 5D F8 04 EB 4E F0 ... -T2F54 000:991.390 CPU_WriteMem(1024 bytes @ 0x20000400) -T2F54 000:996.824 - 5.507ms returns 0x400 -T2F54 000:996.867 JLINK_WriteMem(0x20000800, 0x400 Bytes, ...) -T2F54 000:996.874 Data: 40 F0 15 80 4F F0 01 3E 12 1F C0 F2 0E 80 51 F8 ... -T2F54 000:996.901 CPU_WriteMem(1024 bytes @ 0x20000800) -T2F54 001:002.466 - 5.617ms returns 0x400 -T2F54 001:002.500 JLINK_WriteMem(0x20000C00, 0x400 Bytes, ...) -T2F54 001:002.507 Data: 56 48 C0 F8 10 12 9F E0 4F F0 80 40 80 68 40 F0 ... -T2F54 001:002.528 CPU_WriteMem(1024 bytes @ 0x20000C00) -T2F54 001:008.003 - 5.519ms returns 0x400 -T2F54 001:008.048 JLINK_WriteMem(0x20001000, 0x108 Bytes, ...) -T2F54 001:008.069 Data: 05 D9 02 E0 67 E1 CF E0 1B E0 01 24 00 E0 14 46 ... -T2F54 001:008.088 CPU_WriteMem(264 bytes @ 0x20001000) -T2F54 001:009.886 - 1.848ms returns 0x108 -T2F54 001:009.909 JLINK_HasError() -T2F54 001:009.962 JLINK_WriteReg(R0, 0x00000000) -T2F54 001:009.977 - 0.018ms returns 0 -T2F54 001:009.985 JLINK_WriteReg(R1, 0x00001000) -T2F54 001:009.992 - 0.010ms returns 0 -T2F54 001:010.000 JLINK_WriteReg(R2, 0x20000108) -T2F54 001:010.007 - 0.009ms returns 0 -T2F54 001:010.014 JLINK_WriteReg(R3, 0x00000000) -T2F54 001:010.020 - 0.009ms returns 0 -T2F54 001:010.029 JLINK_WriteReg(R4, 0x00000000) -T2F54 001:010.036 - 0.010ms returns 0 -T2F54 001:010.044 JLINK_WriteReg(R5, 0x00000000) -T2F54 001:010.050 - 0.009ms returns 0 -T2F54 001:010.058 JLINK_WriteReg(R6, 0x00000000) -T2F54 001:010.064 - 0.009ms returns 0 -T2F54 001:010.072 JLINK_WriteReg(R7, 0x00000000) -T2F54 001:010.078 - 0.009ms returns 0 -T2F54 001:010.086 JLINK_WriteReg(R8, 0x00000000) -T2F54 001:010.092 - 0.009ms returns 0 -T2F54 001:010.100 JLINK_WriteReg(R9, 0x20000104) -T2F54 001:010.106 - 0.009ms returns 0 -T2F54 001:010.114 JLINK_WriteReg(R10, 0x00000000) -T2F54 001:010.120 - 0.009ms returns 0 -T2F54 001:010.128 JLINK_WriteReg(R11, 0x00000000) -T2F54 001:010.134 - 0.009ms returns 0 -T2F54 001:010.141 JLINK_WriteReg(R12, 0x00000000) -T2F54 001:010.148 - 0.009ms returns 0 -T2F54 001:010.155 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 001:010.162 - 0.009ms returns 0 -T2F54 001:010.170 JLINK_WriteReg(R14, 0x20000001) -T2F54 001:010.176 - 0.009ms returns 0 -T2F54 001:010.184 JLINK_WriteReg(R15 (PC), 0x20000080) -T2F54 001:010.190 - 0.009ms returns 0 -T2F54 001:010.198 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 001:010.204 - 0.009ms returns 0 -T2F54 001:010.212 JLINK_WriteReg(MSP, 0x20004000) -T2F54 001:010.218 - 0.009ms returns 0 -T2F54 001:010.225 JLINK_WriteReg(PSP, 0x20004000) -T2F54 001:010.231 - 0.009ms returns 0 -T2F54 001:010.239 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 001:010.245 - 0.009ms returns 0 -T2F54 001:010.253 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 001:010.261 - 0.010ms returns 0x00000018 -T2F54 001:010.269 JLINK_Go() -T2F54 001:010.282 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 001:013.591 - 3.339ms -T2F54 001:013.624 JLINK_IsHalted() -T2F54 001:013.926 - 0.309ms returns FALSE -T2F54 001:013.941 JLINK_HasError() -T2F54 001:018.642 JLINK_IsHalted() -T2F54 001:019.236 - 0.608ms returns FALSE -T2F54 001:019.264 JLINK_HasError() -T2F54 001:020.984 JLINK_IsHalted() -T2F54 001:021.475 - 0.530ms returns FALSE -T2F54 001:021.538 JLINK_HasError() -T2F54 001:023.254 JLINK_IsHalted() -T2F54 001:023.675 - 0.428ms returns FALSE -T2F54 001:023.691 JLINK_HasError() -T2F54 001:025.654 JLINK_IsHalted() -T2F54 001:026.040 - 0.392ms returns FALSE -T2F54 001:026.054 JLINK_HasError() -T2F54 001:027.764 JLINK_IsHalted() -T2F54 001:028.125 - 0.367ms returns FALSE -T2F54 001:028.155 JLINK_HasError() -T2F54 001:029.594 JLINK_IsHalted() -T2F54 001:030.015 - 0.429ms returns FALSE -T2F54 001:030.032 JLINK_HasError() -T2F54 001:031.601 JLINK_IsHalted() -T2F54 001:032.005 - 0.411ms returns FALSE -T2F54 001:032.021 JLINK_HasError() -T2F54 001:033.899 JLINK_IsHalted() -T2F54 001:034.800 - 0.922ms returns FALSE -T2F54 001:034.867 JLINK_HasError() -T2F54 001:036.585 JLINK_IsHalted() -T2F54 001:037.031 - 0.481ms returns FALSE -T2F54 001:037.094 JLINK_HasError() -T2F54 001:038.573 JLINK_IsHalted() -T2F54 001:038.967 - 0.401ms returns FALSE -T2F54 001:038.983 JLINK_HasError() -T2F54 001:040.767 JLINK_IsHalted() -T2F54 001:041.208 - 0.448ms returns FALSE -T2F54 001:041.224 JLINK_HasError() -T2F54 001:043.020 JLINK_IsHalted() -T2F54 001:046.099 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 001:046.509 - 3.496ms returns TRUE -T2F54 001:046.526 JLINK_ReadReg(R15 (PC)) -T2F54 001:046.536 - 0.013ms returns 0x20000000 -T2F54 001:046.545 JLINK_ClrBPEx(BPHandle = 0x00000018) -T2F54 001:046.551 - 0.009ms returns 0x00 -T2F54 001:046.559 JLINK_ReadReg(R0) -T2F54 001:046.566 - 0.010ms returns 0x00000000 -T2F54 001:047.169 JLINK_WriteMem(0x20000108, 0x2F8 Bytes, ...) -T2F54 001:047.181 Data: C5 F8 6C 41 A2 F1 64 04 A1 F1 12 05 05 EB 85 05 ... -T2F54 001:047.197 CPU_WriteMem(760 bytes @ 0x20000108) -T2F54 001:051.784 - 4.642ms returns 0x2F8 -T2F54 001:051.830 JLINK_WriteMem(0x20000400, 0x400 Bytes, ...) -T2F54 001:051.841 Data: 01 D9 01 24 00 E0 14 46 A1 F1 10 05 6D 00 AC 40 ... -T2F54 001:051.881 CPU_WriteMem(1024 bytes @ 0x20000400) -T2F54 001:057.494 - 5.678ms returns 0x400 -T2F54 001:057.517 JLINK_WriteMem(0x20000800, 0x400 Bytes, ...) -T2F54 001:057.525 Data: 13 68 C3 F3 08 00 08 60 03 F4 80 60 08 B1 02 20 ... -T2F54 001:057.542 CPU_WriteMem(1024 bytes @ 0x20000800) -T2F54 001:062.926 - 5.421ms returns 0x400 -T2F54 001:062.952 JLINK_WriteMem(0x20000C00, 0x400 Bytes, ...) -T2F54 001:062.979 Data: 02 F0 2A F9 A8 46 F4 6C 2C B9 4F F4 89 72 1A 49 ... -T2F54 001:062.996 CPU_WriteMem(1024 bytes @ 0x20000C00) -T2F54 001:068.601 - 5.707ms returns 0x400 -T2F54 001:068.677 JLINK_WriteMem(0x20001000, 0x108 Bytes, ...) -T2F54 001:068.690 Data: 70 BD 00 00 14 06 00 20 18 ED 00 E0 00 E4 00 E0 ... -T2F54 001:068.719 CPU_WriteMem(264 bytes @ 0x20001000) -T2F54 001:070.558 - 1.889ms returns 0x108 -T2F54 001:070.592 JLINK_HasError() -T2F54 001:071.248 JLINK_WriteReg(R0, 0x00001000) -T2F54 001:071.279 - 0.033ms returns 0 -T2F54 001:071.288 JLINK_WriteReg(R1, 0x00001000) -T2F54 001:071.308 - 0.041ms returns 0 -T2F54 001:071.334 JLINK_WriteReg(R2, 0x20000108) -T2F54 001:071.340 - 0.009ms returns 0 -T2F54 001:071.348 JLINK_WriteReg(R3, 0x00000000) -T2F54 001:071.354 - 0.008ms returns 0 -T2F54 001:071.361 JLINK_WriteReg(R4, 0x00000000) -T2F54 001:071.367 - 0.008ms returns 0 -T2F54 001:071.375 JLINK_WriteReg(R5, 0x00000000) -T2F54 001:071.381 - 0.022ms returns 0 -T2F54 001:071.401 JLINK_WriteReg(R6, 0x00000000) -T2F54 001:071.421 - 0.022ms returns 0 -T2F54 001:071.428 JLINK_WriteReg(R7, 0x00000000) -T2F54 001:071.434 - 0.008ms returns 0 -T2F54 001:071.442 JLINK_WriteReg(R8, 0x00000000) -T2F54 001:071.448 - 0.009ms returns 0 -T2F54 001:071.456 JLINK_WriteReg(R9, 0x20000104) -T2F54 001:071.462 - 0.022ms returns 0 -T2F54 001:071.483 JLINK_WriteReg(R10, 0x00000000) -T2F54 001:071.502 - 0.022ms returns 0 -T2F54 001:071.510 JLINK_WriteReg(R11, 0x00000000) -T2F54 001:071.516 - 0.008ms returns 0 -T2F54 001:071.523 JLINK_WriteReg(R12, 0x00000000) -T2F54 001:071.529 - 0.008ms returns 0 -T2F54 001:071.537 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 001:071.543 - 0.025ms returns 0 -T2F54 001:071.582 JLINK_WriteReg(R14, 0x20000001) -T2F54 001:071.588 - 0.009ms returns 0 -T2F54 001:071.596 JLINK_WriteReg(R15 (PC), 0x20000080) -T2F54 001:071.602 - 0.009ms returns 0 -T2F54 001:071.609 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 001:071.615 - 0.008ms returns 0 -T2F54 001:071.623 JLINK_WriteReg(MSP, 0x20004000) -T2F54 001:071.629 - 0.022ms returns 0 -T2F54 001:071.649 JLINK_WriteReg(PSP, 0x20004000) -T2F54 001:071.669 - 0.022ms returns 0 -T2F54 001:071.682 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 001:071.688 - 0.009ms returns 0 -T2F54 001:071.696 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 001:071.718 - 0.024ms returns 0x00000019 -T2F54 001:071.739 JLINK_Go() -T2F54 001:071.752 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 001:075.223 - 3.491ms -T2F54 001:075.239 JLINK_IsHalted() -T2F54 001:075.641 - 0.409ms returns FALSE -T2F54 001:075.656 JLINK_HasError() -T2F54 001:078.116 JLINK_IsHalted() -T2F54 001:078.586 - 0.492ms returns FALSE -T2F54 001:078.617 JLINK_HasError() -T2F54 001:079.985 JLINK_IsHalted() -T2F54 001:080.487 - 0.509ms returns FALSE -T2F54 001:080.504 JLINK_HasError() -T2F54 001:082.049 JLINK_IsHalted() -T2F54 001:082.487 - 0.446ms returns FALSE -T2F54 001:082.503 JLINK_HasError() -T2F54 001:083.850 JLINK_IsHalted() -T2F54 001:084.292 - 0.450ms returns FALSE -T2F54 001:084.325 JLINK_HasError() -T2F54 001:085.916 JLINK_IsHalted() -T2F54 001:086.283 - 0.375ms returns FALSE -T2F54 001:086.313 JLINK_HasError() -T2F54 001:088.040 JLINK_IsHalted() -T2F54 001:088.441 - 0.408ms returns FALSE -T2F54 001:088.457 JLINK_HasError() -T2F54 001:089.888 JLINK_IsHalted() -T2F54 001:090.682 - 0.802ms returns FALSE -T2F54 001:090.725 JLINK_HasError() -T2F54 001:091.925 JLINK_IsHalted() -T2F54 001:092.641 - 0.727ms returns FALSE -T2F54 001:092.660 JLINK_HasError() -T2F54 001:093.910 JLINK_IsHalted() -T2F54 001:094.609 - 0.706ms returns FALSE -T2F54 001:094.624 JLINK_HasError() -T2F54 001:096.751 JLINK_IsHalted() -T2F54 001:097.138 - 0.396ms returns FALSE -T2F54 001:097.155 JLINK_HasError() -T2F54 001:098.748 JLINK_IsHalted() -T2F54 001:099.258 - 0.517ms returns FALSE -T2F54 001:099.274 JLINK_HasError() -T2F54 001:100.696 JLINK_IsHalted() -T2F54 001:101.061 - 0.372ms returns FALSE -T2F54 001:101.077 JLINK_HasError() -T2F54 001:102.917 JLINK_IsHalted() -T2F54 001:103.262 - 0.353ms returns FALSE -T2F54 001:103.278 JLINK_HasError() -T2F54 001:104.937 JLINK_IsHalted() -T2F54 001:108.271 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 001:108.731 - 3.806ms returns TRUE -T2F54 001:108.753 JLINK_ReadReg(R15 (PC)) -T2F54 001:108.764 - 0.014ms returns 0x20000000 -T2F54 001:108.772 JLINK_ClrBPEx(BPHandle = 0x00000019) -T2F54 001:108.779 - 0.009ms returns 0x00 -T2F54 001:108.788 JLINK_ReadReg(R0) -T2F54 001:108.794 - 0.009ms returns 0x00000000 -T2F54 001:109.359 JLINK_WriteMem(0x20000108, 0x2F8 Bytes, ...) -T2F54 001:109.373 Data: 0A 00 00 00 10 B5 02 A0 02 F0 34 FE 00 20 10 BD ... -T2F54 001:109.391 CPU_WriteMem(760 bytes @ 0x20000108) -T2F54 001:113.749 - 4.406ms returns 0x2F8 -T2F54 001:113.792 JLINK_WriteMem(0x20000400, 0x400 Bytes, ...) -T2F54 001:113.799 Data: 04 F0 2A FC 00 20 E1 E7 54 95 00 00 7C 94 00 00 ... -T2F54 001:113.818 CPU_WriteMem(1024 bytes @ 0x20000400) -T2F54 001:119.267 - 5.516ms returns 0x400 -T2F54 001:119.316 JLINK_WriteMem(0x20000800, 0x400 Bytes, ...) -T2F54 001:119.323 Data: 0A 02 0E 49 09 68 B1 F8 08 12 88 42 59 DA 0B 4B ... -T2F54 001:119.337 CPU_WriteMem(1024 bytes @ 0x20000800) -T2F54 001:124.764 - 5.478ms returns 0x400 -T2F54 001:124.812 JLINK_WriteMem(0x20000C00, 0x400 Bytes, ...) -T2F54 001:124.819 Data: E0 69 23 46 08 22 41 46 CD E9 00 0A 21 A0 02 F0 ... -T2F54 001:124.839 CPU_WriteMem(1024 bytes @ 0x20000C00) -T2F54 001:130.443 - 5.645ms returns 0x400 -T2F54 001:130.474 JLINK_WriteMem(0x20001000, 0x108 Bytes, ...) -T2F54 001:130.487 Data: 05 AA 19 46 0D A8 FF F7 5B FE 4F F0 08 0A 5A 46 ... -T2F54 001:130.514 CPU_WriteMem(264 bytes @ 0x20001000) -T2F54 001:132.280 - 1.816ms returns 0x108 -T2F54 001:132.319 JLINK_HasError() -T2F54 001:132.438 JLINK_WriteReg(R0, 0x00002000) -T2F54 001:132.497 - 0.063ms returns 0 -T2F54 001:132.507 JLINK_WriteReg(R1, 0x00001000) -T2F54 001:132.528 - 0.023ms returns 0 -T2F54 001:132.536 JLINK_WriteReg(R2, 0x20000108) -T2F54 001:132.543 - 0.029ms returns 0 -T2F54 001:132.572 JLINK_WriteReg(R3, 0x00000000) -T2F54 001:132.578 - 0.009ms returns 0 -T2F54 001:132.586 JLINK_WriteReg(R4, 0x00000000) -T2F54 001:132.607 - 0.024ms returns 0 -T2F54 001:132.636 JLINK_WriteReg(R5, 0x00000000) -T2F54 001:132.643 - 0.009ms returns 0 -T2F54 001:132.651 JLINK_WriteReg(R6, 0x00000000) -T2F54 001:132.670 - 0.022ms returns 0 -T2F54 001:132.678 JLINK_WriteReg(R7, 0x00000000) -T2F54 001:132.684 - 0.028ms returns 0 -T2F54 001:132.711 JLINK_WriteReg(R8, 0x00000000) -T2F54 001:132.717 - 0.009ms returns 0 -T2F54 001:132.738 JLINK_WriteReg(R9, 0x20000104) -T2F54 001:132.744 - 0.041ms returns 0 -T2F54 001:132.772 JLINK_WriteReg(R10, 0x00000000) -T2F54 001:132.778 - 0.009ms returns 0 -T2F54 001:132.786 JLINK_WriteReg(R11, 0x00000000) -T2F54 001:132.806 - 0.022ms returns 0 -T2F54 001:132.813 JLINK_WriteReg(R12, 0x00000000) -T2F54 001:132.819 - 0.028ms returns 0 -T2F54 001:132.846 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 001:132.853 - 0.010ms returns 0 -T2F54 001:132.861 JLINK_WriteReg(R14, 0x20000001) -T2F54 001:132.867 - 0.009ms returns 0 -T2F54 001:132.875 JLINK_WriteReg(R15 (PC), 0x20000080) -T2F54 001:132.881 - 0.009ms returns 0 -T2F54 001:132.889 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 001:132.909 - 0.022ms returns 0 -T2F54 001:132.916 JLINK_WriteReg(MSP, 0x20004000) -T2F54 001:132.942 - 0.028ms returns 0 -T2F54 001:132.955 JLINK_WriteReg(PSP, 0x20004000) -T2F54 001:132.964 - 0.016ms returns 0 -T2F54 001:132.982 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 001:132.994 - 0.015ms returns 0 -T2F54 001:133.004 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 001:133.027 - 0.045ms returns 0x0000001A -T2F54 001:133.054 JLINK_Go() -T2F54 001:133.081 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 001:136.764 - 3.723ms -T2F54 001:136.786 JLINK_IsHalted() -T2F54 001:137.249 - 0.471ms returns FALSE -T2F54 001:137.265 JLINK_HasError() -T2F54 001:140.036 JLINK_IsHalted() -T2F54 001:140.861 - 0.834ms returns FALSE -T2F54 001:140.878 JLINK_HasError() -T2F54 001:142.041 JLINK_IsHalted() -T2F54 001:142.780 - 0.747ms returns FALSE -T2F54 001:142.809 JLINK_HasError() -T2F54 001:144.021 JLINK_IsHalted() -T2F54 001:144.769 - 0.757ms returns FALSE -T2F54 001:144.789 JLINK_HasError() -T2F54 001:146.825 JLINK_IsHalted() -T2F54 001:147.235 - 0.419ms returns FALSE -T2F54 001:147.254 JLINK_HasError() -T2F54 001:148.752 JLINK_IsHalted() -T2F54 001:149.096 - 0.353ms returns FALSE -T2F54 001:149.131 JLINK_HasError() -T2F54 001:150.877 JLINK_IsHalted() -T2F54 001:151.338 - 0.470ms returns FALSE -T2F54 001:151.355 JLINK_HasError() -T2F54 001:152.948 JLINK_IsHalted() -T2F54 001:153.470 - 0.530ms returns FALSE -T2F54 001:153.486 JLINK_HasError() -T2F54 001:155.002 JLINK_IsHalted() -T2F54 001:155.652 - 0.658ms returns FALSE -T2F54 001:155.668 JLINK_HasError() -T2F54 001:156.981 JLINK_IsHalted() -T2F54 001:157.732 - 0.759ms returns FALSE -T2F54 001:157.749 JLINK_HasError() -T2F54 001:158.947 JLINK_IsHalted() -T2F54 001:159.589 - 0.650ms returns FALSE -T2F54 001:159.606 JLINK_HasError() -T2F54 001:160.784 JLINK_IsHalted() -T2F54 001:161.250 - 0.486ms returns FALSE -T2F54 001:161.279 JLINK_HasError() -T2F54 001:162.729 JLINK_IsHalted() -T2F54 001:163.192 - 0.484ms returns FALSE -T2F54 001:163.235 JLINK_HasError() -T2F54 001:164.721 JLINK_IsHalted() -T2F54 001:165.066 - 0.352ms returns FALSE -T2F54 001:165.081 JLINK_HasError() -T2F54 001:167.820 JLINK_IsHalted() -T2F54 001:170.954 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 001:171.622 - 3.809ms returns TRUE -T2F54 001:171.638 JLINK_ReadReg(R15 (PC)) -T2F54 001:171.647 - 0.012ms returns 0x20000000 -T2F54 001:171.655 JLINK_ClrBPEx(BPHandle = 0x0000001A) -T2F54 001:171.662 - 0.009ms returns 0x00 -T2F54 001:171.670 JLINK_ReadReg(R0) -T2F54 001:171.677 - 0.009ms returns 0x00000000 -T2F54 001:172.243 JLINK_WriteMem(0x20000108, 0x2F8 Bytes, ...) -T2F54 001:172.257 Data: 20 2D 2D 2D 2D 20 20 2D 2D 2D 2D 20 20 2D 2D 2D ... -T2F54 001:172.274 CPU_WriteMem(760 bytes @ 0x20000108) -T2F54 001:176.509 - 4.281ms returns 0x2F8 -T2F54 001:176.535 JLINK_WriteMem(0x20000400, 0x400 Bytes, ...) -T2F54 001:176.542 Data: FC F7 9C FF 83 46 30 7A 20 F0 80 00 9D F8 30 10 ... -T2F54 001:176.562 CPU_WriteMem(1024 bytes @ 0x20000400) -T2F54 001:181.997 - 5.484ms returns 0x400 -T2F54 001:182.043 JLINK_WriteMem(0x20000800, 0x400 Bytes, ...) -T2F54 001:182.050 Data: 76 61 74 65 64 0A 00 00 64 65 61 63 74 69 76 61 ... -T2F54 001:182.068 CPU_WriteMem(1024 bytes @ 0x20000800) -T2F54 001:187.864 - 5.839ms returns 0x400 -T2F54 001:187.898 JLINK_WriteMem(0x20000C00, 0x400 Bytes, ...) -T2F54 001:187.906 Data: 48 F8 27 40 7F 1C 01 E0 64 1C 6D 1C 20 78 20 28 ... -T2F54 001:187.933 CPU_WriteMem(1024 bytes @ 0x20000C00) -T2F54 001:193.436 - 5.553ms returns 0x400 -T2F54 001:193.486 JLINK_WriteMem(0x20001000, 0x108 Bytes, ...) -T2F54 001:193.494 Data: 08 60 00 BF 00 BF FC F7 99 F9 80 46 00 F0 8C FE ... -T2F54 001:193.513 CPU_WriteMem(264 bytes @ 0x20001000) -T2F54 001:195.293 - 1.816ms returns 0x108 -T2F54 001:195.315 JLINK_HasError() -T2F54 001:195.369 JLINK_WriteReg(R0, 0x00003000) -T2F54 001:195.383 - 0.018ms returns 0 -T2F54 001:195.392 JLINK_WriteReg(R1, 0x00001000) -T2F54 001:195.399 - 0.009ms returns 0 -T2F54 001:195.407 JLINK_WriteReg(R2, 0x20000108) -T2F54 001:195.414 - 0.009ms returns 0 -T2F54 001:195.422 JLINK_WriteReg(R3, 0x00000000) -T2F54 001:195.428 - 0.009ms returns 0 -T2F54 001:195.436 JLINK_WriteReg(R4, 0x00000000) -T2F54 001:195.442 - 0.009ms returns 0 -T2F54 001:195.449 JLINK_WriteReg(R5, 0x00000000) -T2F54 001:195.456 - 0.009ms returns 0 -T2F54 001:195.463 JLINK_WriteReg(R6, 0x00000000) -T2F54 001:195.469 - 0.009ms returns 0 -T2F54 001:195.477 JLINK_WriteReg(R7, 0x00000000) -T2F54 001:195.483 - 0.009ms returns 0 -T2F54 001:195.491 JLINK_WriteReg(R8, 0x00000000) -T2F54 001:195.497 - 0.009ms returns 0 -T2F54 001:195.505 JLINK_WriteReg(R9, 0x20000104) -T2F54 001:195.511 - 0.009ms returns 0 -T2F54 001:195.519 JLINK_WriteReg(R10, 0x00000000) -T2F54 001:195.525 - 0.009ms returns 0 -T2F54 001:195.533 JLINK_WriteReg(R11, 0x00000000) -T2F54 001:195.539 - 0.009ms returns 0 -T2F54 001:195.546 JLINK_WriteReg(R12, 0x00000000) -T2F54 001:195.553 - 0.009ms returns 0 -T2F54 001:195.560 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 001:195.567 - 0.009ms returns 0 -T2F54 001:195.575 JLINK_WriteReg(R14, 0x20000001) -T2F54 001:195.581 - 0.009ms returns 0 -T2F54 001:195.589 JLINK_WriteReg(R15 (PC), 0x20000080) -T2F54 001:195.595 - 0.009ms returns 0 -T2F54 001:195.603 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 001:195.609 - 0.009ms returns 0 -T2F54 001:195.617 JLINK_WriteReg(MSP, 0x20004000) -T2F54 001:195.623 - 0.009ms returns 0 -T2F54 001:195.631 JLINK_WriteReg(PSP, 0x20004000) -T2F54 001:195.637 - 0.009ms returns 0 -T2F54 001:195.645 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 001:195.651 - 0.009ms returns 0 -T2F54 001:195.659 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 001:195.667 - 0.011ms returns 0x0000001B -T2F54 001:195.675 JLINK_Go() -T2F54 001:195.717 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 001:198.931 - 3.271ms -T2F54 001:198.955 JLINK_IsHalted() -T2F54 001:199.294 - 0.346ms returns FALSE -T2F54 001:199.309 JLINK_HasError() -T2F54 001:202.020 JLINK_IsHalted() -T2F54 001:202.527 - 0.516ms returns FALSE -T2F54 001:202.545 JLINK_HasError() -T2F54 001:204.413 JLINK_IsHalted() -T2F54 001:205.284 - 0.887ms returns FALSE -T2F54 001:205.313 JLINK_HasError() -T2F54 001:207.056 JLINK_IsHalted() -T2F54 001:207.512 - 0.467ms returns FALSE -T2F54 001:207.533 JLINK_HasError() -T2F54 001:209.024 JLINK_IsHalted() -T2F54 001:209.408 - 0.392ms returns FALSE -T2F54 001:209.426 JLINK_HasError() -T2F54 001:210.699 JLINK_IsHalted() -T2F54 001:211.204 - 0.512ms returns FALSE -T2F54 001:211.219 JLINK_HasError() -T2F54 001:213.241 JLINK_IsHalted() -T2F54 001:213.638 - 0.404ms returns FALSE -T2F54 001:213.654 JLINK_HasError() -T2F54 001:215.499 JLINK_IsHalted() -T2F54 001:216.285 - 0.795ms returns FALSE -T2F54 001:216.303 JLINK_HasError() -T2F54 001:217.948 JLINK_IsHalted() -T2F54 001:218.647 - 0.706ms returns FALSE -T2F54 001:218.662 JLINK_HasError() -T2F54 001:219.981 JLINK_IsHalted() -T2F54 001:220.406 - 0.431ms returns FALSE -T2F54 001:220.424 JLINK_HasError() -T2F54 001:222.082 JLINK_IsHalted() -T2F54 001:222.509 - 0.442ms returns FALSE -T2F54 001:222.538 JLINK_HasError() -T2F54 001:224.627 JLINK_IsHalted() -T2F54 001:225.001 - 0.381ms returns FALSE -T2F54 001:225.017 JLINK_HasError() -T2F54 001:226.833 JLINK_IsHalted() -T2F54 001:227.218 - 0.412ms returns FALSE -T2F54 001:227.255 JLINK_HasError() -T2F54 001:228.625 JLINK_IsHalted() -T2F54 001:231.705 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 001:232.238 - 3.644ms returns TRUE -T2F54 001:232.279 JLINK_ReadReg(R15 (PC)) -T2F54 001:232.296 - 0.020ms returns 0x20000000 -T2F54 001:232.305 JLINK_ClrBPEx(BPHandle = 0x0000001B) -T2F54 001:232.312 - 0.010ms returns 0x00 -T2F54 001:232.321 JLINK_ReadReg(R0) -T2F54 001:232.328 - 0.010ms returns 0x00000000 -T2F54 001:233.081 JLINK_WriteMem(0x20000108, 0x2F8 Bytes, ...) -T2F54 001:233.096 Data: 80 47 24 1D 02 48 84 42 F9 D3 10 BD 6C 94 00 00 ... -T2F54 001:233.114 CPU_WriteMem(760 bytes @ 0x20000108) -T2F54 001:237.458 - 4.398ms returns 0x2F8 -T2F54 001:237.505 JLINK_WriteMem(0x20000400, 0x400 Bytes, ...) -T2F54 001:237.514 Data: 64 65 20 69 73 20 25 64 0A 00 00 00 64 65 76 2D ... -T2F54 001:237.568 CPU_WriteMem(1024 bytes @ 0x20000400) -T2F54 001:243.095 - 5.605ms returns 0x400 -T2F54 001:243.121 JLINK_WriteMem(0x20000800, 0x400 Bytes, ...) -T2F54 001:243.129 Data: 0C 00 00 20 70 73 72 3A 20 30 78 25 30 38 78 0A ... -T2F54 001:243.151 CPU_WriteMem(1024 bytes @ 0x20000800) -T2F54 001:248.596 - 5.491ms returns 0x400 -T2F54 001:248.628 JLINK_WriteMem(0x20000C00, 0x400 Bytes, ...) -T2F54 001:248.636 Data: 01 EB C4 01 1F 4A 42 F8 31 00 1F 49 04 EB 44 00 ... -T2F54 001:248.656 CPU_WriteMem(1024 bytes @ 0x20000C00) -T2F54 001:254.223 - 5.629ms returns 0x400 -T2F54 001:254.288 JLINK_WriteMem(0x20001000, 0x108 Bytes, ...) -T2F54 001:254.295 Data: FE F7 2A FF 20 46 00 F0 C9 FC 07 28 04 D0 BD 22 ... -T2F54 001:254.350 CPU_WriteMem(264 bytes @ 0x20001000) -T2F54 001:256.221 - 1.941ms returns 0x108 -T2F54 001:256.241 JLINK_HasError() -T2F54 001:256.265 JLINK_WriteReg(R0, 0x00004000) -T2F54 001:256.289 - 0.026ms returns 0 -T2F54 001:256.300 JLINK_WriteReg(R1, 0x00001000) -T2F54 001:256.320 - 0.023ms returns 0 -T2F54 001:256.350 JLINK_WriteReg(R2, 0x20000108) -T2F54 001:256.371 - 0.023ms returns 0 -T2F54 001:256.381 JLINK_WriteReg(R3, 0x00000000) -T2F54 001:256.387 - 0.009ms returns 0 -T2F54 001:256.529 JLINK_WriteReg(R4, 0x00000000) -T2F54 001:256.556 - 0.030ms returns 0 -T2F54 001:256.568 JLINK_WriteReg(R5, 0x00000000) -T2F54 001:256.583 - 0.020ms returns 0 -T2F54 001:256.613 JLINK_WriteReg(R6, 0x00000000) -T2F54 001:256.635 - 0.024ms returns 0 -T2F54 001:256.642 JLINK_WriteReg(R7, 0x00000000) -T2F54 001:256.667 - 0.027ms returns 0 -T2F54 001:256.675 JLINK_WriteReg(R8, 0x00000000) -T2F54 001:256.681 - 0.008ms returns 0 -T2F54 001:256.701 JLINK_WriteReg(R9, 0x20000104) -T2F54 001:256.707 - 0.021ms returns 0 -T2F54 001:256.728 JLINK_WriteReg(R10, 0x00000000) -T2F54 001:256.734 - 0.009ms returns 0 -T2F54 001:256.742 JLINK_WriteReg(R11, 0x00000000) -T2F54 001:256.761 - 0.022ms returns 0 -T2F54 001:256.787 JLINK_WriteReg(R12, 0x00000000) -T2F54 001:256.793 - 0.009ms returns 0 -T2F54 001:256.801 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 001:256.807 - 0.009ms returns 0 -T2F54 001:256.829 JLINK_WriteReg(R14, 0x20000001) -T2F54 001:256.835 - 0.023ms returns 0 -T2F54 001:256.856 JLINK_WriteReg(R15 (PC), 0x20000080) -T2F54 001:256.876 - 0.022ms returns 0 -T2F54 001:256.883 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 001:256.889 - 0.008ms returns 0 -T2F54 001:256.915 JLINK_WriteReg(MSP, 0x20004000) -T2F54 001:256.921 - 0.009ms returns 0 -T2F54 001:256.929 JLINK_WriteReg(PSP, 0x20004000) -T2F54 001:256.934 - 0.008ms returns 0 -T2F54 001:256.942 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 001:256.948 - 0.008ms returns 0 -T2F54 001:256.958 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 001:256.967 - 0.025ms returns 0x0000001C -T2F54 001:256.989 JLINK_Go() -T2F54 001:257.020 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 001:260.321 - 3.339ms -T2F54 001:260.337 JLINK_IsHalted() -T2F54 001:260.710 - 0.380ms returns FALSE -T2F54 001:260.724 JLINK_HasError() -T2F54 001:262.322 JLINK_IsHalted() -T2F54 001:262.775 - 0.465ms returns FALSE -T2F54 001:262.798 JLINK_HasError() -T2F54 001:265.076 JLINK_IsHalted() -T2F54 001:265.808 - 0.739ms returns FALSE -T2F54 001:265.824 JLINK_HasError() -T2F54 001:267.013 JLINK_IsHalted() -T2F54 001:267.744 - 0.738ms returns FALSE -T2F54 001:267.763 JLINK_HasError() -T2F54 001:269.069 JLINK_IsHalted() -T2F54 001:269.408 - 0.346ms returns FALSE -T2F54 001:269.437 JLINK_HasError() -T2F54 001:270.795 JLINK_IsHalted() -T2F54 001:271.233 - 0.445ms returns FALSE -T2F54 001:271.248 JLINK_HasError() -T2F54 001:272.813 JLINK_IsHalted() -T2F54 001:273.230 - 0.423ms returns FALSE -T2F54 001:273.244 JLINK_HasError() -T2F54 001:274.822 JLINK_IsHalted() -T2F54 001:275.267 - 0.451ms returns FALSE -T2F54 001:275.281 JLINK_HasError() -T2F54 001:277.323 JLINK_IsHalted() -T2F54 001:278.165 - 0.863ms returns FALSE -T2F54 001:278.198 JLINK_HasError() -T2F54 001:279.383 JLINK_IsHalted() -T2F54 001:279.832 - 0.470ms returns FALSE -T2F54 001:279.862 JLINK_HasError() -T2F54 001:281.061 JLINK_IsHalted() -T2F54 001:281.591 - 0.550ms returns FALSE -T2F54 001:281.627 JLINK_HasError() -T2F54 001:283.417 JLINK_IsHalted() -T2F54 001:283.876 - 0.469ms returns FALSE -T2F54 001:283.896 JLINK_HasError() -T2F54 001:285.499 JLINK_IsHalted() -T2F54 001:285.984 - 0.498ms returns FALSE -T2F54 001:286.013 JLINK_HasError() -T2F54 001:288.032 JLINK_IsHalted() -T2F54 001:288.458 - 0.433ms returns FALSE -T2F54 001:288.475 JLINK_HasError() -T2F54 001:291.055 JLINK_IsHalted() -T2F54 001:294.207 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 001:294.599 - 3.552ms returns TRUE -T2F54 001:294.637 JLINK_ReadReg(R15 (PC)) -T2F54 001:294.647 - 0.013ms returns 0x20000000 -T2F54 001:294.656 JLINK_ClrBPEx(BPHandle = 0x0000001C) -T2F54 001:294.662 - 0.009ms returns 0x00 -T2F54 001:294.671 JLINK_ReadReg(R0) -T2F54 001:294.677 - 0.023ms returns 0x00000000 -T2F54 001:295.389 JLINK_WriteMem(0x20000108, 0x2F8 Bytes, ...) -T2F54 001:295.404 Data: 28 61 68 61 1F 48 40 1C 28 60 04 F1 44 00 00 F0 ... -T2F54 001:295.423 CPU_WriteMem(760 bytes @ 0x20000108) -T2F54 001:299.938 - 4.567ms returns 0x2F8 -T2F54 001:299.967 JLINK_WriteMem(0x20000400, 0x400 Bytes, ...) -T2F54 001:299.975 Data: 08 61 B9 F1 00 0F 0B D0 A8 6A 00 69 20 61 A8 6A ... -T2F54 001:299.994 CPU_WriteMem(1024 bytes @ 0x20000400) -T2F54 001:305.526 - 5.573ms returns 0x400 -T2F54 001:305.552 JLINK_WriteMem(0x20000800, 0x400 Bytes, ...) -T2F54 001:305.559 Data: 00 20 20 72 FA F7 9A FD 05 46 04 F1 0C 00 FF F7 ... -T2F54 001:305.578 CPU_WriteMem(1024 bytes @ 0x20000800) -T2F54 001:311.132 - 5.589ms returns 0x400 -T2F54 001:311.154 JLINK_WriteMem(0x20000C00, 0x400 Bytes, ...) -T2F54 001:311.180 Data: 28 46 00 F0 57 F8 20 46 00 F0 A2 F8 94 F8 34 00 ... -T2F54 001:311.208 CPU_WriteMem(1024 bytes @ 0x20000C00) -T2F54 001:316.744 - 5.626ms returns 0x400 -T2F54 001:316.794 JLINK_WriteMem(0x20001000, 0x108 Bytes, ...) -T2F54 001:316.822 Data: 88 47 00 BF 00 20 A3 E7 08 8A 00 00 73 65 6D 20 ... -T2F54 001:316.855 CPU_WriteMem(264 bytes @ 0x20001000) -T2F54 001:318.782 - 1.995ms returns 0x108 -T2F54 001:318.802 JLINK_HasError() -T2F54 001:318.960 JLINK_WriteReg(R0, 0x00005000) -T2F54 001:318.985 - 0.027ms returns 0 -T2F54 001:318.994 JLINK_WriteReg(R1, 0x00001000) -T2F54 001:319.000 - 0.009ms returns 0 -T2F54 001:319.008 JLINK_WriteReg(R2, 0x20000108) -T2F54 001:319.015 - 0.009ms returns 0 -T2F54 001:319.022 JLINK_WriteReg(R3, 0x00000000) -T2F54 001:319.030 - 0.010ms returns 0 -T2F54 001:319.038 JLINK_WriteReg(R4, 0x00000000) -T2F54 001:319.044 - 0.009ms returns 0 -T2F54 001:319.052 JLINK_WriteReg(R5, 0x00000000) -T2F54 001:319.071 - 0.022ms returns 0 -T2F54 001:319.098 JLINK_WriteReg(R6, 0x00000000) -T2F54 001:319.106 - 0.013ms returns 0 -T2F54 001:319.116 JLINK_WriteReg(R7, 0x00000000) -T2F54 001:319.123 - 0.009ms returns 0 -T2F54 001:319.130 JLINK_WriteReg(R8, 0x00000000) -T2F54 001:319.137 - 0.009ms returns 0 -T2F54 001:319.144 JLINK_WriteReg(R9, 0x20000104) -T2F54 001:319.150 - 0.008ms returns 0 -T2F54 001:319.158 JLINK_WriteReg(R10, 0x00000000) -T2F54 001:319.164 - 0.009ms returns 0 -T2F54 001:319.172 JLINK_WriteReg(R11, 0x00000000) -T2F54 001:319.178 - 0.009ms returns 0 -T2F54 001:319.199 JLINK_WriteReg(R12, 0x00000000) -T2F54 001:319.205 - 0.028ms returns 0 -T2F54 001:319.232 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 001:319.240 - 0.011ms returns 0 -T2F54 001:319.248 JLINK_WriteReg(R14, 0x20000001) -T2F54 001:319.254 - 0.009ms returns 0 -T2F54 001:319.262 JLINK_WriteReg(R15 (PC), 0x20000080) -T2F54 001:319.268 - 0.009ms returns 0 -T2F54 001:319.276 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 001:319.282 - 0.009ms returns 0 -T2F54 001:319.290 JLINK_WriteReg(MSP, 0x20004000) -T2F54 001:319.296 - 0.009ms returns 0 -T2F54 001:319.303 JLINK_WriteReg(PSP, 0x20004000) -T2F54 001:319.309 - 0.009ms returns 0 -T2F54 001:319.317 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 001:319.323 - 0.009ms returns 0 -T2F54 001:319.331 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 001:319.339 - 0.011ms returns 0x0000001D -T2F54 001:319.348 JLINK_Go() -T2F54 001:319.361 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 001:322.767 - 3.428ms -T2F54 001:322.784 JLINK_IsHalted() -T2F54 001:323.201 - 0.424ms returns FALSE -T2F54 001:323.217 JLINK_HasError() -T2F54 001:327.623 JLINK_IsHalted() -T2F54 001:328.102 - 0.489ms returns FALSE -T2F54 001:328.120 JLINK_HasError() -T2F54 001:329.539 JLINK_IsHalted() -T2F54 001:330.001 - 0.471ms returns FALSE -T2F54 001:330.019 JLINK_HasError() -T2F54 001:331.629 JLINK_IsHalted() -T2F54 001:332.096 - 0.502ms returns FALSE -T2F54 001:332.142 JLINK_HasError() -T2F54 001:333.523 JLINK_IsHalted() -T2F54 001:333.947 - 0.431ms returns FALSE -T2F54 001:333.963 JLINK_HasError() -T2F54 001:336.130 JLINK_IsHalted() -T2F54 001:336.529 - 0.406ms returns FALSE -T2F54 001:336.544 JLINK_HasError() -T2F54 001:338.149 JLINK_IsHalted() -T2F54 001:338.538 - 0.397ms returns FALSE -T2F54 001:338.554 JLINK_HasError() -T2F54 001:340.489 JLINK_IsHalted() -T2F54 001:341.058 - 0.586ms returns FALSE -T2F54 001:341.087 JLINK_HasError() -T2F54 001:342.342 JLINK_IsHalted() -T2F54 001:342.946 - 0.621ms returns FALSE -T2F54 001:342.974 JLINK_HasError() -T2F54 001:344.886 JLINK_IsHalted() -T2F54 001:345.403 - 0.536ms returns FALSE -T2F54 001:345.434 JLINK_HasError() -T2F54 001:347.560 JLINK_IsHalted() -T2F54 001:347.955 - 0.404ms returns FALSE -T2F54 001:347.973 JLINK_HasError() -T2F54 001:349.548 JLINK_IsHalted() -T2F54 001:350.027 - 0.505ms returns FALSE -T2F54 001:350.062 JLINK_HasError() -T2F54 001:351.533 JLINK_IsHalted() -T2F54 001:354.578 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 001:354.909 - 3.382ms returns TRUE -T2F54 001:354.923 JLINK_ReadReg(R15 (PC)) -T2F54 001:354.931 - 0.011ms returns 0x20000000 -T2F54 001:354.940 JLINK_ClrBPEx(BPHandle = 0x0000001D) -T2F54 001:354.946 - 0.009ms returns 0x00 -T2F54 001:354.954 JLINK_ReadReg(R0) -T2F54 001:354.960 - 0.009ms returns 0x00000000 -T2F54 001:355.489 JLINK_WriteMem(0x20000108, 0x2F8 Bytes, ...) -T2F54 001:355.499 Data: 48 72 0B 49 14 A0 FD F7 A3 FE 30 46 FE F7 E8 FA ... -T2F54 001:355.513 CPU_WriteMem(760 bytes @ 0x20000108) -T2F54 001:360.083 - 4.611ms returns 0x2F8 -T2F54 001:360.118 JLINK_WriteMem(0x20000400, 0x400 Bytes, ...) -T2F54 001:360.125 Data: 2C B9 4F F4 52 72 0C 49 0C A0 FD F7 25 FD 15 B9 ... -T2F54 001:360.164 CPU_WriteMem(1024 bytes @ 0x20000400) -T2F54 001:365.631 - 5.529ms returns 0x400 -T2F54 001:365.658 JLINK_WriteMem(0x20000800, 0x400 Bytes, ...) -T2F54 001:365.678 Data: 48 46 E8 E7 10 B5 00 22 0A 49 08 68 88 42 0E D0 ... -T2F54 001:365.711 CPU_WriteMem(1024 bytes @ 0x20000800) -T2F54 001:371.204 - 5.569ms returns 0x400 -T2F54 001:371.239 JLINK_WriteMem(0x20000C00, 0x400 Bytes, ...) -T2F54 001:371.246 Data: FD F7 2A F9 F9 F7 9A FB 05 46 20 46 00 F0 86 F8 ... -T2F54 001:371.285 CPU_WriteMem(1024 bytes @ 0x20000C00) -T2F54 001:377.064 - 5.843ms returns 0x400 -T2F54 001:377.099 JLINK_WriteMem(0x20001000, 0x108 Bytes, ...) -T2F54 001:377.106 Data: 05 E0 00 BF 05 48 FD F7 12 FF 00 28 AB D0 00 BF ... -T2F54 001:377.125 CPU_WriteMem(264 bytes @ 0x20001000) -T2F54 001:378.942 - 1.862ms returns 0x108 -T2F54 001:378.980 JLINK_HasError() -T2F54 001:379.063 JLINK_WriteReg(R0, 0x00006000) -T2F54 001:379.082 - 0.022ms returns 0 -T2F54 001:379.091 JLINK_WriteReg(R1, 0x00001000) -T2F54 001:379.098 - 0.009ms returns 0 -T2F54 001:379.105 JLINK_WriteReg(R2, 0x20000108) -T2F54 001:379.112 - 0.009ms returns 0 -T2F54 001:379.119 JLINK_WriteReg(R3, 0x00000000) -T2F54 001:379.125 - 0.009ms returns 0 -T2F54 001:379.133 JLINK_WriteReg(R4, 0x00000000) -T2F54 001:379.140 - 0.009ms returns 0 -T2F54 001:379.147 JLINK_WriteReg(R5, 0x00000000) -T2F54 001:379.153 - 0.009ms returns 0 -T2F54 001:379.161 JLINK_WriteReg(R6, 0x00000000) -T2F54 001:379.167 - 0.009ms returns 0 -T2F54 001:379.175 JLINK_WriteReg(R7, 0x00000000) -T2F54 001:379.181 - 0.009ms returns 0 -T2F54 001:379.189 JLINK_WriteReg(R8, 0x00000000) -T2F54 001:379.195 - 0.009ms returns 0 -T2F54 001:379.202 JLINK_WriteReg(R9, 0x20000104) -T2F54 001:379.209 - 0.009ms returns 0 -T2F54 001:379.216 JLINK_WriteReg(R10, 0x00000000) -T2F54 001:379.222 - 0.009ms returns 0 -T2F54 001:379.230 JLINK_WriteReg(R11, 0x00000000) -T2F54 001:379.236 - 0.009ms returns 0 -T2F54 001:379.244 JLINK_WriteReg(R12, 0x00000000) -T2F54 001:379.250 - 0.009ms returns 0 -T2F54 001:379.258 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 001:379.265 - 0.010ms returns 0 -T2F54 001:379.273 JLINK_WriteReg(R14, 0x20000001) -T2F54 001:379.279 - 0.009ms returns 0 -T2F54 001:379.287 JLINK_WriteReg(R15 (PC), 0x20000080) -T2F54 001:379.293 - 0.009ms returns 0 -T2F54 001:379.301 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 001:379.307 - 0.009ms returns 0 -T2F54 001:379.315 JLINK_WriteReg(MSP, 0x20004000) -T2F54 001:379.321 - 0.009ms returns 0 -T2F54 001:379.329 JLINK_WriteReg(PSP, 0x20004000) -T2F54 001:379.349 - 0.022ms returns 0 -T2F54 001:379.356 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 001:379.381 - 0.028ms returns 0 -T2F54 001:379.406 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 001:379.414 - 0.011ms returns 0x0000001E -T2F54 001:379.422 JLINK_Go() -T2F54 001:379.455 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 001:382.823 - 3.465ms -T2F54 001:382.897 JLINK_IsHalted() -T2F54 001:383.342 - 0.453ms returns FALSE -T2F54 001:383.375 JLINK_HasError() -T2F54 001:384.607 JLINK_IsHalted() -T2F54 001:385.021 - 0.422ms returns FALSE -T2F54 001:385.037 JLINK_HasError() -T2F54 001:386.612 JLINK_IsHalted() -T2F54 001:386.987 - 0.383ms returns FALSE -T2F54 001:387.003 JLINK_HasError() -T2F54 001:388.809 JLINK_IsHalted() -T2F54 001:389.257 - 0.456ms returns FALSE -T2F54 001:389.273 JLINK_HasError() -T2F54 001:390.817 JLINK_IsHalted() -T2F54 001:391.271 - 0.461ms returns FALSE -T2F54 001:391.287 JLINK_HasError() -T2F54 001:393.574 JLINK_IsHalted() -T2F54 001:394.147 - 0.585ms returns FALSE -T2F54 001:394.189 JLINK_HasError() -T2F54 001:396.108 JLINK_IsHalted() -T2F54 001:396.487 - 0.390ms returns FALSE -T2F54 001:396.507 JLINK_HasError() -T2F54 001:399.303 JLINK_IsHalted() -T2F54 001:399.938 - 0.643ms returns FALSE -T2F54 001:399.954 JLINK_HasError() -T2F54 001:402.103 JLINK_IsHalted() -T2F54 001:402.810 - 0.713ms returns FALSE -T2F54 001:402.823 JLINK_HasError() -T2F54 001:405.040 JLINK_IsHalted() -T2F54 001:405.784 - 0.750ms returns FALSE -T2F54 001:405.803 JLINK_HasError() -T2F54 001:406.993 JLINK_IsHalted() -T2F54 001:407.487 - 0.501ms returns FALSE -T2F54 001:407.501 JLINK_HasError() -T2F54 001:408.995 JLINK_IsHalted() -T2F54 001:409.533 - 0.552ms returns FALSE -T2F54 001:409.572 JLINK_HasError() -T2F54 001:410.796 JLINK_IsHalted() -T2F54 001:411.222 - 0.433ms returns FALSE -T2F54 001:411.258 JLINK_HasError() -T2F54 001:412.960 JLINK_IsHalted() -T2F54 001:415.939 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 001:416.290 - 3.338ms returns TRUE -T2F54 001:416.307 JLINK_ReadReg(R15 (PC)) -T2F54 001:416.328 - 0.024ms returns 0x20000000 -T2F54 001:416.337 JLINK_ClrBPEx(BPHandle = 0x0000001E) -T2F54 001:416.344 - 0.010ms returns 0x00 -T2F54 001:416.352 JLINK_ReadReg(R0) -T2F54 001:416.359 - 0.009ms returns 0x00000000 -T2F54 001:417.020 JLINK_WriteMem(0x20000108, 0x2F8 Bytes, ...) -T2F54 001:417.045 Data: 2C B9 4F F4 86 72 15 49 15 A0 FC F7 A1 FE 20 46 ... -T2F54 001:417.073 CPU_WriteMem(760 bytes @ 0x20000108) -T2F54 001:421.423 - 4.427ms returns 0x2F8 -T2F54 001:421.459 JLINK_WriteMem(0x20000400, 0x400 Bytes, ...) -T2F54 001:421.465 Data: F5 12 17 49 17 A0 FC F7 27 FD 20 46 FE F7 C6 FA ... -T2F54 001:421.484 CPU_WriteMem(1024 bytes @ 0x20000400) -T2F54 001:426.935 - 5.499ms returns 0x400 -T2F54 001:426.970 JLINK_WriteMem(0x20000800, 0x400 Bytes, ...) -T2F54 001:426.977 Data: 4F F0 FF 31 28 46 02 9B FF F7 56 FE 3E BD 00 20 ... -T2F54 001:426.997 CPU_WriteMem(1024 bytes @ 0x20000800) -T2F54 001:432.905 - 5.952ms returns 0x400 -T2F54 001:432.939 JLINK_WriteMem(0x20000C00, 0x400 Bytes, ...) -T2F54 001:432.946 Data: 9D FE 04 46 14 B9 06 20 BD E8 F8 83 01 2E 6D D1 ... -T2F54 001:432.966 CPU_WriteMem(1024 bytes @ 0x20000C00) -T2F54 001:438.883 - 5.966ms returns 0x400 -T2F54 001:438.941 JLINK_WriteMem(0x20001000, 0x108 Bytes, ...) -T2F54 001:438.949 Data: 69 67 75 72 65 20 21 3D 20 52 54 5F 4E 55 4C 4C ... -T2F54 001:438.968 CPU_WriteMem(264 bytes @ 0x20001000) -T2F54 001:440.976 - 2.052ms returns 0x108 -T2F54 001:441.011 JLINK_HasError() -T2F54 001:441.096 JLINK_WriteReg(R0, 0x00007000) -T2F54 001:441.130 - 0.050ms returns 0 -T2F54 001:441.151 JLINK_WriteReg(R1, 0x00001000) -T2F54 001:441.158 - 0.027ms returns 0 -T2F54 001:441.184 JLINK_WriteReg(R2, 0x20000108) -T2F54 001:441.190 - 0.008ms returns 0 -T2F54 001:441.198 JLINK_WriteReg(R3, 0x00000000) -T2F54 001:441.204 - 0.008ms returns 0 -T2F54 001:441.226 JLINK_WriteReg(R4, 0x00000000) -T2F54 001:441.251 - 0.028ms returns 0 -T2F54 001:441.272 JLINK_WriteReg(R5, 0x00000000) -T2F54 001:441.278 - 0.008ms returns 0 -T2F54 001:441.285 JLINK_WriteReg(R6, 0x00000000) -T2F54 001:441.291 - 0.008ms returns 0 -T2F54 001:441.317 JLINK_WriteReg(R7, 0x00000000) -T2F54 001:441.323 - 0.008ms returns 0 -T2F54 001:441.331 JLINK_WriteReg(R8, 0x00000000) -T2F54 001:441.337 - 0.021ms returns 0 -T2F54 001:441.357 JLINK_WriteReg(R9, 0x20000104) -T2F54 001:441.363 - 0.008ms returns 0 -T2F54 001:441.389 JLINK_WriteReg(R10, 0x00000000) -T2F54 001:441.395 - 0.008ms returns 0 -T2F54 001:441.403 JLINK_WriteReg(R11, 0x00000000) -T2F54 001:441.409 - 0.023ms returns 0 -T2F54 001:441.431 JLINK_WriteReg(R12, 0x00000000) -T2F54 001:441.456 - 0.028ms returns 0 -T2F54 001:441.477 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 001:441.484 - 0.009ms returns 0 -T2F54 001:441.491 JLINK_WriteReg(R14, 0x20000001) -T2F54 001:441.516 - 0.027ms returns 0 -T2F54 001:441.523 JLINK_WriteReg(R15 (PC), 0x20000080) -T2F54 001:441.529 - 0.009ms returns 0 -T2F54 001:441.537 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 001:441.543 - 0.008ms returns 0 -T2F54 001:441.550 JLINK_WriteReg(MSP, 0x20004000) -T2F54 001:441.556 - 0.008ms returns 0 -T2F54 001:441.564 JLINK_WriteReg(PSP, 0x20004000) -T2F54 001:441.570 - 0.008ms returns 0 -T2F54 001:441.590 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 001:441.596 - 0.027ms returns 0 -T2F54 001:441.623 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 001:441.631 - 0.010ms returns 0x0000001F -T2F54 001:441.639 JLINK_Go() -T2F54 001:441.652 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 001:445.062 - 3.434ms -T2F54 001:445.081 JLINK_IsHalted() -T2F54 001:445.396 - 0.323ms returns FALSE -T2F54 001:445.413 JLINK_HasError() -T2F54 001:446.711 JLINK_IsHalted() -T2F54 001:447.057 - 0.353ms returns FALSE -T2F54 001:447.072 JLINK_HasError() -T2F54 001:448.831 JLINK_IsHalted() -T2F54 001:449.310 - 0.486ms returns FALSE -T2F54 001:449.325 JLINK_HasError() -T2F54 001:450.832 JLINK_IsHalted() -T2F54 001:451.367 - 0.543ms returns FALSE -T2F54 001:451.383 JLINK_HasError() -T2F54 001:453.848 JLINK_IsHalted() -T2F54 001:454.736 - 0.905ms returns FALSE -T2F54 001:454.768 JLINK_HasError() -T2F54 001:456.454 JLINK_IsHalted() -T2F54 001:457.040 - 0.610ms returns FALSE -T2F54 001:457.093 JLINK_HasError() -T2F54 001:458.459 JLINK_IsHalted() -T2F54 001:458.803 - 0.353ms returns FALSE -T2F54 001:458.820 JLINK_HasError() -T2F54 001:460.479 JLINK_IsHalted() -T2F54 001:460.931 - 0.458ms returns FALSE -T2F54 001:460.945 JLINK_HasError() -T2F54 001:462.214 JLINK_IsHalted() -T2F54 001:462.571 - 0.365ms returns FALSE -T2F54 001:462.586 JLINK_HasError() -T2F54 001:464.205 JLINK_IsHalted() -T2F54 001:464.615 - 0.419ms returns FALSE -T2F54 001:464.633 JLINK_HasError() -T2F54 001:466.561 JLINK_IsHalted() -T2F54 001:467.142 - 0.590ms returns FALSE -T2F54 001:467.163 JLINK_HasError() -T2F54 001:468.616 JLINK_IsHalted() -T2F54 001:469.231 - 0.640ms returns FALSE -T2F54 001:469.267 JLINK_HasError() -T2F54 001:470.894 JLINK_IsHalted() -T2F54 001:471.362 - 0.481ms returns FALSE -T2F54 001:471.391 JLINK_HasError() -T2F54 001:473.473 JLINK_IsHalted() -T2F54 001:473.905 - 0.441ms returns FALSE -T2F54 001:473.926 JLINK_HasError() -T2F54 001:475.400 JLINK_IsHalted() -T2F54 001:478.399 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 001:478.785 - 3.394ms returns TRUE -T2F54 001:478.805 JLINK_ReadReg(R15 (PC)) -T2F54 001:478.816 - 0.014ms returns 0x20000000 -T2F54 001:478.824 JLINK_ClrBPEx(BPHandle = 0x0000001F) -T2F54 001:478.831 - 0.010ms returns 0x00 -T2F54 001:478.840 JLINK_ReadReg(R0) -T2F54 001:478.847 - 0.009ms returns 0x00000000 -T2F54 001:479.567 JLINK_WriteMem(0x20000108, 0x2F8 Bytes, ...) -T2F54 001:479.584 Data: 5F 55 46 53 52 3A 30 78 25 30 32 58 20 00 00 00 ... -T2F54 001:479.605 CPU_WriteMem(760 bytes @ 0x20000108) -T2F54 001:483.818 - 4.268ms returns 0x2F8 -T2F54 001:483.846 JLINK_WriteMem(0x20000400, 0x400 Bytes, ...) -T2F54 001:483.854 Data: 04 00 00 00 34 00 00 00 12 00 00 00 00 20 01 40 ... -T2F54 001:483.873 CPU_WriteMem(1024 bytes @ 0x20000400) -T2F54 001:489.423 - 5.586ms returns 0x400 -T2F54 001:489.442 JLINK_WriteMem(0x20000800, 0x400 Bytes, ...) -T2F54 001:489.449 Data: 05 00 00 00 38 00 00 00 52 00 00 00 00 80 01 40 ... -T2F54 001:489.464 CPU_WriteMem(1024 bytes @ 0x20000800) -T2F54 001:494.920 - 5.502ms returns 0x400 -T2F54 001:494.977 JLINK_WriteMem(0x20000C00, 0x400 Bytes, ...) -T2F54 001:494.984 Data: 76 00 72 74 5F 65 76 65 6E 74 5F 63 6F 6E 74 72 ... -T2F54 001:495.001 CPU_WriteMem(1024 bytes @ 0x20000C00) -T2F54 001:500.907 - 5.987ms returns 0x400 -T2F54 001:500.981 JLINK_WriteMem(0x20001000, 0x108 Bytes, ...) -T2F54 001:500.990 Data: 61 63 6B 5F 63 68 65 63 6B 00 72 74 5F 73 63 68 ... -T2F54 001:501.025 CPU_WriteMem(264 bytes @ 0x20001000) -T2F54 001:503.305 - 2.349ms returns 0x108 -T2F54 001:503.364 JLINK_HasError() -T2F54 001:503.480 JLINK_WriteReg(R0, 0x00008000) -T2F54 001:503.532 - 0.075ms returns 0 -T2F54 001:503.563 JLINK_WriteReg(R1, 0x00001000) -T2F54 001:503.570 - 0.010ms returns 0 -T2F54 001:503.578 JLINK_WriteReg(R2, 0x20000108) -T2F54 001:503.599 - 0.023ms returns 0 -T2F54 001:503.626 JLINK_WriteReg(R3, 0x00000000) -T2F54 001:503.646 - 0.022ms returns 0 -T2F54 001:503.654 JLINK_WriteReg(R4, 0x00000000) -T2F54 001:503.661 - 0.010ms returns 0 -T2F54 001:503.688 JLINK_WriteReg(R5, 0x00000000) -T2F54 001:503.694 - 0.009ms returns 0 -T2F54 001:503.702 JLINK_WriteReg(R6, 0x00000000) -T2F54 001:503.709 - 0.022ms returns 0 -T2F54 001:503.730 JLINK_WriteReg(R7, 0x00000000) -T2F54 001:503.755 - 0.028ms returns 0 -T2F54 001:503.763 JLINK_WriteReg(R8, 0x00000000) -T2F54 001:503.770 - 0.011ms returns 0 -T2F54 001:503.779 JLINK_WriteReg(R9, 0x20000104) -T2F54 001:503.786 - 0.010ms returns 0 -T2F54 001:503.794 JLINK_WriteReg(R10, 0x00000000) -T2F54 001:503.800 - 0.009ms returns 0 -T2F54 001:503.821 JLINK_WriteReg(R11, 0x00000000) -T2F54 001:503.827 - 0.028ms returns 0 -T2F54 001:503.854 JLINK_WriteReg(R12, 0x00000000) -T2F54 001:503.865 - 0.014ms returns 0 -T2F54 001:503.874 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 001:503.896 - 0.024ms returns 0 -T2F54 001:503.904 JLINK_WriteReg(R14, 0x20000001) -T2F54 001:503.929 - 0.041ms returns 0 -T2F54 001:503.953 JLINK_WriteReg(R15 (PC), 0x20000080) -T2F54 001:503.962 - 0.011ms returns 0 -T2F54 001:503.989 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 001:503.995 - 0.009ms returns 0 -T2F54 001:504.003 JLINK_WriteReg(MSP, 0x20004000) -T2F54 001:504.024 - 0.023ms returns 0 -T2F54 001:504.051 JLINK_WriteReg(PSP, 0x20004000) -T2F54 001:504.057 - 0.009ms returns 0 -T2F54 001:504.065 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 001:504.072 - 0.023ms returns 0 -T2F54 001:504.094 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 001:504.121 - 0.030ms returns 0x00000020 -T2F54 001:504.130 JLINK_Go() -T2F54 001:504.158 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 001:507.666 - 3.544ms -T2F54 001:507.682 JLINK_IsHalted() -T2F54 001:508.050 - 0.375ms returns FALSE -T2F54 001:508.066 JLINK_HasError() -T2F54 001:510.932 JLINK_IsHalted() -T2F54 001:511.441 - 0.518ms returns FALSE -T2F54 001:511.459 JLINK_HasError() -T2F54 001:513.187 JLINK_IsHalted() -T2F54 001:513.681 - 0.502ms returns FALSE -T2F54 001:513.698 JLINK_HasError() -T2F54 001:515.567 JLINK_IsHalted() -T2F54 001:516.391 - 0.842ms returns FALSE -T2F54 001:516.420 JLINK_HasError() -T2F54 001:517.803 JLINK_IsHalted() -T2F54 001:518.610 - 0.831ms returns FALSE -T2F54 001:518.651 JLINK_HasError() -T2F54 001:520.444 JLINK_IsHalted() -T2F54 001:520.953 - 0.518ms returns FALSE -T2F54 001:520.971 JLINK_HasError() -T2F54 001:522.092 JLINK_IsHalted() -T2F54 001:522.485 - 0.400ms returns FALSE -T2F54 001:522.500 JLINK_HasError() -T2F54 001:524.136 JLINK_IsHalted() -T2F54 001:524.558 - 0.429ms returns FALSE -T2F54 001:524.572 JLINK_HasError() -T2F54 001:526.131 JLINK_IsHalted() -T2F54 001:526.547 - 0.422ms returns FALSE -T2F54 001:526.561 JLINK_HasError() -T2F54 001:528.142 JLINK_IsHalted() -T2F54 001:528.501 - 0.367ms returns FALSE -T2F54 001:528.530 JLINK_HasError() -T2F54 001:530.125 JLINK_IsHalted() -T2F54 001:530.525 - 0.407ms returns FALSE -T2F54 001:530.560 JLINK_HasError() -T2F54 001:532.215 JLINK_IsHalted() -T2F54 001:532.799 - 0.622ms returns FALSE -T2F54 001:532.849 JLINK_HasError() -T2F54 001:534.236 JLINK_IsHalted() -T2F54 001:534.713 - 0.513ms returns FALSE -T2F54 001:534.762 JLINK_HasError() -T2F54 001:536.816 JLINK_IsHalted() -T2F54 001:540.037 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 001:540.424 - 3.616ms returns TRUE -T2F54 001:540.441 JLINK_ReadReg(R15 (PC)) -T2F54 001:540.450 - 0.012ms returns 0x20000000 -T2F54 001:540.459 JLINK_ClrBPEx(BPHandle = 0x00000020) -T2F54 001:540.466 - 0.009ms returns 0x00 -T2F54 001:540.474 JLINK_ReadReg(R0) -T2F54 001:540.480 - 0.009ms returns 0x00000000 -T2F54 001:541.329 JLINK_WriteMem(0x20000108, 0x2F8 Bytes, ...) -T2F54 001:541.340 Data: 4E 65 74 77 6F 72 6B 20 49 6E 74 65 72 66 61 63 ... -T2F54 001:541.355 CPU_WriteMem(760 bytes @ 0x20000108) -T2F54 001:545.571 - 4.260ms returns 0x2F8 -T2F54 001:545.598 JLINK_WriteMem(0x20000400, 0x400 Bytes, ...) -T2F54 001:545.605 Data: 6C 69 73 74 20 65 76 65 6E 74 20 69 6E 20 73 79 ... -T2F54 001:545.621 CPU_WriteMem(1024 bytes @ 0x20000400) -T2F54 001:551.158 - 5.591ms returns 0x400 -T2F54 001:551.200 JLINK_WriteMem(0x20000800, 0x400 Bytes, ...) -T2F54 001:551.207 Data: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ... -T2F54 001:551.258 CPU_WriteMem(1024 bytes @ 0x20000800) -T2F54 001:556.762 - 5.572ms returns 0x400 -T2F54 001:556.785 JLINK_WriteMem(0x20000C00, 0x400 Bytes, ...) -T2F54 001:556.793 Data: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ... -T2F54 001:556.808 CPU_WriteMem(1024 bytes @ 0x20000C00) -T2F54 001:562.332 - 5.564ms returns 0x400 -T2F54 001:562.366 JLINK_WriteMem(0x20001000, 0x108 Bytes, ...) -T2F54 001:562.374 Data: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ... -T2F54 001:562.393 CPU_WriteMem(264 bytes @ 0x20001000) -T2F54 001:564.286 - 1.929ms returns 0x108 -T2F54 001:564.314 JLINK_HasError() -T2F54 001:564.324 JLINK_WriteReg(R0, 0x00009000) -T2F54 001:564.334 - 0.013ms returns 0 -T2F54 001:564.342 JLINK_WriteReg(R1, 0x000006C4) -T2F54 001:564.349 - 0.009ms returns 0 -T2F54 001:564.356 JLINK_WriteReg(R2, 0x20000108) -T2F54 001:564.362 - 0.011ms returns 0 -T2F54 001:564.377 JLINK_WriteReg(R3, 0x00000000) -T2F54 001:564.384 - 0.009ms returns 0 -T2F54 001:564.391 JLINK_WriteReg(R4, 0x00000000) -T2F54 001:564.397 - 0.008ms returns 0 -T2F54 001:564.405 JLINK_WriteReg(R5, 0x00000000) -T2F54 001:564.411 - 0.008ms returns 0 -T2F54 001:564.418 JLINK_WriteReg(R6, 0x00000000) -T2F54 001:564.424 - 0.008ms returns 0 -T2F54 001:564.432 JLINK_WriteReg(R7, 0x00000000) -T2F54 001:564.438 - 0.008ms returns 0 -T2F54 001:564.448 JLINK_WriteReg(R8, 0x00000000) -T2F54 001:564.454 - 0.009ms returns 0 -T2F54 001:564.544 JLINK_WriteReg(R9, 0x20000104) -T2F54 001:564.559 - 0.018ms returns 0 -T2F54 001:564.568 JLINK_WriteReg(R10, 0x00000000) -T2F54 001:564.575 - 0.009ms returns 0 -T2F54 001:564.583 JLINK_WriteReg(R11, 0x00000000) -T2F54 001:564.589 - 0.009ms returns 0 -T2F54 001:564.597 JLINK_WriteReg(R12, 0x00000000) -T2F54 001:564.603 - 0.009ms returns 0 -T2F54 001:564.611 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 001:564.617 - 0.009ms returns 0 -T2F54 001:564.625 JLINK_WriteReg(R14, 0x20000001) -T2F54 001:564.631 - 0.009ms returns 0 -T2F54 001:564.639 JLINK_WriteReg(R15 (PC), 0x20000080) -T2F54 001:564.645 - 0.009ms returns 0 -T2F54 001:564.653 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 001:564.659 - 0.009ms returns 0 -T2F54 001:564.667 JLINK_WriteReg(MSP, 0x20004000) -T2F54 001:564.673 - 0.009ms returns 0 -T2F54 001:564.681 JLINK_WriteReg(PSP, 0x20004000) -T2F54 001:564.687 - 0.009ms returns 0 -T2F54 001:564.694 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 001:564.700 - 0.009ms returns 0 -T2F54 001:564.708 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 001:564.716 - 0.010ms returns 0x00000021 -T2F54 001:564.724 JLINK_Go() -T2F54 001:564.738 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 001:568.174 - 3.483ms -T2F54 001:568.217 JLINK_IsHalted() -T2F54 001:568.600 - 0.407ms returns FALSE -T2F54 001:568.633 JLINK_HasError() -T2F54 001:572.819 JLINK_IsHalted() -T2F54 001:573.191 - 0.379ms returns FALSE -T2F54 001:573.207 JLINK_HasError() -T2F54 001:574.868 JLINK_IsHalted() -T2F54 001:575.381 - 0.519ms returns FALSE -T2F54 001:575.395 JLINK_HasError() -T2F54 001:577.048 JLINK_IsHalted() -T2F54 001:577.763 - 0.723ms returns FALSE -T2F54 001:577.779 JLINK_HasError() -T2F54 001:579.894 JLINK_IsHalted() -T2F54 001:580.289 - 0.403ms returns FALSE -T2F54 001:580.306 JLINK_HasError() -T2F54 001:581.853 JLINK_IsHalted() -T2F54 001:585.011 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 001:585.408 - 3.562ms returns TRUE -T2F54 001:585.427 JLINK_ReadReg(R15 (PC)) -T2F54 001:585.436 - 0.012ms returns 0x20000000 -T2F54 001:585.445 JLINK_ClrBPEx(BPHandle = 0x00000021) -T2F54 001:585.452 - 0.009ms returns 0x00 -T2F54 001:585.460 JLINK_ReadReg(R0) -T2F54 001:585.466 - 0.009ms returns 0x00000000 -T2F54 001:585.475 JLINK_HasError() -T2F54 001:585.483 JLINK_WriteReg(R0, 0x00000002) -T2F54 001:585.490 - 0.010ms returns 0 -T2F54 001:585.498 JLINK_WriteReg(R1, 0x000006C4) -T2F54 001:585.504 - 0.009ms returns 0 -T2F54 001:585.512 JLINK_WriteReg(R2, 0x20000108) -T2F54 001:585.518 - 0.009ms returns 0 -T2F54 001:585.526 JLINK_WriteReg(R3, 0x00000000) -T2F54 001:585.532 - 0.009ms returns 0 -T2F54 001:585.540 JLINK_WriteReg(R4, 0x00000000) -T2F54 001:585.546 - 0.008ms returns 0 -T2F54 001:585.553 JLINK_WriteReg(R5, 0x00000000) -T2F54 001:585.559 - 0.009ms returns 0 -T2F54 001:585.567 JLINK_WriteReg(R6, 0x00000000) -T2F54 001:585.573 - 0.009ms returns 0 -T2F54 001:585.581 JLINK_WriteReg(R7, 0x00000000) -T2F54 001:585.587 - 0.009ms returns 0 -T2F54 001:585.595 JLINK_WriteReg(R8, 0x00000000) -T2F54 001:585.601 - 0.009ms returns 0 -T2F54 001:585.608 JLINK_WriteReg(R9, 0x20000104) -T2F54 001:585.614 - 0.009ms returns 0 -T2F54 001:585.622 JLINK_WriteReg(R10, 0x00000000) -T2F54 001:585.628 - 0.009ms returns 0 -T2F54 001:585.636 JLINK_WriteReg(R11, 0x00000000) -T2F54 001:585.642 - 0.009ms returns 0 -T2F54 001:585.649 JLINK_WriteReg(R12, 0x00000000) -T2F54 001:585.655 - 0.008ms returns 0 -T2F54 001:585.663 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 001:585.669 - 0.009ms returns 0 -T2F54 001:585.677 JLINK_WriteReg(R14, 0x20000001) -T2F54 001:585.686 - 0.014ms returns 0 -T2F54 001:585.696 JLINK_WriteReg(R15 (PC), 0x20000044) -T2F54 001:585.702 - 0.009ms returns 0 -T2F54 001:585.710 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 001:585.751 - 0.044ms returns 0 -T2F54 001:585.759 JLINK_WriteReg(MSP, 0x20004000) -T2F54 001:585.765 - 0.009ms returns 0 -T2F54 001:585.773 JLINK_WriteReg(PSP, 0x20004000) -T2F54 001:585.779 - 0.009ms returns 0 -T2F54 001:585.787 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 001:585.793 - 0.009ms returns 0 -T2F54 001:585.800 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 001:585.807 - 0.010ms returns 0x00000022 -T2F54 001:585.815 JLINK_Go() -T2F54 001:585.828 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 001:589.073 - 3.268ms -T2F54 001:589.127 JLINK_IsHalted() -T2F54 001:592.699 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 001:593.543 - 4.468ms returns TRUE -T2F54 001:593.597 JLINK_ReadReg(R15 (PC)) -T2F54 001:593.609 - 0.015ms returns 0x20000000 -T2F54 001:593.772 JLINK_ClrBPEx(BPHandle = 0x00000022) -T2F54 001:593.791 - 0.035ms returns 0x00 -T2F54 001:593.814 JLINK_ReadReg(R0) -T2F54 001:593.821 - 0.010ms returns 0x00000000 -T2F54 001:656.255 JLINK_WriteMem(0x20000000, 0x108 Bytes, ...) -T2F54 001:656.271 Data: 00 BE 0A E0 0D 78 2D 06 68 40 08 24 40 00 00 D3 ... -T2F54 001:656.291 CPU_WriteMem(264 bytes @ 0x20000000) -T2F54 001:658.354 - 2.107ms returns 0x108 -T2F54 001:658.386 JLINK_HasError() -T2F54 001:658.396 JLINK_WriteReg(R0, 0x00000000) -T2F54 001:658.405 - 0.011ms returns 0 -T2F54 001:658.412 JLINK_WriteReg(R1, 0x00B71B00) -T2F54 001:658.419 - 0.009ms returns 0 -T2F54 001:658.426 JLINK_WriteReg(R2, 0x00000003) -T2F54 001:658.432 - 0.008ms returns 0 -T2F54 001:658.440 JLINK_WriteReg(R3, 0x00000000) -T2F54 001:658.446 - 0.008ms returns 0 -T2F54 001:658.453 JLINK_WriteReg(R4, 0x00000000) -T2F54 001:658.459 - 0.008ms returns 0 -T2F54 001:658.467 JLINK_WriteReg(R5, 0x00000000) -T2F54 001:658.472 - 0.008ms returns 0 -T2F54 001:658.480 JLINK_WriteReg(R6, 0x00000000) -T2F54 001:658.486 - 0.008ms returns 0 -T2F54 001:658.493 JLINK_WriteReg(R7, 0x00000000) -T2F54 001:658.499 - 0.008ms returns 0 -T2F54 001:658.507 JLINK_WriteReg(R8, 0x00000000) -T2F54 001:658.513 - 0.008ms returns 0 -T2F54 001:658.520 JLINK_WriteReg(R9, 0x20000104) -T2F54 001:658.526 - 0.008ms returns 0 -T2F54 001:658.533 JLINK_WriteReg(R10, 0x00000000) -T2F54 001:658.539 - 0.008ms returns 0 -T2F54 001:658.547 JLINK_WriteReg(R11, 0x00000000) -T2F54 001:658.552 - 0.008ms returns 0 -T2F54 001:658.560 JLINK_WriteReg(R12, 0x00000000) -T2F54 001:658.566 - 0.008ms returns 0 -T2F54 001:658.573 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 001:658.579 - 0.009ms returns 0 -T2F54 001:658.587 JLINK_WriteReg(R14, 0x20000001) -T2F54 001:658.593 - 0.008ms returns 0 -T2F54 001:658.600 JLINK_WriteReg(R15 (PC), 0x20000040) -T2F54 001:658.606 - 0.009ms returns 0 -T2F54 001:658.614 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 001:658.620 - 0.008ms returns 0 -T2F54 001:658.627 JLINK_WriteReg(MSP, 0x20004000) -T2F54 001:658.633 - 0.008ms returns 0 -T2F54 001:658.640 JLINK_WriteReg(PSP, 0x20004000) -T2F54 001:658.646 - 0.008ms returns 0 -T2F54 001:658.654 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 001:658.660 - 0.008ms returns 0 -T2F54 001:658.667 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 001:658.677 CPU_ReadMem(4 bytes @ 0x20000000) -T2F54 001:659.388 CPU_WriteMem(4 bytes @ 0x20000000) -T2F54 001:659.791 CPU_ReadMem(4 bytes @ 0x20000000) -T2F54 001:660.324 CPU_WriteMem(4 bytes @ 0x20000000) -T2F54 001:660.904 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 001:661.330 - 2.671ms returns 0x00000023 -T2F54 001:661.349 JLINK_Go() -T2F54 001:661.362 CPU_WriteMem(2 bytes @ 0x20000000) -T2F54 001:661.720 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 001:664.959 - 3.625ms -T2F54 001:664.984 JLINK_IsHalted() -T2F54 001:668.110 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 001:668.775 - 3.798ms returns TRUE -T2F54 001:668.792 JLINK_ReadReg(R15 (PC)) -T2F54 001:668.802 - 0.012ms returns 0x20000000 -T2F54 001:668.810 JLINK_ClrBPEx(BPHandle = 0x00000023) -T2F54 001:668.817 - 0.012ms returns 0x00 -T2F54 001:668.830 JLINK_ReadReg(R0) -T2F54 001:668.836 - 0.009ms returns 0x00000000 -T2F54 001:668.845 JLINK_WriteMem(0x20000108, 0x2F8 Bytes, ...) -T2F54 001:668.852 Data: 70 1B 00 20 29 03 00 00 2D 03 00 00 D9 02 00 00 ... -T2F54 001:668.865 CPU_WriteMem(760 bytes @ 0x20000108) -T2F54 001:673.358 - 4.521ms returns 0x2F8 -T2F54 001:673.379 JLINK_WriteMem(0x20000400, 0x400 Bytes, ...) -T2F54 001:673.387 Data: 80 F3 09 88 00 B5 04 F0 8D F9 5D F8 04 EB 4E F0 ... -T2F54 001:673.401 CPU_WriteMem(1024 bytes @ 0x20000400) -T2F54 001:678.921 - 5.560ms returns 0x400 -T2F54 001:678.958 JLINK_WriteMem(0x20000800, 0x400 Bytes, ...) -T2F54 001:678.971 Data: 40 F0 15 80 4F F0 01 3E 12 1F C0 F2 0E 80 51 F8 ... -T2F54 001:678.997 CPU_WriteMem(1024 bytes @ 0x20000800) -T2F54 001:684.706 - 5.758ms returns 0x400 -T2F54 001:684.730 JLINK_WriteMem(0x20000C00, 0x400 Bytes, ...) -T2F54 001:684.738 Data: 56 48 C0 F8 10 12 9F E0 4F F0 80 40 80 68 40 F0 ... -T2F54 001:684.755 CPU_WriteMem(1024 bytes @ 0x20000C00) -T2F54 001:690.389 - 5.684ms returns 0x400 -T2F54 001:690.436 JLINK_WriteMem(0x20001000, 0x108 Bytes, ...) -T2F54 001:690.446 Data: 05 D9 02 E0 67 E1 CF E0 1B E0 01 24 00 E0 14 46 ... -T2F54 001:690.470 CPU_WriteMem(264 bytes @ 0x20001000) -T2F54 001:692.304 - 1.882ms returns 0x108 -T2F54 001:692.337 JLINK_HasError() -T2F54 001:692.399 JLINK_WriteReg(R0, 0x00000000) -T2F54 001:692.417 - 0.021ms returns 0 -T2F54 001:692.426 JLINK_WriteReg(R1, 0x00001000) -T2F54 001:692.433 - 0.009ms returns 0 -T2F54 001:692.441 JLINK_WriteReg(R2, 0x20000108) -T2F54 001:692.447 - 0.009ms returns 0 -T2F54 001:692.454 JLINK_WriteReg(R3, 0x00000000) -T2F54 001:692.461 - 0.009ms returns 0 -T2F54 001:692.468 JLINK_WriteReg(R4, 0x00000000) -T2F54 001:692.475 - 0.009ms returns 0 -T2F54 001:692.496 JLINK_WriteReg(R5, 0x00000000) -T2F54 001:692.502 - 0.030ms returns 0 -T2F54 001:692.531 JLINK_WriteReg(R6, 0x00000000) -T2F54 001:692.550 - 0.022ms returns 0 -T2F54 001:692.557 JLINK_WriteReg(R7, 0x00000000) -T2F54 001:692.583 - 0.028ms returns 0 -T2F54 001:692.591 JLINK_WriteReg(R8, 0x00000000) -T2F54 001:692.597 - 0.009ms returns 0 -T2F54 001:692.618 JLINK_WriteReg(R9, 0x20000104) -T2F54 001:692.624 - 0.028ms returns 0 -T2F54 001:692.651 JLINK_WriteReg(R10, 0x00000000) -T2F54 001:692.657 - 0.009ms returns 0 -T2F54 001:692.678 JLINK_WriteReg(R11, 0x00000000) -T2F54 001:692.684 - 0.028ms returns 0 -T2F54 001:692.711 JLINK_WriteReg(R12, 0x00000000) -T2F54 001:692.731 - 0.082ms returns 0 -T2F54 001:692.819 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 001:692.827 - 0.011ms returns 0 -T2F54 001:692.834 JLINK_WriteReg(R14, 0x20000001) -T2F54 001:692.841 - 0.009ms returns 0 -T2F54 001:692.848 JLINK_WriteReg(R15 (PC), 0x200000E0) -T2F54 001:692.855 - 0.024ms returns 0 -T2F54 001:692.877 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 001:692.883 - 0.009ms returns 0 -T2F54 001:692.891 JLINK_WriteReg(MSP, 0x20004000) -T2F54 001:692.897 - 0.008ms returns 0 -T2F54 001:692.904 JLINK_WriteReg(PSP, 0x20004000) -T2F54 001:692.910 - 0.008ms returns 0 -T2F54 001:692.918 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 001:692.924 - 0.008ms returns 0 -T2F54 001:692.931 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 001:692.939 - 0.010ms returns 0x00000024 -T2F54 001:692.947 JLINK_Go() -T2F54 001:692.961 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 001:696.261 - 3.328ms -T2F54 001:696.287 JLINK_IsHalted() -T2F54 001:696.661 - 0.381ms returns FALSE -T2F54 001:696.677 JLINK_HasError() -T2F54 001:702.935 JLINK_IsHalted() -T2F54 001:706.415 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 001:706.975 - 4.065ms returns TRUE -T2F54 001:707.010 JLINK_ReadReg(R15 (PC)) -T2F54 001:707.025 - 0.018ms returns 0x20000000 -T2F54 001:707.033 JLINK_ClrBPEx(BPHandle = 0x00000024) -T2F54 001:707.058 - 0.028ms returns 0x00 -T2F54 001:707.067 JLINK_ReadReg(R0) -T2F54 001:707.073 - 0.009ms returns 0x00001000 -T2F54 001:707.997 JLINK_WriteMem(0x20000108, 0x2F8 Bytes, ...) -T2F54 001:708.022 Data: C5 F8 6C 41 A2 F1 64 04 A1 F1 12 05 05 EB 85 05 ... -T2F54 001:708.037 CPU_WriteMem(760 bytes @ 0x20000108) -T2F54 001:712.223 - 4.241ms returns 0x2F8 -T2F54 001:712.248 JLINK_WriteMem(0x20000400, 0x400 Bytes, ...) -T2F54 001:712.255 Data: 01 D9 01 24 00 E0 14 46 A1 F1 10 05 6D 00 AC 40 ... -T2F54 001:712.273 CPU_WriteMem(1024 bytes @ 0x20000400) -T2F54 001:717.804 - 5.573ms returns 0x400 -T2F54 001:717.837 JLINK_WriteMem(0x20000800, 0x400 Bytes, ...) -T2F54 001:717.845 Data: 13 68 C3 F3 08 00 08 60 03 F4 80 60 08 B1 02 20 ... -T2F54 001:717.870 CPU_WriteMem(1024 bytes @ 0x20000800) -T2F54 001:723.350 - 5.540ms returns 0x400 -T2F54 001:723.393 JLINK_WriteMem(0x20000C00, 0x400 Bytes, ...) -T2F54 001:723.414 Data: 02 F0 2A F9 A8 46 F4 6C 2C B9 4F F4 89 72 1A 49 ... -T2F54 001:723.453 CPU_WriteMem(1024 bytes @ 0x20000C00) -T2F54 001:728.805 - 5.427ms returns 0x400 -T2F54 001:728.854 JLINK_WriteMem(0x20001000, 0x108 Bytes, ...) -T2F54 001:728.861 Data: 70 BD 00 00 14 06 00 20 18 ED 00 E0 00 E4 00 E0 ... -T2F54 001:728.888 CPU_WriteMem(264 bytes @ 0x20001000) -T2F54 001:730.666 - 1.833ms returns 0x108 -T2F54 001:730.702 JLINK_HasError() -T2F54 001:730.715 JLINK_WriteReg(R0, 0x00001000) -T2F54 001:730.726 - 0.014ms returns 0 -T2F54 001:730.733 JLINK_WriteReg(R1, 0x00001000) -T2F54 001:730.740 - 0.009ms returns 0 -T2F54 001:730.748 JLINK_WriteReg(R2, 0x20000108) -T2F54 001:730.754 - 0.009ms returns 0 -T2F54 001:730.822 JLINK_WriteReg(R3, 0x00000000) -T2F54 001:730.834 - 0.015ms returns 0 -T2F54 001:730.842 JLINK_WriteReg(R4, 0x00000000) -T2F54 001:730.848 - 0.009ms returns 0 -T2F54 001:730.856 JLINK_WriteReg(R5, 0x00000000) -T2F54 001:730.862 - 0.009ms returns 0 -T2F54 001:730.870 JLINK_WriteReg(R6, 0x00000000) -T2F54 001:730.876 - 0.009ms returns 0 -T2F54 001:730.883 JLINK_WriteReg(R7, 0x00000000) -T2F54 001:730.889 - 0.008ms returns 0 -T2F54 001:730.896 JLINK_WriteReg(R8, 0x00000000) -T2F54 001:730.905 - 0.012ms returns 0 -T2F54 001:730.913 JLINK_WriteReg(R9, 0x20000104) -T2F54 001:730.919 - 0.009ms returns 0 -T2F54 001:730.927 JLINK_WriteReg(R10, 0x00000000) -T2F54 001:730.933 - 0.009ms returns 0 -T2F54 001:730.941 JLINK_WriteReg(R11, 0x00000000) -T2F54 001:730.947 - 0.009ms returns 0 -T2F54 001:730.955 JLINK_WriteReg(R12, 0x00000000) -T2F54 001:730.961 - 0.009ms returns 0 -T2F54 001:730.969 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 001:730.977 - 0.011ms returns 0 -T2F54 001:730.985 JLINK_WriteReg(R14, 0x20000001) -T2F54 001:730.991 - 0.009ms returns 0 -T2F54 001:730.999 JLINK_WriteReg(R15 (PC), 0x200000E0) -T2F54 001:731.006 - 0.010ms returns 0 -T2F54 001:731.014 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 001:731.021 - 0.010ms returns 0 -T2F54 001:731.030 JLINK_WriteReg(MSP, 0x20004000) -T2F54 001:731.041 - 0.015ms returns 0 -T2F54 001:731.050 JLINK_WriteReg(PSP, 0x20004000) -T2F54 001:731.057 - 0.009ms returns 0 -T2F54 001:731.065 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 001:731.071 - 0.009ms returns 0 -T2F54 001:731.080 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 001:731.090 - 0.014ms returns 0x00000025 -T2F54 001:731.100 JLINK_Go() -T2F54 001:731.121 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 001:735.531 - 4.449ms -T2F54 001:735.560 JLINK_IsHalted() -T2F54 001:738.824 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 001:739.208 - 3.656ms returns TRUE -T2F54 001:739.226 JLINK_ReadReg(R15 (PC)) -T2F54 001:739.236 - 0.013ms returns 0x20000000 -T2F54 001:739.244 JLINK_ClrBPEx(BPHandle = 0x00000025) -T2F54 001:739.251 - 0.009ms returns 0x00 -T2F54 001:739.259 JLINK_ReadReg(R0) -T2F54 001:739.279 - 0.022ms returns 0x00002000 -T2F54 001:740.270 JLINK_WriteMem(0x20000108, 0x2F8 Bytes, ...) -T2F54 001:740.283 Data: 0A 00 00 00 10 B5 02 A0 02 F0 34 FE 00 20 10 BD ... -T2F54 001:740.300 CPU_WriteMem(760 bytes @ 0x20000108) -T2F54 001:744.560 - 4.299ms returns 0x2F8 -T2F54 001:744.594 JLINK_WriteMem(0x20000400, 0x400 Bytes, ...) -T2F54 001:744.601 Data: 04 F0 2A FC 00 20 E1 E7 54 95 00 00 7C 94 00 00 ... -T2F54 001:744.635 CPU_WriteMem(1024 bytes @ 0x20000400) -T2F54 001:750.216 - 5.639ms returns 0x400 -T2F54 001:750.244 JLINK_WriteMem(0x20000800, 0x400 Bytes, ...) -T2F54 001:750.254 Data: 0A 02 0E 49 09 68 B1 F8 08 12 88 42 59 DA 0B 4B ... -T2F54 001:750.274 CPU_WriteMem(1024 bytes @ 0x20000800) -T2F54 001:755.745 - 5.516ms returns 0x400 -T2F54 001:755.773 JLINK_WriteMem(0x20000C00, 0x400 Bytes, ...) -T2F54 001:755.780 Data: E0 69 23 46 08 22 41 46 CD E9 00 0A 21 A0 02 F0 ... -T2F54 001:755.805 CPU_WriteMem(1024 bytes @ 0x20000C00) -T2F54 001:761.260 - 5.505ms returns 0x400 -T2F54 001:761.314 JLINK_WriteMem(0x20001000, 0x108 Bytes, ...) -T2F54 001:761.322 Data: 05 AA 19 46 0D A8 FF F7 5B FE 4F F0 08 0A 5A 46 ... -T2F54 001:761.341 CPU_WriteMem(264 bytes @ 0x20001000) -T2F54 001:763.279 - 1.980ms returns 0x108 -T2F54 001:763.330 JLINK_HasError() -T2F54 001:763.341 JLINK_WriteReg(R0, 0x00002000) -T2F54 001:763.362 - 0.024ms returns 0 -T2F54 001:763.373 JLINK_WriteReg(R1, 0x00001000) -T2F54 001:763.381 - 0.010ms returns 0 -T2F54 001:763.502 JLINK_WriteReg(R2, 0x20000108) -T2F54 001:763.517 - 0.018ms returns 0 -T2F54 001:763.526 JLINK_WriteReg(R3, 0x00000000) -T2F54 001:763.533 - 0.009ms returns 0 -T2F54 001:763.540 JLINK_WriteReg(R4, 0x00000000) -T2F54 001:763.547 - 0.009ms returns 0 -T2F54 001:763.555 JLINK_WriteReg(R5, 0x00000000) -T2F54 001:763.561 - 0.009ms returns 0 -T2F54 001:763.568 JLINK_WriteReg(R6, 0x00000000) -T2F54 001:763.574 - 0.009ms returns 0 -T2F54 001:763.582 JLINK_WriteReg(R7, 0x00000000) -T2F54 001:763.588 - 0.008ms returns 0 -T2F54 001:763.595 JLINK_WriteReg(R8, 0x00000000) -T2F54 001:763.601 - 0.008ms returns 0 -T2F54 001:763.609 JLINK_WriteReg(R9, 0x20000104) -T2F54 001:763.615 - 0.008ms returns 0 -T2F54 001:763.623 JLINK_WriteReg(R10, 0x00000000) -T2F54 001:763.629 - 0.009ms returns 0 -T2F54 001:763.638 JLINK_WriteReg(R11, 0x00000000) -T2F54 001:763.644 - 0.009ms returns 0 -T2F54 001:763.652 JLINK_WriteReg(R12, 0x00000000) -T2F54 001:763.658 - 0.009ms returns 0 -T2F54 001:763.666 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 001:763.673 - 0.009ms returns 0 -T2F54 001:763.681 JLINK_WriteReg(R14, 0x20000001) -T2F54 001:763.688 - 0.009ms returns 0 -T2F54 001:763.696 JLINK_WriteReg(R15 (PC), 0x200000E0) -T2F54 001:763.702 - 0.009ms returns 0 -T2F54 001:763.711 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 001:763.717 - 0.010ms returns 0 -T2F54 001:763.725 JLINK_WriteReg(MSP, 0x20004000) -T2F54 001:763.731 - 0.009ms returns 0 -T2F54 001:763.739 JLINK_WriteReg(PSP, 0x20004000) -T2F54 001:763.746 - 0.009ms returns 0 -T2F54 001:763.754 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 001:763.760 - 0.009ms returns 0 -T2F54 001:763.768 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 001:763.779 - 0.014ms returns 0x00000026 -T2F54 001:763.788 JLINK_Go() -T2F54 001:763.802 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 001:767.611 - 3.839ms -T2F54 001:767.657 JLINK_IsHalted() -T2F54 001:770.735 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 001:771.171 - 3.521ms returns TRUE -T2F54 001:771.186 JLINK_ReadReg(R15 (PC)) -T2F54 001:771.195 - 0.016ms returns 0x20000000 -T2F54 001:771.210 JLINK_ClrBPEx(BPHandle = 0x00000026) -T2F54 001:771.217 - 0.009ms returns 0x00 -T2F54 001:771.225 JLINK_ReadReg(R0) -T2F54 001:771.231 - 0.009ms returns 0x00003000 -T2F54 001:771.960 JLINK_WriteMem(0x20000108, 0x2F8 Bytes, ...) -T2F54 001:771.971 Data: 20 2D 2D 2D 2D 20 20 2D 2D 2D 2D 20 20 2D 2D 2D ... -T2F54 001:771.987 CPU_WriteMem(760 bytes @ 0x20000108) -T2F54 001:776.443 - 4.492ms returns 0x2F8 -T2F54 001:776.460 JLINK_WriteMem(0x20000400, 0x400 Bytes, ...) -T2F54 001:776.467 Data: FC F7 9C FF 83 46 30 7A 20 F0 80 00 9D F8 30 10 ... -T2F54 001:776.481 CPU_WriteMem(1024 bytes @ 0x20000400) -T2F54 001:782.023 - 5.600ms returns 0x400 -T2F54 001:782.071 JLINK_WriteMem(0x20000800, 0x400 Bytes, ...) -T2F54 001:782.078 Data: 76 61 74 65 64 0A 00 00 64 65 61 63 74 69 76 61 ... -T2F54 001:782.107 CPU_WriteMem(1024 bytes @ 0x20000800) -T2F54 001:787.598 - 5.559ms returns 0x400 -T2F54 001:787.645 JLINK_WriteMem(0x20000C00, 0x400 Bytes, ...) -T2F54 001:787.652 Data: 48 F8 27 40 7F 1C 01 E0 64 1C 6D 1C 20 78 20 28 ... -T2F54 001:787.670 CPU_WriteMem(1024 bytes @ 0x20000C00) -T2F54 001:793.539 - 5.912ms returns 0x400 -T2F54 001:793.573 JLINK_WriteMem(0x20001000, 0x108 Bytes, ...) -T2F54 001:793.581 Data: 08 60 00 BF 00 BF FC F7 99 F9 80 46 00 F0 8C FE ... -T2F54 001:793.600 CPU_WriteMem(264 bytes @ 0x20001000) -T2F54 001:795.530 - 1.974ms returns 0x108 -T2F54 001:795.565 JLINK_HasError() -T2F54 001:795.576 JLINK_WriteReg(R0, 0x00003000) -T2F54 001:795.587 - 0.015ms returns 0 -T2F54 001:795.596 JLINK_WriteReg(R1, 0x00001000) -T2F54 001:795.602 - 0.009ms returns 0 -T2F54 001:795.610 JLINK_WriteReg(R2, 0x20000108) -T2F54 001:795.616 - 0.009ms returns 0 -T2F54 001:795.624 JLINK_WriteReg(R3, 0x00000000) -T2F54 001:795.630 - 0.009ms returns 0 -T2F54 001:795.640 JLINK_WriteReg(R4, 0x00000000) -T2F54 001:795.647 - 0.009ms returns 0 -T2F54 001:795.654 JLINK_WriteReg(R5, 0x00000000) -T2F54 001:795.661 - 0.009ms returns 0 -T2F54 001:795.668 JLINK_WriteReg(R6, 0x00000000) -T2F54 001:795.674 - 0.009ms returns 0 -T2F54 001:795.682 JLINK_WriteReg(R7, 0x00000000) -T2F54 001:795.688 - 0.009ms returns 0 -T2F54 001:795.791 JLINK_WriteReg(R8, 0x00000000) -T2F54 001:795.806 - 0.018ms returns 0 -T2F54 001:795.815 JLINK_WriteReg(R9, 0x20000104) -T2F54 001:795.822 - 0.009ms returns 0 -T2F54 001:795.830 JLINK_WriteReg(R10, 0x00000000) -T2F54 001:795.836 - 0.009ms returns 0 -T2F54 001:795.844 JLINK_WriteReg(R11, 0x00000000) -T2F54 001:795.850 - 0.009ms returns 0 -T2F54 001:795.858 JLINK_WriteReg(R12, 0x00000000) -T2F54 001:795.864 - 0.009ms returns 0 -T2F54 001:795.872 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 001:795.880 - 0.010ms returns 0 -T2F54 001:795.887 JLINK_WriteReg(R14, 0x20000001) -T2F54 001:795.893 - 0.009ms returns 0 -T2F54 001:795.901 JLINK_WriteReg(R15 (PC), 0x200000E0) -T2F54 001:795.907 - 0.009ms returns 0 -T2F54 001:795.915 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 001:795.921 - 0.009ms returns 0 -T2F54 001:795.929 JLINK_WriteReg(MSP, 0x20004000) -T2F54 001:795.935 - 0.009ms returns 0 -T2F54 001:795.943 JLINK_WriteReg(PSP, 0x20004000) -T2F54 001:795.949 - 0.009ms returns 0 -T2F54 001:795.956 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 001:795.962 - 0.009ms returns 0 -T2F54 001:795.970 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 001:795.978 - 0.011ms returns 0x00000027 -T2F54 001:795.986 JLINK_Go() -T2F54 001:796.001 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 001:799.425 - 3.484ms -T2F54 001:799.483 JLINK_IsHalted() -T2F54 001:799.916 - 0.443ms returns FALSE -T2F54 001:799.935 JLINK_HasError() -T2F54 001:805.530 JLINK_IsHalted() -T2F54 001:808.764 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 001:809.217 - 3.695ms returns TRUE -T2F54 001:809.233 JLINK_ReadReg(R15 (PC)) -T2F54 001:809.242 - 0.012ms returns 0x20000000 -T2F54 001:809.250 JLINK_ClrBPEx(BPHandle = 0x00000027) -T2F54 001:809.257 - 0.009ms returns 0x00 -T2F54 001:809.264 JLINK_ReadReg(R0) -T2F54 001:809.271 - 0.009ms returns 0x00004000 -T2F54 001:809.832 JLINK_WriteMem(0x20000108, 0x2F8 Bytes, ...) -T2F54 001:809.843 Data: 80 47 24 1D 02 48 84 42 F9 D3 10 BD 6C 94 00 00 ... -T2F54 001:809.857 CPU_WriteMem(760 bytes @ 0x20000108) -T2F54 001:814.221 - 4.406ms returns 0x2F8 -T2F54 001:814.248 JLINK_WriteMem(0x20000400, 0x400 Bytes, ...) -T2F54 001:814.255 Data: 64 65 20 69 73 20 25 64 0A 00 00 00 64 65 76 2D ... -T2F54 001:814.274 CPU_WriteMem(1024 bytes @ 0x20000400) -T2F54 001:819.712 - 5.492ms returns 0x400 -T2F54 001:819.750 JLINK_WriteMem(0x20000800, 0x400 Bytes, ...) -T2F54 001:819.776 Data: 0C 00 00 20 70 73 72 3A 20 30 78 25 30 38 78 0A ... -T2F54 001:819.793 CPU_WriteMem(1024 bytes @ 0x20000800) -T2F54 001:825.565 - 5.832ms returns 0x400 -T2F54 001:825.599 JLINK_WriteMem(0x20000C00, 0x400 Bytes, ...) -T2F54 001:825.607 Data: 01 EB C4 01 1F 4A 42 F8 31 00 1F 49 04 EB 44 00 ... -T2F54 001:825.626 CPU_WriteMem(1024 bytes @ 0x20000C00) -T2F54 001:831.130 - 5.548ms returns 0x400 -T2F54 001:831.187 JLINK_WriteMem(0x20001000, 0x108 Bytes, ...) -T2F54 001:831.194 Data: FE F7 2A FF 20 46 00 F0 C9 FC 07 28 04 D0 BD 22 ... -T2F54 001:831.214 CPU_WriteMem(264 bytes @ 0x20001000) -T2F54 001:833.073 - 1.894ms returns 0x108 -T2F54 001:833.097 JLINK_HasError() -T2F54 001:833.140 JLINK_WriteReg(R0, 0x00004000) -T2F54 001:833.154 - 0.017ms returns 0 -T2F54 001:833.281 JLINK_WriteReg(R1, 0x00001000) -T2F54 001:833.310 - 0.032ms returns 0 -T2F54 001:833.319 JLINK_WriteReg(R2, 0x20000108) -T2F54 001:833.345 - 0.028ms returns 0 -T2F54 001:833.353 JLINK_WriteReg(R3, 0x00000000) -T2F54 001:833.359 - 0.009ms returns 0 -T2F54 001:833.367 JLINK_WriteReg(R4, 0x00000000) -T2F54 001:833.373 - 0.009ms returns 0 -T2F54 001:833.380 JLINK_WriteReg(R5, 0x00000000) -T2F54 001:833.387 - 0.009ms returns 0 -T2F54 001:833.394 JLINK_WriteReg(R6, 0x00000000) -T2F54 001:833.414 - 0.022ms returns 0 -T2F54 001:833.440 JLINK_WriteReg(R7, 0x00000000) -T2F54 001:833.446 - 0.009ms returns 0 -T2F54 001:833.454 JLINK_WriteReg(R8, 0x00000000) -T2F54 001:833.465 - 0.013ms returns 0 -T2F54 001:833.473 JLINK_WriteReg(R9, 0x20000104) -T2F54 001:833.479 - 0.009ms returns 0 -T2F54 001:833.487 JLINK_WriteReg(R10, 0x00000000) -T2F54 001:833.506 - 0.022ms returns 0 -T2F54 001:833.533 JLINK_WriteReg(R11, 0x00000000) -T2F54 001:833.539 - 0.009ms returns 0 -T2F54 001:833.547 JLINK_WriteReg(R12, 0x00000000) -T2F54 001:833.566 - 0.022ms returns 0 -T2F54 001:833.588 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 001:833.595 - 0.010ms returns 0 -T2F54 001:833.602 JLINK_WriteReg(R14, 0x20000001) -T2F54 001:833.622 - 0.022ms returns 0 -T2F54 001:833.630 JLINK_WriteReg(R15 (PC), 0x200000E0) -T2F54 001:833.655 - 0.028ms returns 0 -T2F54 001:833.663 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 001:833.669 - 0.009ms returns 0 -T2F54 001:833.690 JLINK_WriteReg(MSP, 0x20004000) -T2F54 001:833.710 - 0.022ms returns 0 -T2F54 001:833.717 JLINK_WriteReg(PSP, 0x20004000) -T2F54 001:833.723 - 0.009ms returns 0 -T2F54 001:833.731 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 001:833.751 - 0.022ms returns 0 -T2F54 001:833.777 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 001:833.785 - 0.011ms returns 0x00000028 -T2F54 001:833.807 JLINK_Go() -T2F54 001:833.833 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 001:837.178 - 3.378ms -T2F54 001:837.194 JLINK_IsHalted() -T2F54 001:837.518 - 0.332ms returns FALSE -T2F54 001:837.535 JLINK_HasError() -T2F54 001:842.915 JLINK_IsHalted() -T2F54 001:846.130 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 001:846.599 - 3.696ms returns TRUE -T2F54 001:846.628 JLINK_ReadReg(R15 (PC)) -T2F54 001:846.650 - 0.026ms returns 0x20000000 -T2F54 001:846.664 JLINK_ClrBPEx(BPHandle = 0x00000028) -T2F54 001:846.675 - 0.016ms returns 0x00 -T2F54 001:846.689 JLINK_ReadReg(R0) -T2F54 001:846.700 - 0.016ms returns 0x00005000 -T2F54 001:848.964 JLINK_WriteMem(0x20000108, 0x2F8 Bytes, ...) -T2F54 001:848.996 Data: 28 61 68 61 1F 48 40 1C 28 60 04 F1 44 00 00 F0 ... -T2F54 001:849.018 CPU_WriteMem(760 bytes @ 0x20000108) -T2F54 001:853.227 - 4.278ms returns 0x2F8 -T2F54 001:853.253 JLINK_WriteMem(0x20000400, 0x400 Bytes, ...) -T2F54 001:853.260 Data: 08 61 B9 F1 00 0F 0B D0 A8 6A 00 69 20 61 A8 6A ... -T2F54 001:853.278 CPU_WriteMem(1024 bytes @ 0x20000400) -T2F54 001:858.846 - 5.629ms returns 0x400 -T2F54 001:858.899 JLINK_WriteMem(0x20000800, 0x400 Bytes, ...) -T2F54 001:858.908 Data: 00 20 20 72 FA F7 9A FD 05 46 04 F1 0C 00 FF F7 ... -T2F54 001:858.929 CPU_WriteMem(1024 bytes @ 0x20000800) -T2F54 001:864.479 - 5.614ms returns 0x400 -T2F54 001:864.551 JLINK_WriteMem(0x20000C00, 0x400 Bytes, ...) -T2F54 001:864.576 Data: 28 46 00 F0 57 F8 20 46 00 F0 A2 F8 94 F8 34 00 ... -T2F54 001:864.628 CPU_WriteMem(1024 bytes @ 0x20000C00) -T2F54 001:870.177 - 5.636ms returns 0x400 -T2F54 001:870.200 JLINK_WriteMem(0x20001000, 0x108 Bytes, ...) -T2F54 001:870.208 Data: 88 47 00 BF 00 20 A3 E7 08 8A 00 00 73 65 6D 20 ... -T2F54 001:870.224 CPU_WriteMem(264 bytes @ 0x20001000) -T2F54 001:872.047 - 1.863ms returns 0x108 -T2F54 001:872.082 JLINK_HasError() -T2F54 001:872.185 JLINK_WriteReg(R0, 0x00005000) -T2F54 001:872.204 - 0.022ms returns 0 -T2F54 001:872.213 JLINK_WriteReg(R1, 0x00001000) -T2F54 001:872.220 - 0.009ms returns 0 -T2F54 001:872.228 JLINK_WriteReg(R2, 0x20000108) -T2F54 001:872.238 - 0.015ms returns 0 -T2F54 001:872.248 JLINK_WriteReg(R3, 0x00000000) -T2F54 001:872.255 - 0.009ms returns 0 -T2F54 001:872.263 JLINK_WriteReg(R4, 0x00000000) -T2F54 001:872.269 - 0.009ms returns 0 -T2F54 001:872.276 JLINK_WriteReg(R5, 0x00000000) -T2F54 001:872.283 - 0.009ms returns 0 -T2F54 001:872.290 JLINK_WriteReg(R6, 0x00000000) -T2F54 001:872.296 - 0.009ms returns 0 -T2F54 001:872.304 JLINK_WriteReg(R7, 0x00000000) -T2F54 001:872.310 - 0.009ms returns 0 -T2F54 001:872.318 JLINK_WriteReg(R8, 0x00000000) -T2F54 001:872.324 - 0.009ms returns 0 -T2F54 001:872.331 JLINK_WriteReg(R9, 0x20000104) -T2F54 001:872.338 - 0.009ms returns 0 -T2F54 001:872.345 JLINK_WriteReg(R10, 0x00000000) -T2F54 001:872.351 - 0.009ms returns 0 -T2F54 001:872.359 JLINK_WriteReg(R11, 0x00000000) -T2F54 001:872.365 - 0.009ms returns 0 -T2F54 001:872.373 JLINK_WriteReg(R12, 0x00000000) -T2F54 001:872.379 - 0.009ms returns 0 -T2F54 001:872.387 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 001:872.393 - 0.009ms returns 0 -T2F54 001:872.401 JLINK_WriteReg(R14, 0x20000001) -T2F54 001:872.407 - 0.009ms returns 0 -T2F54 001:872.415 JLINK_WriteReg(R15 (PC), 0x200000E0) -T2F54 001:872.421 - 0.009ms returns 0 -T2F54 001:872.429 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 001:872.435 - 0.009ms returns 0 -T2F54 001:872.442 JLINK_WriteReg(MSP, 0x20004000) -T2F54 001:872.449 - 0.009ms returns 0 -T2F54 001:872.456 JLINK_WriteReg(PSP, 0x20004000) -T2F54 001:872.462 - 0.009ms returns 0 -T2F54 001:872.470 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 001:872.476 - 0.009ms returns 0 -T2F54 001:872.484 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 001:872.492 - 0.011ms returns 0x00000029 -T2F54 001:872.501 JLINK_Go() -T2F54 001:872.516 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 001:876.706 - 4.223ms -T2F54 001:876.736 JLINK_IsHalted() -T2F54 001:880.244 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 001:880.614 - 3.904ms returns TRUE -T2F54 001:880.650 JLINK_ReadReg(R15 (PC)) -T2F54 001:880.660 - 0.013ms returns 0x20000000 -T2F54 001:880.669 JLINK_ClrBPEx(BPHandle = 0x00000029) -T2F54 001:880.676 - 0.009ms returns 0x00 -T2F54 001:880.684 JLINK_ReadReg(R0) -T2F54 001:880.707 - 0.025ms returns 0x00006000 -T2F54 001:881.701 JLINK_WriteMem(0x20000108, 0x2F8 Bytes, ...) -T2F54 001:881.729 Data: 48 72 0B 49 14 A0 FD F7 A3 FE 30 46 FE F7 E8 FA ... -T2F54 001:881.762 CPU_WriteMem(760 bytes @ 0x20000108) -T2F54 001:885.962 - 4.294ms returns 0x2F8 -T2F54 001:886.009 JLINK_WriteMem(0x20000400, 0x400 Bytes, ...) -T2F54 001:886.016 Data: 2C B9 4F F4 52 72 0C 49 0C A0 FD F7 25 FD 15 B9 ... -T2F54 001:886.034 CPU_WriteMem(1024 bytes @ 0x20000400) -T2F54 001:891.807 - 5.815ms returns 0x400 -T2F54 001:891.836 JLINK_WriteMem(0x20000800, 0x400 Bytes, ...) -T2F54 001:891.843 Data: 48 46 E8 E7 10 B5 00 22 0A 49 08 68 88 42 0E D0 ... -T2F54 001:891.863 CPU_WriteMem(1024 bytes @ 0x20000800) -T2F54 001:897.375 - 5.556ms returns 0x400 -T2F54 001:897.426 JLINK_WriteMem(0x20000C00, 0x400 Bytes, ...) -T2F54 001:897.434 Data: FD F7 2A F9 F9 F7 9A FB 05 46 20 46 00 F0 86 F8 ... -T2F54 001:897.453 CPU_WriteMem(1024 bytes @ 0x20000C00) -T2F54 001:903.304 - 5.894ms returns 0x400 -T2F54 001:903.338 JLINK_WriteMem(0x20001000, 0x108 Bytes, ...) -T2F54 001:903.346 Data: 05 E0 00 BF 05 48 FD F7 12 FF 00 28 AB D0 00 BF ... -T2F54 001:903.366 CPU_WriteMem(264 bytes @ 0x20001000) -T2F54 001:905.629 - 2.308ms returns 0x108 -T2F54 001:905.664 JLINK_HasError() -T2F54 001:905.674 JLINK_WriteReg(R0, 0x00006000) -T2F54 001:905.686 - 0.015ms returns 0 -T2F54 001:905.695 JLINK_WriteReg(R1, 0x00001000) -T2F54 001:905.702 - 0.009ms returns 0 -T2F54 001:905.710 JLINK_WriteReg(R2, 0x20000108) -T2F54 001:905.716 - 0.009ms returns 0 -T2F54 001:905.729 JLINK_WriteReg(R3, 0x00000000) -T2F54 001:905.736 - 0.009ms returns 0 -T2F54 001:905.745 JLINK_WriteReg(R4, 0x00000000) -T2F54 001:905.751 - 0.009ms returns 0 -T2F54 001:905.761 JLINK_WriteReg(R5, 0x00000000) -T2F54 001:905.767 - 0.009ms returns 0 -T2F54 001:905.776 JLINK_WriteReg(R6, 0x00000000) -T2F54 001:905.782 - 0.008ms returns 0 -T2F54 001:905.800 JLINK_WriteReg(R7, 0x00000000) -T2F54 001:905.809 - 0.011ms returns 0 -T2F54 001:905.816 JLINK_WriteReg(R8, 0x00000000) -T2F54 001:905.823 - 0.009ms returns 0 -T2F54 001:905.830 JLINK_WriteReg(R9, 0x20000104) -T2F54 001:905.836 - 0.008ms returns 0 -T2F54 001:905.844 JLINK_WriteReg(R10, 0x00000000) -T2F54 001:905.850 - 0.009ms returns 0 -T2F54 001:905.857 JLINK_WriteReg(R11, 0x00000000) -T2F54 001:905.863 - 0.009ms returns 0 -T2F54 001:905.874 JLINK_WriteReg(R12, 0x00000000) -T2F54 001:905.880 - 0.009ms returns 0 -T2F54 001:905.888 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 001:905.895 - 0.009ms returns 0 -T2F54 001:905.904 JLINK_WriteReg(R14, 0x20000001) -T2F54 001:905.910 - 0.009ms returns 0 -T2F54 001:905.918 JLINK_WriteReg(R15 (PC), 0x200000E0) -T2F54 001:905.924 - 0.009ms returns 0 -T2F54 001:905.932 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 001:905.938 - 0.008ms returns 0 -T2F54 001:905.945 JLINK_WriteReg(MSP, 0x20004000) -T2F54 001:905.951 - 0.009ms returns 0 -T2F54 001:905.959 JLINK_WriteReg(PSP, 0x20004000) -T2F54 001:905.965 - 0.008ms returns 0 -T2F54 001:905.975 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 001:905.981 - 0.009ms returns 0 -T2F54 001:905.991 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 001:905.999 - 0.010ms returns 0x0000002A -T2F54 001:906.009 JLINK_Go() -T2F54 001:906.023 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 001:909.965 - 3.973ms -T2F54 001:910.031 JLINK_IsHalted() -T2F54 001:913.140 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 001:913.544 - 3.522ms returns TRUE -T2F54 001:913.583 JLINK_ReadReg(R15 (PC)) -T2F54 001:913.594 - 0.014ms returns 0x20000000 -T2F54 001:913.605 JLINK_ClrBPEx(BPHandle = 0x0000002A) -T2F54 001:913.612 - 0.010ms returns 0x00 -T2F54 001:913.625 JLINK_ReadReg(R0) -T2F54 001:913.632 - 0.009ms returns 0x00007000 -T2F54 001:914.591 JLINK_WriteMem(0x20000108, 0x2F8 Bytes, ...) -T2F54 001:914.608 Data: 2C B9 4F F4 86 72 15 49 15 A0 FC F7 A1 FE 20 46 ... -T2F54 001:914.627 CPU_WriteMem(760 bytes @ 0x20000108) -T2F54 001:918.972 - 4.391ms returns 0x2F8 -T2F54 001:918.991 JLINK_WriteMem(0x20000400, 0x400 Bytes, ...) -T2F54 001:918.998 Data: F5 12 17 49 17 A0 FC F7 27 FD 20 46 FE F7 C6 FA ... -T2F54 001:919.013 CPU_WriteMem(1024 bytes @ 0x20000400) -T2F54 001:924.846 - 5.877ms returns 0x400 -T2F54 001:924.880 JLINK_WriteMem(0x20000800, 0x400 Bytes, ...) -T2F54 001:924.940 Data: 4F F0 FF 31 28 46 02 9B FF F7 56 FE 3E BD 00 20 ... -T2F54 001:924.992 CPU_WriteMem(1024 bytes @ 0x20000800) -T2F54 001:930.470 - 5.613ms returns 0x400 -T2F54 001:930.504 JLINK_WriteMem(0x20000C00, 0x400 Bytes, ...) -T2F54 001:930.511 Data: 9D FE 04 46 14 B9 06 20 BD E8 F8 83 01 2E 6D D1 ... -T2F54 001:930.530 CPU_WriteMem(1024 bytes @ 0x20000C00) -T2F54 001:936.047 - 5.560ms returns 0x400 -T2F54 001:936.075 JLINK_WriteMem(0x20001000, 0x108 Bytes, ...) -T2F54 001:936.082 Data: 69 67 75 72 65 20 21 3D 20 52 54 5F 4E 55 4C 4C ... -T2F54 001:936.100 CPU_WriteMem(264 bytes @ 0x20001000) -T2F54 001:938.260 - 2.202ms returns 0x108 -T2F54 001:938.293 JLINK_HasError() -T2F54 001:938.303 JLINK_WriteReg(R0, 0x00007000) -T2F54 001:938.315 - 0.014ms returns 0 -T2F54 001:938.323 JLINK_WriteReg(R1, 0x00001000) -T2F54 001:938.330 - 0.009ms returns 0 -T2F54 001:938.429 JLINK_WriteReg(R2, 0x20000108) -T2F54 001:938.447 - 0.021ms returns 0 -T2F54 001:938.456 JLINK_WriteReg(R3, 0x00000000) -T2F54 001:938.463 - 0.009ms returns 0 -T2F54 001:938.470 JLINK_WriteReg(R4, 0x00000000) -T2F54 001:938.477 - 0.009ms returns 0 -T2F54 001:938.484 JLINK_WriteReg(R5, 0x00000000) -T2F54 001:938.490 - 0.008ms returns 0 -T2F54 001:938.498 JLINK_WriteReg(R6, 0x00000000) -T2F54 001:938.504 - 0.008ms returns 0 -T2F54 001:938.511 JLINK_WriteReg(R7, 0x00000000) -T2F54 001:938.517 - 0.008ms returns 0 -T2F54 001:938.524 JLINK_WriteReg(R8, 0x00000000) -T2F54 001:938.531 - 0.009ms returns 0 -T2F54 001:938.538 JLINK_WriteReg(R9, 0x20000104) -T2F54 001:938.544 - 0.008ms returns 0 -T2F54 001:938.552 JLINK_WriteReg(R10, 0x00000000) -T2F54 001:938.557 - 0.008ms returns 0 -T2F54 001:938.565 JLINK_WriteReg(R11, 0x00000000) -T2F54 001:938.575 - 0.014ms returns 0 -T2F54 001:938.584 JLINK_WriteReg(R12, 0x00000000) -T2F54 001:938.590 - 0.008ms returns 0 -T2F54 001:938.598 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 001:938.605 - 0.044ms returns 0 -T2F54 001:938.648 JLINK_WriteReg(R14, 0x20000001) -T2F54 001:938.654 - 0.009ms returns 0 -T2F54 001:938.662 JLINK_WriteReg(R15 (PC), 0x200000E0) -T2F54 001:938.668 - 0.009ms returns 0 -T2F54 001:938.675 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 001:938.681 - 0.009ms returns 0 -T2F54 001:938.689 JLINK_WriteReg(MSP, 0x20004000) -T2F54 001:938.695 - 0.008ms returns 0 -T2F54 001:938.702 JLINK_WriteReg(PSP, 0x20004000) -T2F54 001:938.708 - 0.008ms returns 0 -T2F54 001:938.716 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 001:938.722 - 0.008ms returns 0 -T2F54 001:938.730 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 001:938.738 - 0.011ms returns 0x0000002B -T2F54 001:938.746 JLINK_Go() -T2F54 001:938.760 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 001:942.329 - 3.608ms -T2F54 001:942.364 JLINK_IsHalted() -T2F54 001:945.533 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 001:945.895 - 3.565ms returns TRUE -T2F54 001:945.939 JLINK_ReadReg(R15 (PC)) -T2F54 001:945.950 - 0.013ms returns 0x20000000 -T2F54 001:945.959 JLINK_ClrBPEx(BPHandle = 0x0000002B) -T2F54 001:945.966 - 0.010ms returns 0x00 -T2F54 001:945.987 JLINK_ReadReg(R0) -T2F54 001:945.994 - 0.009ms returns 0x00008000 -T2F54 001:948.010 JLINK_WriteMem(0x20000108, 0x2F8 Bytes, ...) -T2F54 001:948.029 Data: 5F 55 46 53 52 3A 30 78 25 30 32 58 20 00 00 00 ... -T2F54 001:948.050 CPU_WriteMem(760 bytes @ 0x20000108) -T2F54 001:952.241 - 4.247ms returns 0x2F8 -T2F54 001:952.267 JLINK_WriteMem(0x20000400, 0x400 Bytes, ...) -T2F54 001:952.274 Data: 04 00 00 00 34 00 00 00 12 00 00 00 00 20 01 40 ... -T2F54 001:952.297 CPU_WriteMem(1024 bytes @ 0x20000400) -T2F54 001:957.706 - 5.450ms returns 0x400 -T2F54 001:957.726 JLINK_WriteMem(0x20000800, 0x400 Bytes, ...) -T2F54 001:957.734 Data: 05 00 00 00 38 00 00 00 52 00 00 00 00 80 01 40 ... -T2F54 001:957.750 CPU_WriteMem(1024 bytes @ 0x20000800) -T2F54 001:963.098 - 5.408ms returns 0x400 -T2F54 001:963.145 JLINK_WriteMem(0x20000C00, 0x400 Bytes, ...) -T2F54 001:963.152 Data: 76 00 72 74 5F 65 76 65 6E 74 5F 63 6F 6E 74 72 ... -T2F54 001:963.172 CPU_WriteMem(1024 bytes @ 0x20000C00) -T2F54 001:968.771 - 5.651ms returns 0x400 -T2F54 001:968.832 JLINK_WriteMem(0x20001000, 0x108 Bytes, ...) -T2F54 001:968.853 Data: 61 63 6B 5F 63 68 65 63 6B 00 72 74 5F 73 63 68 ... -T2F54 001:968.874 CPU_WriteMem(264 bytes @ 0x20001000) -T2F54 001:971.105 - 2.304ms returns 0x108 -T2F54 001:971.173 JLINK_HasError() -T2F54 001:971.197 JLINK_WriteReg(R0, 0x00008000) -T2F54 001:971.228 - 0.042ms returns 0 -T2F54 001:971.255 JLINK_WriteReg(R1, 0x00001000) -T2F54 001:971.270 - 0.021ms returns 0 -T2F54 001:971.289 JLINK_WriteReg(R2, 0x20000108) -T2F54 001:971.307 - 0.029ms returns 0 -T2F54 001:971.330 JLINK_WriteReg(R3, 0x00000000) -T2F54 001:971.341 - 0.014ms returns 0 -T2F54 001:971.353 JLINK_WriteReg(R4, 0x00000000) -T2F54 001:971.361 - 0.012ms returns 0 -T2F54 001:971.373 JLINK_WriteReg(R5, 0x00000000) -T2F54 001:971.381 - 0.011ms returns 0 -T2F54 001:971.512 JLINK_WriteReg(R6, 0x00000000) -T2F54 001:971.549 - 0.040ms returns 0 -T2F54 001:971.573 JLINK_WriteReg(R7, 0x00000000) -T2F54 001:971.598 - 0.028ms returns 0 -T2F54 001:971.629 JLINK_WriteReg(R8, 0x00000000) -T2F54 001:971.640 - 0.014ms returns 0 -T2F54 001:971.649 JLINK_WriteReg(R9, 0x20000104) -T2F54 001:971.673 - 0.028ms returns 0 -T2F54 001:971.682 JLINK_WriteReg(R10, 0x00000000) -T2F54 001:971.689 - 0.010ms returns 0 -T2F54 001:971.698 JLINK_WriteReg(R11, 0x00000000) -T2F54 001:971.718 - 0.023ms returns 0 -T2F54 001:971.745 JLINK_WriteReg(R12, 0x00000000) -T2F54 001:971.752 - 0.009ms returns 0 -T2F54 001:971.760 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 001:971.782 - 0.025ms returns 0 -T2F54 001:971.809 JLINK_WriteReg(R14, 0x20000001) -T2F54 001:971.815 - 0.009ms returns 0 -T2F54 001:971.824 JLINK_WriteReg(R15 (PC), 0x200000E0) -T2F54 001:971.848 - 0.048ms returns 0 -T2F54 001:971.878 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 001:971.887 - 0.012ms returns 0 -T2F54 001:971.896 JLINK_WriteReg(MSP, 0x20004000) -T2F54 001:971.915 - 0.022ms returns 0 -T2F54 001:971.945 JLINK_WriteReg(PSP, 0x20004000) -T2F54 001:971.951 - 0.022ms returns 0 -T2F54 001:971.971 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 001:971.977 - 0.008ms returns 0 -T2F54 001:971.985 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 001:972.013 - 0.030ms returns 0x0000002C -T2F54 001:972.021 JLINK_Go() -T2F54 001:972.051 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 001:975.548 - 3.536ms -T2F54 001:975.565 JLINK_IsHalted() -T2F54 001:975.953 - 0.395ms returns FALSE -T2F54 001:975.969 JLINK_HasError() -T2F54 001:978.361 JLINK_IsHalted() -T2F54 001:981.428 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 001:981.870 - 3.527ms returns TRUE -T2F54 001:981.902 JLINK_ReadReg(R15 (PC)) -T2F54 001:981.919 - 0.020ms returns 0x20000000 -T2F54 001:981.929 JLINK_ClrBPEx(BPHandle = 0x0000002C) -T2F54 001:981.935 - 0.009ms returns 0x00 -T2F54 001:981.943 JLINK_ReadReg(R0) -T2F54 001:981.950 - 0.009ms returns 0x00009000 -T2F54 001:982.777 JLINK_WriteMem(0x20000108, 0x2F8 Bytes, ...) -T2F54 001:982.793 Data: 4E 65 74 77 6F 72 6B 20 49 6E 74 65 72 66 61 63 ... -T2F54 001:982.813 CPU_WriteMem(760 bytes @ 0x20000108) -T2F54 001:987.240 - 4.488ms returns 0x2F8 -T2F54 001:987.289 JLINK_WriteMem(0x20000400, 0x400 Bytes, ...) -T2F54 001:987.312 Data: 6C 69 73 74 20 65 76 65 6E 74 20 69 6E 20 73 79 ... -T2F54 001:987.347 CPU_WriteMem(1024 bytes @ 0x20000400) -T2F54 001:992.730 - 5.452ms returns 0x400 -T2F54 001:992.751 JLINK_WriteMem(0x20000800, 0x400 Bytes, ...) -T2F54 001:992.758 Data: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... -T2F54 001:992.772 CPU_WriteMem(1024 bytes @ 0x20000800) -T2F54 001:998.311 - 5.576ms returns 0x400 -T2F54 001:998.344 JLINK_WriteMem(0x20000C00, 0x400 Bytes, ...) -T2F54 001:998.352 Data: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... -T2F54 001:998.371 CPU_WriteMem(1024 bytes @ 0x20000C00) -T2F54 002:003.843 - 5.516ms returns 0x400 -T2F54 002:003.891 JLINK_WriteMem(0x20001000, 0x108 Bytes, ...) -T2F54 002:003.923 Data: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... -T2F54 002:003.946 CPU_WriteMem(264 bytes @ 0x20001000) -T2F54 002:005.907 - 2.025ms returns 0x108 -T2F54 002:005.944 JLINK_HasError() -T2F54 002:006.132 JLINK_WriteReg(R0, 0x00009000) -T2F54 002:006.167 - 0.038ms returns 0 -T2F54 002:006.176 JLINK_WriteReg(R1, 0x000006C4) -T2F54 002:006.183 - 0.009ms returns 0 -T2F54 002:006.212 JLINK_WriteReg(R2, 0x20000108) -T2F54 002:006.233 - 0.024ms returns 0 -T2F54 002:006.241 JLINK_WriteReg(R3, 0x00000000) -T2F54 002:006.263 - 0.025ms returns 0 -T2F54 002:006.271 JLINK_WriteReg(R4, 0x00000000) -T2F54 002:006.296 - 0.027ms returns 0 -T2F54 002:006.303 JLINK_WriteReg(R5, 0x00000000) -T2F54 002:006.310 - 0.009ms returns 0 -T2F54 002:006.331 JLINK_WriteReg(R6, 0x00000000) -T2F54 002:006.337 - 0.022ms returns 0 -T2F54 002:006.358 JLINK_WriteReg(R7, 0x00000000) -T2F54 002:006.381 - 0.025ms returns 0 -T2F54 002:006.388 JLINK_WriteReg(R8, 0x00000000) -T2F54 002:006.394 - 0.027ms returns 0 -T2F54 002:006.421 JLINK_WriteReg(R9, 0x20000104) -T2F54 002:006.427 - 0.009ms returns 0 -T2F54 002:006.435 JLINK_WriteReg(R10, 0x00000000) -T2F54 002:006.454 - 0.022ms returns 0 -T2F54 002:006.462 JLINK_WriteReg(R11, 0x00000000) -T2F54 002:006.482 - 0.022ms returns 0 -T2F54 002:006.489 JLINK_WriteReg(R12, 0x00000000) -T2F54 002:006.512 - 0.025ms returns 0 -T2F54 002:006.519 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 002:006.545 - 0.029ms returns 0 -T2F54 002:006.553 JLINK_WriteReg(R14, 0x20000001) -T2F54 002:006.559 - 0.009ms returns 0 -T2F54 002:006.567 JLINK_WriteReg(R15 (PC), 0x200000E0) -T2F54 002:006.573 - 0.009ms returns 0 -T2F54 002:006.581 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 002:006.603 - 0.025ms returns 0 -T2F54 002:006.630 JLINK_WriteReg(MSP, 0x20004000) -T2F54 002:006.636 - 0.009ms returns 0 -T2F54 002:006.644 JLINK_WriteReg(PSP, 0x20004000) -T2F54 002:006.653 - 0.013ms returns 0 -T2F54 002:006.662 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 002:006.668 - 0.009ms returns 0 -T2F54 002:006.693 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 002:006.720 - 0.030ms returns 0x0000002D -T2F54 002:006.728 JLINK_Go() -T2F54 002:006.742 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 002:010.029 - 3.309ms -T2F54 002:010.045 JLINK_IsHalted() -T2F54 002:013.011 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 002:013.476 - 3.438ms returns TRUE -T2F54 002:013.493 JLINK_ReadReg(R15 (PC)) -T2F54 002:013.502 - 0.012ms returns 0x20000000 -T2F54 002:013.511 JLINK_ClrBPEx(BPHandle = 0x0000002D) -T2F54 002:013.517 - 0.009ms returns 0x00 -T2F54 002:013.527 JLINK_ReadReg(R0) -T2F54 002:013.534 - 0.009ms returns 0x000096C4 -T2F54 002:014.168 JLINK_HasError() -T2F54 002:014.186 JLINK_WriteReg(R0, 0x00000003) -T2F54 002:014.196 - 0.013ms returns 0 -T2F54 002:014.204 JLINK_WriteReg(R1, 0x000006C4) -T2F54 002:014.211 - 0.009ms returns 0 -T2F54 002:014.218 JLINK_WriteReg(R2, 0x20000108) -T2F54 002:014.224 - 0.008ms returns 0 -T2F54 002:014.232 JLINK_WriteReg(R3, 0x00000000) -T2F54 002:014.238 - 0.008ms returns 0 -T2F54 002:014.246 JLINK_WriteReg(R4, 0x00000000) -T2F54 002:014.252 - 0.008ms returns 0 -T2F54 002:014.259 JLINK_WriteReg(R5, 0x00000000) -T2F54 002:014.265 - 0.008ms returns 0 -T2F54 002:014.272 JLINK_WriteReg(R6, 0x00000000) -T2F54 002:014.278 - 0.008ms returns 0 -T2F54 002:014.286 JLINK_WriteReg(R7, 0x00000000) -T2F54 002:014.291 - 0.008ms returns 0 -T2F54 002:014.299 JLINK_WriteReg(R8, 0x00000000) -T2F54 002:014.305 - 0.008ms returns 0 -T2F54 002:014.312 JLINK_WriteReg(R9, 0x20000104) -T2F54 002:014.318 - 0.008ms returns 0 -T2F54 002:014.326 JLINK_WriteReg(R10, 0x00000000) -T2F54 002:014.331 - 0.008ms returns 0 -T2F54 002:014.339 JLINK_WriteReg(R11, 0x00000000) -T2F54 002:014.345 - 0.008ms returns 0 -T2F54 002:014.352 JLINK_WriteReg(R12, 0x00000000) -T2F54 002:014.358 - 0.008ms returns 0 -T2F54 002:014.366 JLINK_WriteReg(R13 (SP), 0x20004000) -T2F54 002:014.372 - 0.009ms returns 0 -T2F54 002:014.380 JLINK_WriteReg(R14, 0x20000001) -T2F54 002:014.386 - 0.008ms returns 0 -T2F54 002:014.393 JLINK_WriteReg(R15 (PC), 0x20000044) -T2F54 002:014.399 - 0.009ms returns 0 -T2F54 002:014.407 JLINK_WriteReg(XPSR, 0x01000000) -T2F54 002:014.413 - 0.008ms returns 0 -T2F54 002:014.420 JLINK_WriteReg(MSP, 0x20004000) -T2F54 002:014.426 - 0.008ms returns 0 -T2F54 002:014.433 JLINK_WriteReg(PSP, 0x20004000) -T2F54 002:014.439 - 0.008ms returns 0 -T2F54 002:014.447 JLINK_WriteReg(CFBP, 0x00000000) -T2F54 002:014.453 - 0.008ms returns 0 -T2F54 002:014.460 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -T2F54 002:014.467 - 0.010ms returns 0x0000002E -T2F54 002:014.475 JLINK_Go() -T2F54 002:014.489 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 002:018.378 - 3.916ms -T2F54 002:018.401 JLINK_IsHalted() -T2F54 002:021.658 CPU_ReadMem(2 bytes @ 0x20000000) -T2F54 002:022.035 - 3.641ms returns TRUE -T2F54 002:022.052 JLINK_ReadReg(R15 (PC)) -T2F54 002:022.061 - 0.012ms returns 0x20000000 -T2F54 002:022.070 JLINK_ClrBPEx(BPHandle = 0x0000002E) -T2F54 002:022.076 - 0.009ms returns 0x00 -T2F54 002:022.084 JLINK_ReadReg(R0) -T2F54 002:022.091 - 0.009ms returns 0x00000000 -T2F54 002:078.749 JLINK_WriteMemEx(0x20000000, 0x00000002 Bytes, Flags = 0x02000000) -T2F54 002:078.771 Data: FE E7 -T2F54 002:078.812 CPU_WriteMem(2 bytes @ 0x20000000) -T2F54 002:079.271 - 0.531ms returns 0x2 -T2F54 002:079.288 JLINK_HasError() -T2F54 002:079.297 JLINK_HasError() -T2F54 002:079.304 JLINK_SetResetType(JLINKARM_CM3_RESET_TYPE_NORMAL) -T2F54 002:079.310 - 0.008ms returns JLINKARM_CM3_RESET_TYPE_NORMAL -T2F54 002:079.318 JLINK_Reset() -T2F54 002:079.337 CPU_WriteMem(4 bytes @ 0xE000EDF0) -T2F54 002:079.757 CPU_WriteMem(4 bytes @ 0xE000EDFC) -T2F54 002:086.859 Reset: Halt core after reset via DEMCR.VC_CORERESET. -T2F54 002:091.524 Reset: Reset device via AIRCR.SYSRESETREQ. -T2F54 002:091.553 CPU_WriteMem(4 bytes @ 0xE000ED0C) -T2F54 002:144.847 CPU_ReadMem(4 bytes @ 0xE000EDF0) -T2F54 002:145.254 CPU_ReadMem(4 bytes @ 0xE000EDF0) -T2F54 002:145.646 CPU_WriteMem(4 bytes @ 0xE000EDF0) -T2F54 002:146.062 CPU_WriteMem(4 bytes @ 0xE000EDFC) -T2F54 002:152.126 CPU_ReadMem(4 bytes @ 0xE000EDF0) -T2F54 002:156.120 CPU_WriteMem(4 bytes @ 0xE0002000) -T2F54 002:156.709 CPU_ReadMem(4 bytes @ 0xE000EDFC) -T2F54 002:157.372 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 002:157.958 - 78.646ms -T2F54 002:157.978 JLINK_Go() -T2F54 002:157.992 CPU_ReadMem(4 bytes @ 0xE0001000) -T2F54 002:158.720 CPU_WriteMem(4 bytes @ 0xE0002008) -T2F54 002:158.736 CPU_WriteMem(4 bytes @ 0xE000200C) -T2F54 002:158.745 CPU_WriteMem(4 bytes @ 0xE0002010) -T2F54 002:158.753 CPU_WriteMem(4 bytes @ 0xE0002014) -T2F54 002:158.761 CPU_WriteMem(4 bytes @ 0xE0002018) -T2F54 002:158.770 CPU_WriteMem(4 bytes @ 0xE000201C) -T2F54 002:160.368 CPU_WriteMem(4 bytes @ 0xE0001004) -T2F54 002:161.327 - 3.376ms -T2F54 002:178.237 JLINK_Close() -T2F54 002:178.722 CPU is running -T2F54 002:178.775 CPU_WriteMem(4 bytes @ 0xE0002008) -T2F54 002:179.118 CPU is running -T2F54 002:179.147 CPU_WriteMem(4 bytes @ 0xE000200C) -T2F54 002:179.540 CPU is running -T2F54 002:179.554 CPU_WriteMem(4 bytes @ 0xE0002010) -T2F54 002:179.941 CPU is running -T2F54 002:179.954 CPU_WriteMem(4 bytes @ 0xE0002014) -T2F54 002:180.335 CPU is running -T2F54 002:180.349 CPU_WriteMem(4 bytes @ 0xE0002018) -T2F54 002:180.732 CPU is running -T2F54 002:180.749 CPU_WriteMem(4 bytes @ 0xE000201C) -T2F54 002:217.960 - 39.744ms -T2F54 002:217.987 -T2F54 002:217.995 Closed diff --git a/bsp/swm320/JLinkSettings.ini b/bsp/swm320/JLinkSettings.ini deleted file mode 100644 index 12eec6da6a..0000000000 --- a/bsp/swm320/JLinkSettings.ini +++ /dev/null @@ -1,40 +0,0 @@ -[BREAKPOINTS] -ForceImpTypeAny = 0 -ShowInfoWin = 1 -EnableFlashBP = 2 -BPDuringExecution = 0 -[CFI] -CFISize = 0x00 -CFIAddr = 0x00 -[CPU] -MonModeVTableAddr = 0xFFFFFFFF -MonModeDebug = 0 -MaxNumAPs = 0 -LowPowerHandlingMode = 0 -OverrideMemMap = 0 -AllowSimulation = 1 -ScriptFile="" -[FLASH] -EraseType = 0x00 -CacheExcludeSize = 0x00 -CacheExcludeAddr = 0x00 -MinNumBytesFlashDL = 0 -SkipProgOnCRCMatch = 1 -VerifyDownload = 1 -AllowCaching = 1 -EnableFlashDL = 2 -Override = 1 -Device="Cortex-M4" -[GENERAL] -WorkRAMSize = 0x00 -WorkRAMAddr = 0x00 -RAMUsageLimit = 0x00 -[SWO] -SWOLogFile="" -[MEM] -RdOverrideOrMask = 0x00 -RdOverrideAndMask = 0xFFFFFFFF -RdOverrideAddr = 0xFFFFFFFF -WrOverrideOrMask = 0x00 -WrOverrideAndMask = 0xFFFFFFFF -WrOverrideAddr = 0xFFFFFFFF diff --git a/bsp/swm320/applications/main.c b/bsp/swm320/applications/main.c index 6a88ac2b25..4b42c4936a 100644 --- a/bsp/swm320/applications/main.c +++ b/bsp/swm320/applications/main.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2018, RT-Thread Development Team + * Copyright (c) 2006-2021, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * @@ -65,13 +65,13 @@ static int adc_vol_sample(int argc, char *argv[]) } ret = rt_adc_enable(adc_dev, ADC_DEV_CHANNEL); - + value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL); rt_kprintf("the value is :%d,", value); - + vol = value * REFER_VOLTAGE / CONVERT_BITS; rt_kprintf("the voltage is :%d.%02d \n", vol / 100, vol % 100); - + ret = rt_adc_disable(adc_dev, ADC_DEV_CHANNEL); return ret; diff --git a/bsp/swm320/drivers/drv_log.h b/bsp/swm320/drivers/drv_log.h index 71ee310d3a..52e560cc12 100644 --- a/bsp/swm320/drivers/drv_log.h +++ b/bsp/swm320/drivers/drv_log.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2018, RT-Thread Development Team + * Copyright (c) 2006-2021, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * diff --git a/bsp/swm320/drivers/drv_rtc.c b/bsp/swm320/drivers/drv_rtc.c index cd1d7867e6..74d41a2752 100644 --- a/bsp/swm320/drivers/drv_rtc.c +++ b/bsp/swm320/drivers/drv_rtc.c @@ -107,7 +107,7 @@ static rt_err_t swm_rtc_init(void) rtc_initstruct.MinuteIEn = 0; RTC_Init(RTC, &rtc_initstruct); RTC_Start(RTC); - + return RT_EOK; } @@ -148,7 +148,7 @@ static rt_rtc_dev_t swm_rtc_device; int rt_hw_rtc_init(void) { rt_err_t result; - + swm_rtc_device.ops = &swm_rtc_ops; result = rt_hw_rtc_register(&swm_rtc_device, "rtc", RT_DEVICE_FLAG_RDWR,RT_NULL); if (result != RT_EOK) diff --git a/bsp/swm320/libraries/CMSIS/CoreSupport/arm_common_tables.h b/bsp/swm320/libraries/CMSIS/CoreSupport/arm_common_tables.h index 78419fee19..368705e1c2 100644 --- a/bsp/swm320/libraries/CMSIS/CoreSupport/arm_common_tables.h +++ b/bsp/swm320/libraries/CMSIS/CoreSupport/arm_common_tables.h @@ -2,12 +2,12 @@ * Copyright (C) 2010-2014 ARM Limited. All rights reserved. * * $Date: 31. July 2014 -* $Revision: V1.4.4 +* $Revision: V1.4.4 * -* Project: CMSIS DSP Library -* Title: arm_common_tables.h +* Project: CMSIS DSP Library +* Title: arm_common_tables.h * -* Description: This file has extern declaration for common tables like Bitreverse, reciprocal etc which are used across different functions +* Description: This file has extern declaration for common tables like Bitreverse, reciprocal etc which are used across different functions * * Target Processor: Cortex-M4/Cortex-M3 * diff --git a/bsp/swm320/libraries/CMSIS/CoreSupport/arm_const_structs.h b/bsp/swm320/libraries/CMSIS/CoreSupport/arm_const_structs.h index 41ac9a44ed..2033c5e375 100644 --- a/bsp/swm320/libraries/CMSIS/CoreSupport/arm_const_structs.h +++ b/bsp/swm320/libraries/CMSIS/CoreSupport/arm_const_structs.h @@ -2,12 +2,12 @@ * Copyright (C) 2010-2014 ARM Limited. All rights reserved. * * $Date: 31. July 2014 -* $Revision: V1.4.4 +* $Revision: V1.4.4 * -* Project: CMSIS DSP Library -* Title: arm_const_structs.h +* Project: CMSIS DSP Library +* Title: arm_const_structs.h * -* Description: This file has constant structs that are initialized for +* Description: This file has constant structs that are initialized for * user convenience. For example, some can be given as * arguments to the arm_cfft_f32() function. * diff --git a/bsp/swm320/libraries/CMSIS/CoreSupport/arm_math.h b/bsp/swm320/libraries/CMSIS/CoreSupport/arm_math.h index 3a19bccaf9..5698fe08ab 100644 --- a/bsp/swm320/libraries/CMSIS/CoreSupport/arm_math.h +++ b/bsp/swm320/libraries/CMSIS/CoreSupport/arm_math.h @@ -2,12 +2,12 @@ * Copyright (C) 2010-2014 ARM Limited. All rights reserved. * * $Date: 12. March 2014 -* $Revision: V1.4.4 +* $Revision: V1.4.4 * -* Project: CMSIS DSP Library -* Title: arm_math.h +* Project: CMSIS DSP Library +* Title: arm_math.h * -* Description: Public header file for CMSIS DSP Library +* Description: Public header file for CMSIS DSP Library * * Target Processor: Cortex-M7/Cortex-M4/Cortex-M3/Cortex-M0 * @@ -134,7 +134,7 @@ *
* CMSIS-DSP in ARM::CMSIS Pack * ----------------------------- - * + * * The following files relevant to CMSIS-DSP are present in the ARM::CMSIS Pack directories: * |File/Folder |Content | * |------------------------------|------------------------------------------------------------------------| @@ -142,7 +142,7 @@ * |\b CMSIS\\DSP_Lib | Software license agreement (license.txt) | * |\b CMSIS\\DSP_Lib\\Examples | Example projects demonstrating the usage of the library functions | * |\b CMSIS\\DSP_Lib\\Source | Source files for rebuilding the library | - * + * *
* Revision History of CMSIS-DSP * ------------ @@ -347,7 +347,7 @@ extern "C" #else #define ALIGN4 __align(4) #endif -#endif /* #ifndef UNALIGNED_SUPPORT_DISABLE */ +#endif /* #ifndef UNALIGNED_SUPPORT_DISABLE */ /** * @brief Error status returned by some functions in the library. @@ -1187,11 +1187,11 @@ extern "C" /** * @brief Initialization function for the Q31 FIR filter. * @param[in,out] *S points to an instance of the Q31 FIR structure. - * @param[in] numTaps Number of filter coefficients in the filter. - * @param[in] *pCoeffs points to the filter coefficients. - * @param[in] *pState points to the state buffer. - * @param[in] blockSize number of samples that are processed at a time. - * @return none. + * @param[in] numTaps Number of filter coefficients in the filter. + * @param[in] *pCoeffs points to the filter coefficients. + * @param[in] *pState points to the state buffer. + * @param[in] blockSize number of samples that are processed at a time. + * @return none. */ void arm_fir_init_q31( arm_fir_instance_q31 *S, @@ -1217,11 +1217,11 @@ extern "C" /** * @brief Initialization function for the floating-point FIR filter. * @param[in,out] *S points to an instance of the floating-point FIR filter structure. - * @param[in] numTaps Number of filter coefficients in the filter. - * @param[in] *pCoeffs points to the filter coefficients. - * @param[in] *pState points to the state buffer. - * @param[in] blockSize number of samples that are processed at a time. - * @return none. + * @param[in] numTaps Number of filter coefficients in the filter. + * @param[in] *pCoeffs points to the filter coefficients. + * @param[in] *pState points to the state buffer. + * @param[in] blockSize number of samples that are processed at a time. + * @return none. */ void arm_fir_init_f32( arm_fir_instance_f32 *S, @@ -1524,7 +1524,7 @@ extern "C" * @brief Floating-point matrix transpose. * @param[in] *pSrc points to the input matrix * @param[out] *pDst points to the output matrix - * @return The function returns either ARM_MATH_SIZE_MISMATCH + * @return The function returns either ARM_MATH_SIZE_MISMATCH * or ARM_MATH_SUCCESS based on the outcome of size checking. */ @@ -1536,7 +1536,7 @@ extern "C" * @brief Q15 matrix transpose. * @param[in] *pSrc points to the input matrix * @param[out] *pDst points to the output matrix - * @return The function returns either ARM_MATH_SIZE_MISMATCH + * @return The function returns either ARM_MATH_SIZE_MISMATCH * or ARM_MATH_SUCCESS based on the outcome of size checking. */ @@ -1548,7 +1548,7 @@ extern "C" * @brief Q31 matrix transpose. * @param[in] *pSrc points to the input matrix * @param[out] *pDst points to the output matrix - * @return The function returns either ARM_MATH_SIZE_MISMATCH + * @return The function returns either ARM_MATH_SIZE_MISMATCH * or ARM_MATH_SUCCESS based on the outcome of size checking. */ @@ -1575,7 +1575,7 @@ extern "C" * @param[in] *pSrcA points to the first input matrix structure * @param[in] *pSrcB points to the second input matrix structure * @param[out] *pDst points to output matrix structure - * @param[in] *pState points to the array for storing intermediate results + * @param[in] *pState points to the array for storing intermediate results * @return The function returns either * ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking. */ @@ -1591,7 +1591,7 @@ extern "C" * @param[in] *pSrcA points to the first input matrix structure * @param[in] *pSrcB points to the second input matrix structure * @param[out] *pDst points to output matrix structure - * @param[in] *pState points to the array for storing intermediate results + * @param[in] *pState points to the array for storing intermediate results * @return The function returns either * ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking. */ @@ -1723,7 +1723,7 @@ extern "C" * @param[in,out] *S points to an instance of the floating-point matrix structure. * @param[in] nRows number of rows in the matrix. * @param[in] nColumns number of columns in the matrix. - * @param[in] *pData points to the matrix data array. + * @param[in] *pData points to the matrix data array. * @return none */ @@ -1738,7 +1738,7 @@ extern "C" * @param[in,out] *S points to an instance of the floating-point matrix structure. * @param[in] nRows number of rows in the matrix. * @param[in] nColumns number of columns in the matrix. - * @param[in] *pData points to the matrix data array. + * @param[in] *pData points to the matrix data array. * @return none */ @@ -1753,7 +1753,7 @@ extern "C" * @param[in,out] *S points to an instance of the floating-point matrix structure. * @param[in] nRows number of rows in the matrix. * @param[in] nColumns number of columns in the matrix. - * @param[in] *pData points to the matrix data array. + * @param[in] *pData points to the matrix data array. * @return none */ @@ -2321,7 +2321,7 @@ extern "C" * @param[in] N length of the DCT4. * @param[in] Nby2 half of the length of the DCT4. * @param[in] normalize normalizing factor. - * @return arm_status function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if fftLenReal is not a supported transform length. + * @return arm_status function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if fftLenReal is not a supported transform length. */ arm_status arm_dct4_init_f32( @@ -2368,7 +2368,7 @@ extern "C" * @param[in] N length of the DCT4. * @param[in] Nby2 half of the length of the DCT4. * @param[in] normalize normalizing factor. - * @return arm_status function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if N is not a supported transform length. + * @return arm_status function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if N is not a supported transform length. */ arm_status arm_dct4_init_q31( @@ -2415,7 +2415,7 @@ extern "C" * @param[in] N length of the DCT4. * @param[in] Nby2 half of the length of the DCT4. * @param[in] normalize normalizing factor. - * @return arm_status function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if N is not a supported transform length. + * @return arm_status function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if N is not a supported transform length. */ arm_status arm_dct4_init_q15( @@ -5355,8 +5355,8 @@ extern "C" * @brief Floating-point Park transform * @param[in] Ialpha input two-phase vector coordinate alpha * @param[in] Ibeta input two-phase vector coordinate beta - * @param[out] *pId points to output rotor reference frame d - * @param[out] *pIq points to output rotor reference frame q + * @param[out] *pId points to output rotor reference frame d + * @param[out] *pIq points to output rotor reference frame q * @param[in] sinVal sine value of rotation angle theta * @param[in] cosVal cosine value of rotation angle theta * @return none. @@ -5496,7 +5496,7 @@ extern "C" } /** - * @brief Inverse Park transform for Q31 version + * @brief Inverse Park transform for Q31 version * @param[in] Id input coordinate of rotor reference frame d * @param[in] Iq input coordinate of rotor reference frame q * @param[out] *pIalpha points to output two-phase orthogonal vector axis alpha diff --git a/bsp/swm320/libraries/CMSIS/DeviceSupport/SWM320.h b/bsp/swm320/libraries/CMSIS/DeviceSupport/SWM320.h index 6d27aad7c4..8e4a3e041c 100644 --- a/bsp/swm320/libraries/CMSIS/DeviceSupport/SWM320.h +++ b/bsp/swm320/libraries/CMSIS/DeviceSupport/SWM320.h @@ -105,11 +105,11 @@ typedef enum IRQn #endif #include -#include "core_cm4.h" /* Cortex-M0 processor and core peripherals */ +#include "core_cm4.h" /* Cortex-M0 processor and core peripherals */ #include "system_SWM320.h" /******************************************************************************/ -/* Device Specific Peripheral registers structures */ +/* Device Specific Peripheral registers structures */ /******************************************************************************/ typedef struct { @@ -181,11 +181,11 @@ typedef struct __IO uint32_t ADC1IN7; } SYS_TypeDef; -#define SYS_CLKSEL_LFCK_Pos 0 //Low Frequency Clock Source 0 LRC 1 PLL +#define SYS_CLKSEL_LFCK_Pos 0 //Low Frequency Clock Source 0 LRC 1 PLL #define SYS_CLKSEL_LFCK_Msk (0x01 << SYS_CLKSEL_LFCK_Pos) -#define SYS_CLKSEL_HFCK_Pos 1 //High Frequency Clock Source 0 HRC 1 XTAL +#define SYS_CLKSEL_HFCK_Pos 1 //High Frequency Clock Source 0 HRC 1 XTAL #define SYS_CLKSEL_HFCK_Msk (0x01 << SYS_CLKSEL_HFCK_Pos) -#define SYS_CLKSEL_SYS_Pos 2 //系统时钟选择 0 LFCK 1 HFCK +#define SYS_CLKSEL_SYS_Pos 2 //系统时钟选择 0 LFCK 1 HFCK #define SYS_CLKSEL_SYS_Msk (0x01 << SYS_CLKSEL_SYS_Pos) #define SYS_CLKDIV_SYS_Pos 0 //系统时钟分频 0 1分频 1 2分频 @@ -312,7 +312,7 @@ typedef struct #define SYS_LRCTRIM1_U_Pos 0 //LRC U调控制位 #define SYS_LRCTRIM1_U_Msk (0x7FFF << SYS_LRCTRIM1_U_Pos) -#define SYS_HRCCR_DBL_Pos 0 //Double Frequency 0 20MHz 1 40MHz +#define SYS_HRCCR_DBL_Pos 0 //Double Frequency 0 20MHz 1 40MHz #define SYS_HRCCR_DBL_Msk (0x01 << SYS_HRCCR_DBL_Pos) #define SYS_HRCCR_OFF_Pos 1 //High speed RC Off #define SYS_HRCCR_OFF_Msk (0x01 << SYS_HRCCR_OFF_Pos) @@ -1165,17 +1165,17 @@ typedef struct #define PIN23 23 #define PIN24 24 - __IO uint32_t DIR; //0 输入 1 输出 + __IO uint32_t DIR; //0 输入 1 输出 - __IO uint32_t INTLVLTRG; //Interrupt Level Trigger 1 电平触发中断 0 边沿触发中断 + __IO uint32_t INTLVLTRG; //Interrupt Level Trigger 1 电平触发中断 0 边沿触发中断 __IO uint32_t INTBE; //Both Edge,当INTLVLTRG设为边沿触发中断时,此位置1表示上升沿和下降沿都触发中断,置0时触发边沿由INTRISEEN选择 - __IO uint32_t INTRISEEN; //Interrupt Rise Edge Enable 1 上升沿/高电平触发中断 0 下降沿/低电平触发中断 + __IO uint32_t INTRISEEN; //Interrupt Rise Edge Enable 1 上升沿/高电平触发中断 0 下降沿/低电平触发中断 - __IO uint32_t INTEN; //1 中断使能 0 中断禁止 + __IO uint32_t INTEN; //1 中断使能 0 中断禁止 - __IO uint32_t INTRAWSTAT; //中断检测单元是否检测到了触发中断的条件 1 检测到了中断触发条件 0 没有检测到中断触发条件 + __IO uint32_t INTRAWSTAT; //中断检测单元是否检测到了触发中断的条件 1 检测到了中断触发条件 0 没有检测到中断触发条件 __IO uint32_t INTSTAT; //INTSTAT.PIN0 = INTRAWSTAT.PIN0 & INTEN.PIN0 @@ -1193,7 +1193,7 @@ typedef struct #define TIMR_CTRL_EN_Pos 0 //此位赋1导致TIMR从LDVAL开始向下递减计数 #define TIMR_CTRL_EN_Msk (0x01 << TIMR_CTRL_EN_Pos) -#define TIMR_CTRL_CLKSRC_Pos 1 //时钟源:0 内部系统时钟 1 外部引脚脉冲计数 +#define TIMR_CTRL_CLKSRC_Pos 1 //时钟源:0 内部系统时钟 1 外部引脚脉冲计数 #define TIMR_CTRL_CLKSRC_Msk (0x01 << TIMR_CTRL_CLKSRC_Pos) #define TIMR_CTRL_CASCADE_Pos 2 //1 TIMRx的计数时钟为TIMRx-1的溢出信号 #define TIMR_CTRL_CASCADE_Msk (0x01 << TIMR_CTRL_CASCADE_Pos) @@ -1215,9 +1215,9 @@ typedef struct #define TIMRG_PCTRL_EN_Pos 0 //开始测量脉宽,脉宽内32位计数器从0开始向上计数 #define TIMRG_PCTRL_EN_Msk (0x01 << TIMRG_PCTRL_EN_Pos) -#define TIMRG_PCTRL_HIGH_Pos 1 //0 测量低电平长度 1 测量高电平长度 +#define TIMRG_PCTRL_HIGH_Pos 1 //0 测量低电平长度 1 测量高电平长度 #define TIMRG_PCTRL_HIGH_Msk (0x01 << TIMRG_PCTRL_HIGH_Pos) -#define TIMRG_PCTRL_CLKSRC_Pos 2 //时钟源:0 内部系统时钟 1 脉宽测量模块变成一个计数器,不再具有脉宽测量功能 +#define TIMRG_PCTRL_CLKSRC_Pos 2 //时钟源:0 内部系统时钟 1 脉宽测量模块变成一个计数器,不再具有脉宽测量功能 #define TIMRG_PCTRL_CLKSRC_Msk (0x01 << TIMRG_PCTRL_CLKSRC_Pos) #define TIMRG_IE_TIMR0_Pos 0 @@ -1290,7 +1290,7 @@ typedef struct #define UART_DATA_PAERR_Pos 10 //Parity Error #define UART_DATA_PAERR_Msk (0x01 << UART_DATA_PAERR_Pos) -#define UART_CTRL_TXIDLE_Pos 0 //TX IDLE: 0 正在发送数据 1 空闲状态,没有数据发送 +#define UART_CTRL_TXIDLE_Pos 0 //TX IDLE: 0 正在发送数据 1 空闲状态,没有数据发送 #define UART_CTRL_TXIDLE_Msk (0x01 << UART_CTRL_TXIDLE_Pos) #define UART_CTRL_TXFF_Pos 1 //TX FIFO Full #define UART_CTRL_TXFF_Msk (0x01 << UART_CTRL_TXFF_Pos) @@ -1414,19 +1414,19 @@ typedef struct #define SPI_CTRL_EN_Msk (0x01 << SPI_CTRL_EN_Pos) #define SPI_CTRL_SIZE_Pos 4 //Data Size Select, 取值3--15,表示4--16位 #define SPI_CTRL_SIZE_Msk (0x0F << SPI_CTRL_SIZE_Pos) -#define SPI_CTRL_CPHA_Pos 8 //0 在SCLK的第一个跳变沿采样数据 1 在SCLK的第二个跳变沿采样数据 +#define SPI_CTRL_CPHA_Pos 8 //0 在SCLK的第一个跳变沿采样数据 1 在SCLK的第二个跳变沿采样数据 #define SPI_CTRL_CPHA_Msk (0x01 << SPI_CTRL_CPHA_Pos) -#define SPI_CTRL_CPOL_Pos 9 //0 空闲状态下SCLK为低电平 1 空闲状态下SCLK为高电平 +#define SPI_CTRL_CPOL_Pos 9 //0 空闲状态下SCLK为低电平 1 空闲状态下SCLK为高电平 #define SPI_CTRL_CPOL_Msk (0x01 << SPI_CTRL_CPOL_Pos) -#define SPI_CTRL_FFS_Pos 10 //Frame Format Select, 0 SPI 1 TI SSI 2 SPI 3 SPI +#define SPI_CTRL_FFS_Pos 10 //Frame Format Select, 0 SPI 1 TI SSI 2 SPI 3 SPI #define SPI_CTRL_FFS_Msk (0x03 << SPI_CTRL_FFS_Pos) -#define SPI_CTRL_MSTR_Pos 12 //Master, 1 主模式 0 从模式 +#define SPI_CTRL_MSTR_Pos 12 //Master, 1 主模式 0 从模式 #define SPI_CTRL_MSTR_Msk (0x01 << SPI_CTRL_MSTR_Pos) #define SPI_CTRL_FAST_Pos 13 //1 SPI工作时钟 = SYS_Freq/2 0 SPI工作时钟由SPI->CTRL.CLKDIV设置 #define SPI_CTRL_FAST_Msk (0x01 << SPI_CTRL_FAST_Pos) #define SPI_CTRL_FILTE_Pos 16 //1 对SPI输入信号进行去抖操作 0 对SPI输入信号不进行去抖操作 #define SPI_CTRL_FILTE_Msk (0x01 << SPI_CTRL_FILTE_Pos) -#define SPI_CTRL_SSN_H_Pos 17 //0 传输过程中SSN始终为0 1 传输过程中每字符之间会将SSN拉高半个SCLK周期 +#define SPI_CTRL_SSN_H_Pos 17 //0 传输过程中SSN始终为0 1 传输过程中每字符之间会将SSN拉高半个SCLK周期 #define SPI_CTRL_SSN_H_Msk (0x01 << SPI_CTRL_SSN_H_Pos) #define SPI_CTRL_TFCLR_Pos 24 //TX FIFO Clear #define SPI_CTRL_TFCLR_Msk (0x01 << SPI_CTRL_TFCLR_Pos) @@ -1445,9 +1445,9 @@ typedef struct #define SPI_STAT_RFF_Msk (0x01 << SPI_STAT_RFF_Pos) #define SPI_STAT_RFOVF_Pos 5 //接收FIFO Overflow #define SPI_STAT_RFOVF_Msk (0x01 << SPI_STAT_RFOVF_Pos) -#define SPI_STAT_TFLVL_Pos 6 //发送FIFO中数据个数, 0 TFNF=0时表示FIFO内有8个数据,TFNF=1时表示FIFO内有0个数据 1--7 FIFO内有1--7个数据 +#define SPI_STAT_TFLVL_Pos 6 //发送FIFO中数据个数, 0 TFNF=0时表示FIFO内有8个数据,TFNF=1时表示FIFO内有0个数据 1--7 FIFO内有1--7个数据 #define SPI_STAT_TFLVL_Msk (0x07 << SPI_STAT_TFLVL_Pos) -#define SPI_STAT_RFLVL_Pos 9 //接收FIFO中数据个数, 0 RFF=1时表示FIFO内有8个数据, RFF=0时表示FIFO内有0个数据 1--7 FIFO内有1--7个数据 +#define SPI_STAT_RFLVL_Pos 9 //接收FIFO中数据个数, 0 RFF=1时表示FIFO内有8个数据, RFF=0时表示FIFO内有0个数据 1--7 FIFO内有1--7个数据 #define SPI_STAT_RFLVL_Msk (0x07 << SPI_STAT_RFLVL_Pos) #define SPI_STAT_BUSY_Pos 15 #define SPI_STAT_BUSY_Msk (0x01 << SPI_STAT_BUSY_Pos) @@ -1506,21 +1506,21 @@ typedef struct #define I2C_CTRL_EN_Pos 7 #define I2C_CTRL_EN_Msk (0x01 << I2C_CTRL_EN_Pos) -#define I2C_MSTCMD_IF_Pos 0 //1 有等待处理的中断,写1清零 有两种情况下此位硬件置位:1、一个字节传输完成 2、总线访问权丢失 +#define I2C_MSTCMD_IF_Pos 0 //1 有等待处理的中断,写1清零 有两种情况下此位硬件置位:1、一个字节传输完成 2、总线访问权丢失 #define I2C_MSTCMD_IF_Msk (0x01 << I2C_MSTCMD_IF_Pos) #define I2C_MSTCMD_TIP_Pos 1 //Transmission In Process #define I2C_MSTCMD_TIP_Msk (0x01 << I2C_MSTCMD_TIP_Pos) -#define I2C_MSTCMD_ACK_Pos 3 //接收模式下,0 向发送端反馈ACK 1 向发送端反馈NACK +#define I2C_MSTCMD_ACK_Pos 3 //接收模式下,0 向发送端反馈ACK 1 向发送端反馈NACK #define I2C_MSTCMD_ACK_Msk (0x01 << I2C_MSTCMD_ACK_Pos) -#define I2C_MSTCMD_WR_Pos 4 // 向Slave写数据时,把这一位写1,自动清零 +#define I2C_MSTCMD_WR_Pos 4 // 向Slave写数据时,把这一位写1,自动清零 #define I2C_MSTCMD_WR_Msk (0x01 << I2C_MSTCMD_WR_Pos) -#define I2C_MSTCMD_RD_Pos 5 //写:从Slave读数据时,把这一位写1,自动清零 读:当I2C模块失去总线的访问权时硬件置1 +#define I2C_MSTCMD_RD_Pos 5 //写:从Slave读数据时,把这一位写1,自动清零 读:当I2C模块失去总线的访问权时硬件置1 #define I2C_MSTCMD_RD_Msk (0x01 << I2C_MSTCMD_RD_Pos) #define I2C_MSTCMD_BUSY_Pos 6 //读:当检测到START之后,这一位变1;当检测到STOP之后,这一位变0 #define I2C_MSTCMD_BUSY_Msk (0x01 << I2C_MSTCMD_BUSY_Pos) #define I2C_MSTCMD_STO_Pos 6 //写:产生STOP,自动清零 #define I2C_MSTCMD_STO_Msk (0x01 << I2C_MSTCMD_STO_Pos) -#define I2C_MSTCMD_RXACK_Pos 7 //读:接收到的Slave的ACK位,0 收到ACK 1 收到NACK +#define I2C_MSTCMD_RXACK_Pos 7 //读:接收到的Slave的ACK位,0 收到ACK 1 收到NACK #define I2C_MSTCMD_RXACK_Msk (0x01 << I2C_MSTCMD_RXACK_Pos) #define I2C_MSTCMD_STA_Pos 7 //写:产生START,自动清零 #define I2C_MSTCMD_STA_Msk (0x01 << I2C_MSTCMD_STA_Pos) @@ -1609,13 +1609,13 @@ typedef struct #define ADC_CTRL_CH6_Msk (0x01 << ADC_CTRL_CH6_Pos) #define ADC_CTRL_CH7_Pos 7 #define ADC_CTRL_CH7_Msk (0x01 << ADC_CTRL_CH7_Pos) -#define ADC_CTRL_AVG_Pos 8 //0 1次采样 1 2次采样取平均值 3 4次采样取平均值 7 8次采样取平均值 15 16次采样取平均值 +#define ADC_CTRL_AVG_Pos 8 //0 1次采样 1 2次采样取平均值 3 4次采样取平均值 7 8次采样取平均值 15 16次采样取平均值 #define ADC_CTRL_AVG_Msk (0x0F << ADC_CTRL_AVG_Pos) #define ADC_CTRL_EN_Pos 12 #define ADC_CTRL_EN_Msk (0x01 << ADC_CTRL_EN_Pos) #define ADC_CTRL_CONT_Pos 13 //Continuous conversion,只在软件启动模式下有效,0 单次转换,转换完成后START位自动清除停止转换 #define ADC_CTRL_CONT_Msk (0x01 << ADC_CTRL_CONT_Pos) // 1 连续转换,启动后一直采样、转换,直到软件清除START位 -#define ADC_CTRL_TRIG_Pos 14 //转换触发方式:0 软件启动转换 1 PWM触发 +#define ADC_CTRL_TRIG_Pos 14 //转换触发方式:0 软件启动转换 1 PWM触发 #define ADC_CTRL_TRIG_Msk (0x01 << ADC_CTRL_TRIG_Pos) #define ADC_CTRL_CLKSRC_Pos 15 //0 VCO 1 HRC #define ADC_CTRL_CLKSRC_Msk (0x01 << ADC_CTRL_CLKSRC_Pos) @@ -1780,7 +1780,7 @@ typedef struct #define ADC_CTRL2_PGAGAIN_Pos 3 //0 25.1dB 1 21.6dB 2 11.1dB 3 3.5dB 4 0dB(1.8V) 5 -2.9dB 6 -5.3dB #define ADC_CTRL2_PGAGAIN_Msk (0x07 << ADC_CTRL2_PGAGAIN_Pos) #define ADC_CTRL2_REFPOUT_Pos 23 //1 ADC 内部 1.2V REFP电压输出到外部REFP引脚,用于测量,或在需要1.2V外部REFP时节省成本 -#define ADC_CTRL2_REFPOUT_Msk (0x01 << ADC_CTRL2_REFPOUT_Pos +#define ADC_CTRL2_REFPOUT_Msk (0x01 << ADC_CTRL2_REFPOUT_Pos #define ADC_CTRL2_CLKDIV_Pos 24 //时钟分频,只在时钟源为HRC时有效 #define ADC_CTRL2_CLKDIV_Msk (0x1F << ADC_CTRL2_CLKDIV_Pos) #define ADC_CTRL2_PGAVCM_Pos 29 @@ -2235,7 +2235,7 @@ typedef struct #define DMA_CR_AUTORE_Pos 18 //Auto Restart, 通道在传输完成后,是否自动重新启动 #define DMA_CR_AUTORE_Msk (0x01 << DMA_CR_AUTORE_Pos) -#define DMA_AM_SRCAM_Pos 0 //Address Mode 0 地址固定 1 地址递增 2 scatter gather模式 +#define DMA_AM_SRCAM_Pos 0 //Address Mode 0 地址固定 1 地址递增 2 scatter gather模式 #define DMA_AM_SRCAM_Msk (0x03 << DMA_AM_SRCAM_Pos) #define DMA_AM_DSTAM_Pos 8 #define DMA_AM_DSTAM_Msk (0x03 << DMA_AM_DSTAM_Pos) @@ -2950,7 +2950,7 @@ typedef struct #define WDT_CR_RSTEN_Msk (0x01 << WDT_CR_RSTEN_Pos) /******************************************************************************/ -/* Peripheral memory map */ +/* Peripheral memory map */ /******************************************************************************/ #define RAM_BASE 0x20000000 #define AHB_BASE 0x40000000 @@ -3026,7 +3026,7 @@ typedef struct #define CAN_BASE (APB_BASE + 0x20000) /******************************************************************************/ -/* Peripheral declaration */ +/* Peripheral declaration */ /******************************************************************************/ #define SYS ((SYS_TypeDef *)SYS_BASE) diff --git a/bsp/swm320/libraries/CMSIS/DeviceSupport/system_SWM320.c b/bsp/swm320/libraries/CMSIS/DeviceSupport/system_SWM320.c index 464d1b0563..578d15da79 100644 --- a/bsp/swm320/libraries/CMSIS/DeviceSupport/system_SWM320.c +++ b/bsp/swm320/libraries/CMSIS/DeviceSupport/system_SWM320.c @@ -1,18 +1,18 @@ -/****************************************************************************************************************************************** -* 文件名称: system_SWM320.c -* 功能说明: SWM320单片机的时钟设置 -* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 +/****************************************************************************************************************************************** +* 文件名称: system_SWM320.c +* 功能说明: SWM320单片机的时钟设置 +* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 * 注意事项: -* 版本日期: V1.1.0 2017年10月25日 -* 升级记录: +* 版本日期: V1.1.0 2017年10月25日 +* 升级记录: * * ******************************************************************************************************************************************* * @attention * -* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION -* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE -* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT +* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION +* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE +* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * -ECTION WITH THEIR PRODUCTS. * @@ -43,7 +43,7 @@ /********************************** PLL 设定 ********************************************** * VCO输出频率 = PLL输入时钟 / INDIV * 4 * FBDIV - * PLL输出频率 = PLL输入时钟 / INDIV * 4 * FBDIV / OUTDIV = VCO输出频率 / OUTDIV + * PLL输出频率 = PLL输入时钟 / INDIV * 4 * FBDIV / OUTDIV = VCO输出频率 / OUTDIV * 注意:VCO输出频率需要在 [600MHz, 1200MHz] 之间 *****************************************************************************************/ #define SYS_PLL_SRC SYS_CLK_20MHz //可取值SYS_CLK_20MHz、SYS_CLK_XTAL @@ -61,12 +61,12 @@ uint32_t SystemCoreClock = __HSI; //System Clock Frequency (Core Clock) uint32_t CyclesPerUs = (__HSI / 1000000); //Cycles per micro second -/****************************************************************************************************************************************** -* 函数名称: +/****************************************************************************************************************************************** +* 函数名称: * 功能说明: This function is used to update the variable SystemCoreClock and must be called whenever the core clock is changed -* 输 入: -* 输 出: -* 注意事项: +* 输 入: +* 输 出: +* 注意事项: ******************************************************************************************************************************************/ void SystemCoreClockUpdate(void) { @@ -115,12 +115,12 @@ void SystemCoreClockUpdate(void) CyclesPerUs = SystemCoreClock / 1000000; } -/****************************************************************************************************************************************** -* 函数名称: +/****************************************************************************************************************************************** +* 函数名称: * 功能说明: The necessary initializaiton of systerm -* 输 入: -* 输 出: -* 注意事项: +* 输 入: +* 输 出: +* 注意事项: ******************************************************************************************************************************************/ void SystemInit(void) { diff --git a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_adc.c b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_adc.c index 983b4bcff1..0fcd4d1eb1 100644 --- a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_adc.c +++ b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_adc.c @@ -1,29 +1,29 @@ -/****************************************************************************************************************************************** -* 文件名称: SWM320_adc.c -* 功能说明: SWM320单片机的ADC数模转换器功能驱动库 -* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 +/****************************************************************************************************************************************** +* 文件名称: SWM320_adc.c +* 功能说明: SWM320单片机的ADC数模转换器功能驱动库 +* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 * 注意事项: -* 版本日期: V1.1.0 2017年10月25日 -* 升级记录: +* 版本日期: V1.1.0 2017年10月25日 +* 升级记录: ******************************************************************************************************************************************* * @attention * -* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION -* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE -* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT +* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION +* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE +* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * -ECTION WITH THEIR PRODUCTS. * -* COPYRIGHT 2012 Synwit Technology +* COPYRIGHT 2012 Synwit Technology *******************************************************************************************************************************************/ #include "SWM320.h" #include "SWM320_adc.h" -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: ADC_Init() -* 功能说明: ADC模数转换器初始化 -* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,有效值包括ADC0、ADC1 -* ADC_InitStructure * initStruct 包含ADC各相关定值的结构体 +* 功能说明: ADC模数转换器初始化 +* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,有效值包括ADC0、ADC1 +* ADC_InitStructure * initStruct 包含ADC各相关定值的结构体 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -152,10 +152,10 @@ void ADC_Init(ADC_TypeDef *ADCx, ADC_InitStructure *initStruct) } } -/****************************************************************************************************************************************** -* 函数名称: ADC_Open() -* 功能说明: ADC开启,可以软件启动、或硬件触发ADC转换 -* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC +/****************************************************************************************************************************************** +* 函数名称: ADC_Open() +* 功能说明: ADC开启,可以软件启动、或硬件触发ADC转换 +* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -164,10 +164,10 @@ void ADC_Open(ADC_TypeDef *ADCx) ADCx->CTRL |= (0x01 << ADC_CTRL_EN_Pos); } -/****************************************************************************************************************************************** -* 函数名称: ADC_Close() -* 功能说明: ADC关闭,无法软件启动、或硬件触发ADC转换 -* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC +/****************************************************************************************************************************************** +* 函数名称: ADC_Close() +* 功能说明: ADC关闭,无法软件启动、或硬件触发ADC转换 +* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -176,10 +176,10 @@ void ADC_Close(ADC_TypeDef *ADCx) ADCx->CTRL &= ~(0x01 << ADC_CTRL_EN_Pos); } -/****************************************************************************************************************************************** -* 函数名称: ADC_Start() -* 功能说明: 软件触发模式下启动ADC转换 -* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC +/****************************************************************************************************************************************** +* 函数名称: ADC_Start() +* 功能说明: 软件触发模式下启动ADC转换 +* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -188,10 +188,10 @@ void ADC_Start(ADC_TypeDef *ADCx) ADCx->START |= (0x01 << ADC_START_GO_Pos); } -/****************************************************************************************************************************************** -* 函数名称: ADC_Stop() -* 功能说明: 软件触发模式下停止ADC转换 -* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC +/****************************************************************************************************************************************** +* 函数名称: ADC_Stop() +* 功能说明: 软件触发模式下停止ADC转换 +* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -235,12 +235,12 @@ static uint32_t chn2idx(uint32_t chn) return idx; } -/****************************************************************************************************************************************** -* 函数名称: ADC_Read() -* 功能说明: 从指定通道读取转换结果 -* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC -* uint32_t chn 要读取转换结果的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 -* 输 出: uint32_t 读取到的转换结果 +/****************************************************************************************************************************************** +* 函数名称: ADC_Read() +* 功能说明: 从指定通道读取转换结果 +* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC +* uint32_t chn 要读取转换结果的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 +* 输 出: uint32_t 读取到的转换结果 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t ADC_Read(ADC_TypeDef *ADCx, uint32_t chn) @@ -255,12 +255,12 @@ uint32_t ADC_Read(ADC_TypeDef *ADCx, uint32_t chn) return dat; } -/****************************************************************************************************************************************** -* 函数名称: ADC_IsEOC() -* 功能说明: 指定通道是否End Of Conversion -* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC -* uint32_t chn 要查询状态的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 -* 输 出: uint32_t 1 该通道完成了转换 0 该通道未完成转换 +/****************************************************************************************************************************************** +* 函数名称: ADC_IsEOC() +* 功能说明: 指定通道是否End Of Conversion +* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC +* uint32_t chn 要查询状态的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 +* 输 出: uint32_t 1 该通道完成了转换 0 该通道未完成转换 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t ADC_IsEOC(ADC_TypeDef *ADCx, uint32_t chn) @@ -270,11 +270,11 @@ uint32_t ADC_IsEOC(ADC_TypeDef *ADCx, uint32_t chn) return (ADCx->CH[idx].STAT & ADC_STAT_EOC_Msk) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: ADC_ChnSelect() -* 功能说明: ADC通道选通,模数转换会在选通的通道上依次采样转换 -* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC -* uint32_t chns 要选通的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7及其组合(即“按位或”运算) +/****************************************************************************************************************************************** +* 函数名称: ADC_ChnSelect() +* 功能说明: ADC通道选通,模数转换会在选通的通道上依次采样转换 +* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC +* uint32_t chns 要选通的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7及其组合(即“按位或”运算) * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -284,11 +284,11 @@ void ADC_ChnSelect(ADC_TypeDef *ADCx, uint32_t chns) ADCx->CTRL |= (chns << ADC_CTRL_CH0_Pos); } -/****************************************************************************************************************************************** -* 函数名称: ADC_IntEOCEn() -* 功能说明: 转换完成中断使能 -* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC -* uint32_t chn 要设置的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 +/****************************************************************************************************************************************** +* 函数名称: ADC_IntEOCEn() +* 功能说明: 转换完成中断使能 +* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC +* uint32_t chn 要设置的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -299,11 +299,11 @@ void ADC_IntEOCEn(ADC_TypeDef *ADCx, uint32_t chn) ADCx->IE |= (0x01 << (idx * 4)); } -/****************************************************************************************************************************************** -* 函数名称: ADC_IntEOCDis() -* 功能说明: 转换完成中断禁止 -* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC -* uint32_t chn 要设置的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 +/****************************************************************************************************************************************** +* 函数名称: ADC_IntEOCDis() +* 功能说明: 转换完成中断禁止 +* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC +* uint32_t chn 要设置的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -314,11 +314,11 @@ void ADC_IntEOCDis(ADC_TypeDef *ADCx, uint32_t chn) ADCx->IE &= ~(0x01 << (idx * 4)); } -/****************************************************************************************************************************************** -* 函数名称: ADC_IntEOCClr() -* 功能说明: 转换完成中断标志清除 -* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC -* uint32_t chn 要设置的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 +/****************************************************************************************************************************************** +* 函数名称: ADC_IntEOCClr() +* 功能说明: 转换完成中断标志清除 +* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC +* uint32_t chn 要设置的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -329,12 +329,12 @@ void ADC_IntEOCClr(ADC_TypeDef *ADCx, uint32_t chn) ADCx->IF = (0x01 << (idx * 4)); } -/****************************************************************************************************************************************** -* 函数名称: ADC_IntEOCStat() -* 功能说明: 转换完成中断状态 -* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC -* uint32_t chn 要查询的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 -* 输 出: uint32_t 1 该通道完成了转换 0 该通道未完成转换 +/****************************************************************************************************************************************** +* 函数名称: ADC_IntEOCStat() +* 功能说明: 转换完成中断状态 +* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC +* uint32_t chn 要查询的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 +* 输 出: uint32_t 1 该通道完成了转换 0 该通道未完成转换 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t ADC_IntEOCStat(ADC_TypeDef *ADCx, uint32_t chn) @@ -344,11 +344,11 @@ uint32_t ADC_IntEOCStat(ADC_TypeDef *ADCx, uint32_t chn) return (ADCx->IF & (0x01 << (idx * 4))) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: ADC_IntOVFEn() -* 功能说明: 数据溢出中断使能 -* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC -* uint32_t chn 要设置的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 +/****************************************************************************************************************************************** +* 函数名称: ADC_IntOVFEn() +* 功能说明: 数据溢出中断使能 +* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC +* uint32_t chn 要设置的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -359,11 +359,11 @@ void ADC_IntOVFEn(ADC_TypeDef *ADCx, uint32_t chn) ADCx->IE |= (0x01 << (idx * 4 + 1)); } -/****************************************************************************************************************************************** -* 函数名称: ADC_IntOVFDis() -* 功能说明: 数据溢出中断禁止 -* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC -* uint32_t chn 要设置的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 +/****************************************************************************************************************************************** +* 函数名称: ADC_IntOVFDis() +* 功能说明: 数据溢出中断禁止 +* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC +* uint32_t chn 要设置的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -374,11 +374,11 @@ void ADC_IntOVFDis(ADC_TypeDef *ADCx, uint32_t chn) ADCx->IE &= ~(0x01 << (idx * 4 + 1)); } -/****************************************************************************************************************************************** -* 函数名称: ADC_IntOVFClr() -* 功能说明: 数据溢出中断标志清除 -* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC -* uint32_t chn 要设置的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 +/****************************************************************************************************************************************** +* 函数名称: ADC_IntOVFClr() +* 功能说明: 数据溢出中断标志清除 +* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC +* uint32_t chn 要设置的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -389,12 +389,12 @@ void ADC_IntOVFClr(ADC_TypeDef *ADCx, uint32_t chn) ADCx->IF = (0x01 << (idx * 4 + 1)); } -/****************************************************************************************************************************************** -* 函数名称: ADC_IntOVFStat() -* 功能说明: 数据溢出中断状态 -* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC -* uint32_t chn 要查询的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 -* 输 出: uint32_t 1 该通道完成了转换 0 该通道未完成转换 +/****************************************************************************************************************************************** +* 函数名称: ADC_IntOVFStat() +* 功能说明: 数据溢出中断状态 +* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC +* uint32_t chn 要查询的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 +* 输 出: uint32_t 1 该通道完成了转换 0 该通道未完成转换 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t ADC_IntOVFStat(ADC_TypeDef *ADCx, uint32_t chn) @@ -404,11 +404,11 @@ uint32_t ADC_IntOVFStat(ADC_TypeDef *ADCx, uint32_t chn) return (ADCx->IF & (0x01 << (idx * 4 + 1))) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: ADC_IntHFULLEn() -* 功能说明: FIFO半满中断使能 -* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC -* uint32_t chn 要设置的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 +/****************************************************************************************************************************************** +* 函数名称: ADC_IntHFULLEn() +* 功能说明: FIFO半满中断使能 +* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC +* uint32_t chn 要设置的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -419,11 +419,11 @@ void ADC_IntHFULLEn(ADC_TypeDef *ADCx, uint32_t chn) ADCx->IE |= (0x01 << (idx * 4 + 2)); } -/****************************************************************************************************************************************** -* 函数名称: ADC_IntHFULLDis() -* 功能说明: FIFO半满中断禁止 -* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC -* uint32_t chn 要设置的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 +/****************************************************************************************************************************************** +* 函数名称: ADC_IntHFULLDis() +* 功能说明: FIFO半满中断禁止 +* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC +* uint32_t chn 要设置的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -434,11 +434,11 @@ void ADC_IntHFULLDis(ADC_TypeDef *ADCx, uint32_t chn) ADCx->IE &= ~(0x01 << (idx * 4 + 2)); } -/****************************************************************************************************************************************** -* 函数名称: ADC_IntHFULLClr() -* 功能说明: FIFO半满中断标志清除 -* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC -* uint32_t chn 要设置的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 +/****************************************************************************************************************************************** +* 函数名称: ADC_IntHFULLClr() +* 功能说明: FIFO半满中断标志清除 +* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC +* uint32_t chn 要设置的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -449,12 +449,12 @@ void ADC_IntHFULLClr(ADC_TypeDef *ADCx, uint32_t chn) ADCx->IF = (0x01 << (idx * 4 + 2)); } -/****************************************************************************************************************************************** -* 函数名称: ADC_IntHFULLStat() -* 功能说明: FIFO半满中断状态 -* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC -* uint32_t chn 要查询的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 -* 输 出: uint32_t 1 该通道完成了转换 0 该通道未完成转换 +/****************************************************************************************************************************************** +* 函数名称: ADC_IntHFULLStat() +* 功能说明: FIFO半满中断状态 +* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC +* uint32_t chn 要查询的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 +* 输 出: uint32_t 1 该通道完成了转换 0 该通道未完成转换 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t ADC_IntHFULLStat(ADC_TypeDef *ADCx, uint32_t chn) @@ -464,11 +464,11 @@ uint32_t ADC_IntHFULLStat(ADC_TypeDef *ADCx, uint32_t chn) return (ADCx->IF & (0x01 << (idx * 4 + 2))) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: ADC_IntFULLEn() -* 功能说明: FIFO满中断使能 -* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC -* uint32_t chn 要设置的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 +/****************************************************************************************************************************************** +* 函数名称: ADC_IntFULLEn() +* 功能说明: FIFO满中断使能 +* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC +* uint32_t chn 要设置的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -479,11 +479,11 @@ void ADC_IntFULLEn(ADC_TypeDef *ADCx, uint32_t chn) ADCx->IE |= (0x01 << (idx * 4 + 3)); } -/****************************************************************************************************************************************** -* 函数名称: ADC_IntFULLDis() -* 功能说明: FIFO满中断禁止 -* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC -* uint32_t chn 要设置的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 +/****************************************************************************************************************************************** +* 函数名称: ADC_IntFULLDis() +* 功能说明: FIFO满中断禁止 +* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC +* uint32_t chn 要设置的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -494,11 +494,11 @@ void ADC_IntFULLDis(ADC_TypeDef *ADCx, uint32_t chn) ADCx->IE &= ~(0x01 << (idx * 4 + 3)); } -/****************************************************************************************************************************************** -* 函数名称: ADC_IntFULLClr() -* 功能说明: FIFO满中断标志清除 -* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC -* uint32_t chn 要设置的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 +/****************************************************************************************************************************************** +* 函数名称: ADC_IntFULLClr() +* 功能说明: FIFO满中断标志清除 +* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC +* uint32_t chn 要设置的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -509,12 +509,12 @@ void ADC_IntFULLClr(ADC_TypeDef *ADCx, uint32_t chn) ADCx->IF = (0x01 << (idx * 4 + 3)); } -/****************************************************************************************************************************************** -* 函数名称: ADC_IntFULLStat() -* 功能说明: FIFO满中断状态 -* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC -* uint32_t chn 要查询的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 -* 输 出: uint32_t 1 该通道完成了转换 0 该通道未完成转换 +/****************************************************************************************************************************************** +* 函数名称: ADC_IntFULLStat() +* 功能说明: FIFO满中断状态 +* 输 入: ADC_TypeDef * ADCx 指定要被设置的ADC,可取值包括ADC +* uint32_t chn 要查询的通道,有效值ADC_CH0、ADC_CH1、... ... 、ADC_CH7 +* 输 出: uint32_t 1 该通道完成了转换 0 该通道未完成转换 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t ADC_IntFULLStat(ADC_TypeDef *ADCx, uint32_t chn) diff --git a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_can.c b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_can.c index c49ad07aca..85d1a81d07 100644 --- a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_can.c +++ b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_can.c @@ -1,18 +1,18 @@ -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 文件名称: SWM320_can.c -* 功能说明: SWM320单片机的CAN模块驱动库 -* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 -* 注意事项: -* 版本日期: V1.1.0 2017年10月25日 -* 升级记录: +* 功能说明: SWM320单片机的CAN模块驱动库 +* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 +* 注意事项: +* 版本日期: V1.1.0 2017年10月25日 +* 升级记录: * * ******************************************************************************************************************************************* * @attention * -* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION -* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE -* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT +* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION +* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE +* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * -ECTION WITH THEIR PRODUCTS. * @@ -21,11 +21,11 @@ #include "SWM320.h" #include "SWM320_can.h" -/****************************************************************************************************************************************** -* 函数名称: CAN_Init() -* 功能说明: CAN接口初始化 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN -* CAN_InitStructure * initStruct 包含CAN接口相关设定值的结构体 +/****************************************************************************************************************************************** +* 函数名称: CAN_Init() +* 功能说明: CAN接口初始化 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +* CAN_InitStructure * initStruct 包含CAN接口相关设定值的结构体 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -84,10 +84,10 @@ void CAN_Init(CAN_TypeDef *CANx, CAN_InitStructure *initStruct) } } -/****************************************************************************************************************************************** -* 函数名称: CAN_Open() -* 功能说明: CAN接口打开 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +/****************************************************************************************************************************************** +* 函数名称: CAN_Open() +* 功能说明: CAN接口打开 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -96,10 +96,10 @@ void CAN_Open(CAN_TypeDef *CANx) CANx->CR &= ~(0x01 << CAN_CR_RST_Pos); //退出复位模式,进入工作模式 } -/****************************************************************************************************************************************** -* 函数名称: CAN_Close() -* 功能说明: CAN接口关闭 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +/****************************************************************************************************************************************** +* 函数名称: CAN_Close() +* 功能说明: CAN接口关闭 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -108,15 +108,15 @@ void CAN_Close(CAN_TypeDef *CANx) CANx->CR |= (0x01 << CAN_CR_RST_Pos); //进入复位模式,不能发送和接收数据 } -/****************************************************************************************************************************************** -* 函数名称: CAN_Transmit() -* 功能说明: CAN发送数据 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN -* uint32_t format CAN_FRAME_STD 标准帧 CAN_FRAME_EXT 扩展帧 -* uint32_t id 消息ID -* uint8_t data[] 要发送的数据 -* uint32_t size 要发送的数据的个数 -* uint32_t once 只发送一次,即使发送失败(仲裁丢失、发送出错、NAK)也不尝试重发 +/****************************************************************************************************************************************** +* 函数名称: CAN_Transmit() +* 功能说明: CAN发送数据 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +* uint32_t format CAN_FRAME_STD 标准帧 CAN_FRAME_EXT 扩展帧 +* uint32_t id 消息ID +* uint8_t data[] 要发送的数据 +* uint32_t size 要发送的数据的个数 +* uint32_t once 只发送一次,即使发送失败(仲裁丢失、发送出错、NAK)也不尝试重发 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -172,13 +172,13 @@ void CAN_Transmit(CAN_TypeDef *CANx, uint32_t format, uint32_t id, uint8_t data[ } } -/****************************************************************************************************************************************** -* 函数名称: CAN_TransmitRequest() -* 功能说明: CAN发送远程请求,请求远程节点发送数据 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN -* uint32_t format CAN_FRAME_STD 标准帧 CAN_FRAME_EXT 扩展帧 -* uint32_t id 消息ID -* uint32_t once 只发送一次,即使发送失败(仲裁丢失、发送出错、NAK)也不尝试重发 +/****************************************************************************************************************************************** +* 函数名称: CAN_TransmitRequest() +* 功能说明: CAN发送远程请求,请求远程节点发送数据 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +* uint32_t format CAN_FRAME_STD 标准帧 CAN_FRAME_EXT 扩展帧 +* uint32_t id 消息ID +* uint32_t once 只发送一次,即使发送失败(仲裁丢失、发送出错、NAK)也不尝试重发 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -215,11 +215,11 @@ void CAN_TransmitRequest(CAN_TypeDef *CANx, uint32_t format, uint32_t id, uint32 } } -/****************************************************************************************************************************************** -* 函数名称: CAN_Receive() -* 功能说明: CAN接收数据 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN -* CAN_RXMessage *msg 接收到的消息存储在此结构体变量中 +/****************************************************************************************************************************************** +* 函数名称: CAN_Receive() +* 功能说明: CAN接收数据 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +* CAN_RXMessage *msg 接收到的消息存储在此结构体变量中 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -253,11 +253,11 @@ void CAN_Receive(CAN_TypeDef *CANx, CAN_RXMessage *msg) CANx->CMD = (1 << CAN_CMD_RRB_Pos); } -/****************************************************************************************************************************************** -* 函数名称: CAN_TXComplete() -* 功能说明: 发送是否完成 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN -* 输 出: uint32_t 1 已经完成 0 还未完成 +/****************************************************************************************************************************************** +* 函数名称: CAN_TXComplete() +* 功能说明: 发送是否完成 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +* 输 出: uint32_t 1 已经完成 0 还未完成 * 注意事项: 发送被Abort也会触发发送完成,但不会触发发送成功 ******************************************************************************************************************************************/ uint32_t CAN_TXComplete(CAN_TypeDef *CANx) @@ -265,11 +265,11 @@ uint32_t CAN_TXComplete(CAN_TypeDef *CANx) return (CANx->SR & CAN_SR_TXBR_Msk) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: CAN_TXSuccess() -* 功能说明: 发送是否成功 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN -* 输 出: uint32_t 1 发送成功 0 发送失败 +/****************************************************************************************************************************************** +* 函数名称: CAN_TXSuccess() +* 功能说明: 发送是否成功 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +* 输 出: uint32_t 1 发送成功 0 发送失败 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t CAN_TXSuccess(CAN_TypeDef *CANx) @@ -277,10 +277,10 @@ uint32_t CAN_TXSuccess(CAN_TypeDef *CANx) return (CANx->SR & CAN_SR_TXOK_Msk) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: CAN_AbortTransmit() -* 功能说明: 终止发送 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +/****************************************************************************************************************************************** +* 函数名称: CAN_AbortTransmit() +* 功能说明: 终止发送 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN * 输 出: 无 * 注意事项: 正在进行的发送无法终止,但执行此命令后若发送失败不会再重发 ******************************************************************************************************************************************/ @@ -289,11 +289,11 @@ void CAN_AbortTransmit(CAN_TypeDef *CANx) CANx->CMD = (1 << CAN_CMD_ABTTX_Pos); } -/****************************************************************************************************************************************** -* 函数名称: CAN_TXBufferReady() -* 功能说明: TX Buffer是否准备好可以写入消息 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN -* 输 出: uint32_t 1 已准备好 0 未准备好 +/****************************************************************************************************************************************** +* 函数名称: CAN_TXBufferReady() +* 功能说明: TX Buffer是否准备好可以写入消息 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +* 输 出: uint32_t 1 已准备好 0 未准备好 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t CAN_TXBufferReady(CAN_TypeDef *CANx) @@ -301,11 +301,11 @@ uint32_t CAN_TXBufferReady(CAN_TypeDef *CANx) return (CANx->SR & CAN_SR_TXBR_Msk) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: CAN_RXDataAvailable() -* 功能说明: RX FIFO中是否有数据可读出 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN -* 输 出: uint32_t 1 有数据可读出 0 没有数据 +/****************************************************************************************************************************************** +* 函数名称: CAN_RXDataAvailable() +* 功能说明: RX FIFO中是否有数据可读出 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +* 输 出: uint32_t 1 有数据可读出 0 没有数据 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t CAN_RXDataAvailable(CAN_TypeDef *CANx) @@ -313,14 +313,14 @@ uint32_t CAN_RXDataAvailable(CAN_TypeDef *CANx) return (CANx->SR & CAN_SR_RXDA_Msk) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: CAN_SetBaudrate() -* 功能说明: 设置波特率 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN -* uint32_t baudrate 波特率,即位传输速率 -* uint32_t CAN_BS1 CAN_BS1_1tq、CAN_BS1_2tq、... ... 、CAN_BS1_16tq -* uint32_t CAN_BS2 CAN_BS2_1tq、CAN_BS2_2tq、... ... 、CAN_BS2_8tq -* uint32_t CAN_SJW CAN_SJW_1tq、CAN_SJW_2tq、CAN_SJW_3tq、CAN_SJW_4tq +/****************************************************************************************************************************************** +* 函数名称: CAN_SetBaudrate() +* 功能说明: 设置波特率 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +* uint32_t baudrate 波特率,即位传输速率 +* uint32_t CAN_BS1 CAN_BS1_1tq、CAN_BS1_2tq、... ... 、CAN_BS1_16tq +* uint32_t CAN_BS2 CAN_BS2_1tq、CAN_BS2_2tq、... ... 、CAN_BS2_8tq +* uint32_t CAN_SJW CAN_SJW_1tq、CAN_SJW_2tq、CAN_SJW_3tq、CAN_SJW_4tq * 输 出: 无 * 注意事项: 设置前需要先调用CAN_Close()关闭CAN模块 ******************************************************************************************************************************************/ @@ -334,12 +334,12 @@ void CAN_SetBaudrate(CAN_TypeDef *CANx, uint32_t baudrate, uint32_t CAN_BS1, uin ((SystemCoreClock / 2 / baudrate / (1 + (CAN_BS1 + 1) + (CAN_BS2 + 1)) - 1) << CAN_BT0_BRP_Pos); } -/****************************************************************************************************************************************** -* 函数名称: CAN_SetFilter32b() -* 功能说明: 设置接收滤波器,1个32位滤波器 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN -* uint32_t check 与mask一起决定了接收到的Message是否是自己需要的:check & (~mask) == ID & (~mask)的Message通过过滤 -* uint32_t mask +/****************************************************************************************************************************************** +* 函数名称: CAN_SetFilter32b() +* 功能说明: 设置接收滤波器,1个32位滤波器 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +* uint32_t check 与mask一起决定了接收到的Message是否是自己需要的:check & (~mask) == ID & (~mask)的Message通过过滤 +* uint32_t mask * 输 出: 无 * 注意事项: 设置前需要先调用CAN_Close()关闭CAN模块 ******************************************************************************************************************************************/ @@ -359,14 +359,14 @@ void CAN_SetFilter32b(CAN_TypeDef *CANx, uint32_t check, uint32_t mask) CANx->FILTER.ACR[0] = (check >> 24) & 0xFF; } -/****************************************************************************************************************************************** -* 函数名称: CAN_SetFilter16b() -* 功能说明: 设置接收滤波器,2个16位滤波器 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN -* uint16_t check1 与mask一起决定了接收到的Message是否是自己需要的:check & (~mask) == ID & (~mask)的Message通过过滤 -* uint16_t mask1 -* uint16_t check2 -* uint16_t mask2 +/****************************************************************************************************************************************** +* 函数名称: CAN_SetFilter16b() +* 功能说明: 设置接收滤波器,2个16位滤波器 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +* uint16_t check1 与mask一起决定了接收到的Message是否是自己需要的:check & (~mask) == ID & (~mask)的Message通过过滤 +* uint16_t mask1 +* uint16_t check2 +* uint16_t mask2 * 输 出: 无 * 注意事项: 设置前需要先调用CAN_Close()关闭CAN模块 ******************************************************************************************************************************************/ @@ -386,10 +386,10 @@ void CAN_SetFilter16b(CAN_TypeDef *CANx, uint16_t check1, uint16_t mask1, uint16 CANx->FILTER.ACR[0] = (check2 >> 8) & 0xFF; } -/****************************************************************************************************************************************** -* 函数名称: CAN_INTRXNotEmptyEn() -* 功能说明: 当RX FIFO中有数据时(非空)触发中断使能 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +/****************************************************************************************************************************************** +* 函数名称: CAN_INTRXNotEmptyEn() +* 功能说明: 当RX FIFO中有数据时(非空)触发中断使能 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -398,10 +398,10 @@ void CAN_INTRXNotEmptyEn(CAN_TypeDef *CANx) CANx->IE |= (1 << CAN_IE_RXDA_Pos); } -/****************************************************************************************************************************************** -* 函数名称: CAN_INTRXNotEmptyDis() -* 功能说明: 当RX FIFO中有数据时(非空)触发中断禁止 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +/****************************************************************************************************************************************** +* 函数名称: CAN_INTRXNotEmptyDis() +* 功能说明: 当RX FIFO中有数据时(非空)触发中断禁止 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -410,10 +410,10 @@ void CAN_INTRXNotEmptyDis(CAN_TypeDef *CANx) CANx->IE &= ~(1 << CAN_IE_RXDA_Pos); } -/****************************************************************************************************************************************** -* 函数名称: CAN_INTTXBufEmptyEn() -* 功能说明: 当TX Buffer空时触发中断使能 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +/****************************************************************************************************************************************** +* 函数名称: CAN_INTTXBufEmptyEn() +* 功能说明: 当TX Buffer空时触发中断使能 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -422,10 +422,10 @@ void CAN_INTTXBufEmptyEn(CAN_TypeDef *CANx) CANx->IE |= (1 << CAN_IE_TXBR_Pos); } -/****************************************************************************************************************************************** -* 函数名称: CAN_INTTXBufEmptyDis() -* 功能说明: 当TX Buffer空时触发中断禁止 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +/****************************************************************************************************************************************** +* 函数名称: CAN_INTTXBufEmptyDis() +* 功能说明: 当TX Buffer空时触发中断禁止 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -434,10 +434,10 @@ void CAN_INTTXBufEmptyDis(CAN_TypeDef *CANx) CANx->IE &= ~(1 << CAN_IE_TXBR_Pos); } -/****************************************************************************************************************************************** -* 函数名称: CAN_INTErrWarningEn() -* 功能说明: TXERR/RXERR计数值达到Error Warning Limit时触发中断使能 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +/****************************************************************************************************************************************** +* 函数名称: CAN_INTErrWarningEn() +* 功能说明: TXERR/RXERR计数值达到Error Warning Limit时触发中断使能 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -446,10 +446,10 @@ void CAN_INTErrWarningEn(CAN_TypeDef *CANx) CANx->IE |= (1 << CAN_IE_ERRWARN_Pos); } -/****************************************************************************************************************************************** -* 函数名称: CAN_INTErrWarningDis() -* 功能说明: TXERR/RXERR计数值达到Error Warning Limit时触发中断禁止 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +/****************************************************************************************************************************************** +* 函数名称: CAN_INTErrWarningDis() +* 功能说明: TXERR/RXERR计数值达到Error Warning Limit时触发中断禁止 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -458,10 +458,10 @@ void CAN_INTErrWarningDis(CAN_TypeDef *CANx) CANx->IE &= ~(1 << CAN_IE_ERRWARN_Pos); } -/****************************************************************************************************************************************** -* 函数名称: CAN_INTRXOverflowEn() -* 功能说明: RX FIFO 溢出时触发中断使能 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +/****************************************************************************************************************************************** +* 函数名称: CAN_INTRXOverflowEn() +* 功能说明: RX FIFO 溢出时触发中断使能 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -470,10 +470,10 @@ void CAN_INTRXOverflowEn(CAN_TypeDef *CANx) CANx->IE |= (1 << CAN_IE_RXOV_Pos); } -/****************************************************************************************************************************************** -* 函数名称: CAN_INTRXOverflowDis() -* 功能说明: RX FIFO 溢出时触发中断禁止 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +/****************************************************************************************************************************************** +* 函数名称: CAN_INTRXOverflowDis() +* 功能说明: RX FIFO 溢出时触发中断禁止 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -482,10 +482,10 @@ void CAN_INTRXOverflowDis(CAN_TypeDef *CANx) CANx->IE &= ~(1 << CAN_IE_RXOV_Pos); } -/****************************************************************************************************************************************** -* 函数名称: CAN_INTRXOverflowClear() -* 功能说明: RX FIFO 溢出中断清除 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +/****************************************************************************************************************************************** +* 函数名称: CAN_INTRXOverflowClear() +* 功能说明: RX FIFO 溢出中断清除 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -494,10 +494,10 @@ void CAN_INTRXOverflowClear(CAN_TypeDef *CANx) CANx->CMD = (1 << CAN_CMD_CLROV_Pos); } -/****************************************************************************************************************************************** -* 函数名称: CAN_INTWakeupEn() -* 功能说明: 唤醒事件触发中断使能 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +/****************************************************************************************************************************************** +* 函数名称: CAN_INTWakeupEn() +* 功能说明: 唤醒事件触发中断使能 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -506,10 +506,10 @@ void CAN_INTWakeupEn(CAN_TypeDef *CANx) CANx->IE |= (1 << CAN_IE_WKUP_Pos); } -/****************************************************************************************************************************************** -* 函数名称: CAN_INTWakeupDis() -* 功能说明: 唤醒事件触发中断禁止 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +/****************************************************************************************************************************************** +* 函数名称: CAN_INTWakeupDis() +* 功能说明: 唤醒事件触发中断禁止 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -518,10 +518,10 @@ void CAN_INTWakeupDis(CAN_TypeDef *CANx) CANx->IE &= ~(1 << CAN_IE_WKUP_Pos); } -/****************************************************************************************************************************************** -* 函数名称: CAN_INTErrPassiveEn() -* 功能说明: TXERR/RXERR计数值达到127时中断使能 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +/****************************************************************************************************************************************** +* 函数名称: CAN_INTErrPassiveEn() +* 功能说明: TXERR/RXERR计数值达到127时中断使能 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -530,10 +530,10 @@ void CAN_INTErrPassiveEn(CAN_TypeDef *CANx) CANx->IE |= (1 << CAN_IE_ERRPASS_Pos); } -/****************************************************************************************************************************************** -* 函数名称: CAN_INTErrPassiveDis() -* 功能说明: TXERR/RXERR计数值达到127时中断禁止 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +/****************************************************************************************************************************************** +* 函数名称: CAN_INTErrPassiveDis() +* 功能说明: TXERR/RXERR计数值达到127时中断禁止 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -542,10 +542,10 @@ void CAN_INTErrPassiveDis(CAN_TypeDef *CANx) CANx->IE &= ~(1 << CAN_IE_ERRPASS_Pos); } -/****************************************************************************************************************************************** -* 函数名称: CAN_INTArbitrLostEn() -* 功能说明: 仲裁失败中断使能 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +/****************************************************************************************************************************************** +* 函数名称: CAN_INTArbitrLostEn() +* 功能说明: 仲裁失败中断使能 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -554,10 +554,10 @@ void CAN_INTArbitrLostEn(CAN_TypeDef *CANx) CANx->IE |= (1 << CAN_IE_ARBLOST_Pos); } -/****************************************************************************************************************************************** -* 函数名称: CAN_INTArbitrLostDis() -* 功能说明: 仲裁失败中断禁止 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +/****************************************************************************************************************************************** +* 函数名称: CAN_INTArbitrLostDis() +* 功能说明: 仲裁失败中断禁止 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -566,10 +566,10 @@ void CAN_INTArbitrLostDis(CAN_TypeDef *CANx) CANx->IE &= ~(1 << CAN_IE_ARBLOST_Pos); } -/****************************************************************************************************************************************** -* 函数名称: CAN_INTBusErrorEn() -* 功能说明: 总线错误中断使能 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +/****************************************************************************************************************************************** +* 函数名称: CAN_INTBusErrorEn() +* 功能说明: 总线错误中断使能 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -578,10 +578,10 @@ void CAN_INTBusErrorEn(CAN_TypeDef *CANx) CANx->IE |= (1 << CAN_IE_BUSERR_Pos); } -/****************************************************************************************************************************************** -* 函数名称: CAN_INTBusErrorDis() -* 功能说明: 总线错误中断禁止 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +/****************************************************************************************************************************************** +* 函数名称: CAN_INTBusErrorDis() +* 功能说明: 总线错误中断禁止 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -590,11 +590,11 @@ void CAN_INTBusErrorDis(CAN_TypeDef *CANx) CANx->IE &= ~(1 << CAN_IE_BUSERR_Pos); } -/****************************************************************************************************************************************** -* 函数名称: CAN_INTStat() -* 功能说明: 查询中断状态 -* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN -* 输 出: uint32_t 当前中断状态 +/****************************************************************************************************************************************** +* 函数名称: CAN_INTStat() +* 功能说明: 查询中断状态 +* 输 入: CAN_TypeDef * CANx 指定要被设置的CAN接口,有效值包括CAN +* 输 出: uint32_t 当前中断状态 * 注意事项: CANx->IF读取清零,因此在中断ISR中只能读取一次,不能多次读取 ******************************************************************************************************************************************/ uint32_t CAN_INTStat(CAN_TypeDef *CANx) diff --git a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_crc.c b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_crc.c index d07cd28689..1255d3093e 100644 --- a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_crc.c +++ b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_crc.c @@ -1,18 +1,18 @@ -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 文件名称: SWM320_crc.c -* 功能说明: SWM320单片机的CRC模块驱动库 -* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 -* 注意事项: -* 版本日期: V1.1.0 2017年10月25日 -* 升级记录: +* 功能说明: SWM320单片机的CRC模块驱动库 +* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 +* 注意事项: +* 版本日期: V1.1.0 2017年10月25日 +* 升级记录: * * ******************************************************************************************************************************************* * @attention * -* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION -* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE -* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT +* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION +* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE +* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * -ECTION WITH THEIR PRODUCTS. * @@ -21,14 +21,14 @@ #include "SWM320.h" #include "SWM320_crc.h" -/****************************************************************************************************************************************** -* 函数名称: CRC_Init() -* 功能说明: CRC 初始化 -* 输 入: CRC_TypeDef * CRCx 指定要被设置的CRC接口,有效值包括CRC -* uint32_t mode 工作模式,有效值有:CRC32_IN32、CRC32_IN16、CRC32_IN8、CRC16_IN16、CRC16_IN8 -* uint32_t out_not 输出结果是否取反 -* uint32_t out_rev 输出结果是否翻转 -* uint32_t ini_val CRC初始值 +/****************************************************************************************************************************************** +* 函数名称: CRC_Init() +* 功能说明: CRC 初始化 +* 输 入: CRC_TypeDef * CRCx 指定要被设置的CRC接口,有效值包括CRC +* uint32_t mode 工作模式,有效值有:CRC32_IN32、CRC32_IN16、CRC32_IN8、CRC16_IN16、CRC16_IN8 +* uint32_t out_not 输出结果是否取反 +* uint32_t out_rev 输出结果是否翻转 +* uint32_t ini_val CRC初始值 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ diff --git a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_crc.h b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_crc.h index 639db18cd0..54de1301b2 100644 --- a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_crc.h +++ b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_crc.h @@ -9,10 +9,10 @@ void CRC_Init(CRC_TypeDef *CRCx, uint32_t mode, uint32_t out_not, uint32_t out_rev, uint32_t ini_val); -/****************************************************************************************************************************************** -* 函数名称: CRC_Write() -* 功能说明: CRC写入数据 -* 输 入: uint32_t data 要写入的数据 +/****************************************************************************************************************************************** +* 函数名称: CRC_Write() +* 功能说明: CRC写入数据 +* 输 入: uint32_t data 要写入的数据 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -21,11 +21,11 @@ static __INLINE void CRC_Write(uint32_t data) CRC->DATAIN = data; } -/****************************************************************************************************************************************** -* 函数名称: CRC_Result() -* 功能说明: 获取CRC计算结果 +/****************************************************************************************************************************************** +* 函数名称: CRC_Result() +* 功能说明: 获取CRC计算结果 * 输 入: 无 -* 输 出: uint32_t CRC 计算结果 +* 输 出: uint32_t CRC 计算结果 * 注意事项: 无 ******************************************************************************************************************************************/ static __INLINE uint32_t CRC_Result(void) diff --git a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_dma.c b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_dma.c index b52e8b5f39..70e7ac559b 100644 --- a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_dma.c +++ b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_dma.c @@ -1,18 +1,18 @@ -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 文件名称: SWM320_dma.c -* 功能说明: SWM320单片机的DMA功能驱动库 -* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 -* 注意事项: -* 版本日期: V1.1.0 2017年10月25日 -* 升级记录: +* 功能说明: SWM320单片机的DMA功能驱动库 +* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 +* 注意事项: +* 版本日期: V1.1.0 2017年10月25日 +* 升级记录: * * ******************************************************************************************************************************************* * @attention * -* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION -* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE -* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT +* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION +* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE +* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * -ECTION WITH THEIR PRODUCTS. * @@ -21,16 +21,16 @@ #include "SWM320.h" #include "SWM320_dma.h" -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: DMA_CHM_Config() -* 功能说明: DMA通道配置,用于存储器间(如Flash和RAM间)搬运数据 -* 输 入: uint32_t chn 指定要配置的通道,有效值有DMA_CH0、DMA_CH1、DMA_CH2 -* uint32_t src_addr 源地址,必须字对齐,即地址的最低2位必须是00 -* uint32_t src_addr_incr 0 固定地址 1 地址递增 -* uint32_t dst_addr 目的地址,必须字对齐,即地址的最低2位必须是00 -* uint32_t dst_addr_incr 0 固定地址 1 地址递增 -* uint32_t num_word 要搬运的数据字数,最大1024 -* uint32_t int_en 中断使能,1 数据搬运完成后产生中断 0 数据搬运完成后不产生中断 +* 功能说明: DMA通道配置,用于存储器间(如Flash和RAM间)搬运数据 +* 输 入: uint32_t chn 指定要配置的通道,有效值有DMA_CH0、DMA_CH1、DMA_CH2 +* uint32_t src_addr 源地址,必须字对齐,即地址的最低2位必须是00 +* uint32_t src_addr_incr 0 固定地址 1 地址递增 +* uint32_t dst_addr 目的地址,必须字对齐,即地址的最低2位必须是00 +* uint32_t dst_addr_incr 0 固定地址 1 地址递增 +* uint32_t num_word 要搬运的数据字数,最大1024 +* uint32_t int_en 中断使能,1 数据搬运完成后产生中断 0 数据搬运完成后不产生中断 * 输 出: 无 * 注意事项: 搬运数据量以字为单元,不是字节 ******************************************************************************************************************************************/ @@ -67,10 +67,10 @@ void DMA_CHM_Config(uint32_t chn, uint32_t src_addr, uint32_t src_addr_incr, uin } } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: DMA_CH_Open() -* 功能说明: DMA通道打开 -* 输 入: uint32_t chn 指定要配置的通道,有效值有DMA_CH0、DMA_CH1、DMA_CH2 +* 功能说明: DMA通道打开 +* 输 入: uint32_t chn 指定要配置的通道,有效值有DMA_CH0、DMA_CH1、DMA_CH2 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -79,10 +79,10 @@ void DMA_CH_Open(uint32_t chn) DMA->CH[chn].CR |= (1 << DMA_CR_TXEN_Pos); } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: DMA_CH_Close() -* 功能说明: DMA通道关闭 -* 输 入: uint32_t chn 指定要配置的通道,有效值有DMA_CH0、DMA_CH1、DMA_CH2 +* 功能说明: DMA通道关闭 +* 输 入: uint32_t chn 指定要配置的通道,有效值有DMA_CH0、DMA_CH1、DMA_CH2 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -91,10 +91,10 @@ void DMA_CH_Close(uint32_t chn) DMA->CH[chn].CR &= ~(1 << DMA_CR_TXEN_Pos); } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: DMA_CH_INTEn() -* 功能说明: DMA中断使能,数据搬运完成后触发中断 -* 输 入: uint32_t chn 指定要配置的通道,有效值有DMA_CH0、DMA_CH1、DMA_CH2 +* 功能说明: DMA中断使能,数据搬运完成后触发中断 +* 输 入: uint32_t chn 指定要配置的通道,有效值有DMA_CH0、DMA_CH1、DMA_CH2 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -103,10 +103,10 @@ void DMA_CH_INTEn(uint32_t chn) DMA->IM &= ~(1 << chn); } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: DMA_CH_INTDis() -* 功能说明: DMA中断禁止,数据搬运完成后不触发中断 -* 输 入: uint32_t chn 指定要配置的通道,有效值有DMA_CH0、DMA_CH1、DMA_CH2 +* 功能说明: DMA中断禁止,数据搬运完成后不触发中断 +* 输 入: uint32_t chn 指定要配置的通道,有效值有DMA_CH0、DMA_CH1、DMA_CH2 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -115,10 +115,10 @@ void DMA_CH_INTDis(uint32_t chn) DMA->IM |= (1 << chn); } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: DMA_CH_INTClr() -* 功能说明: DMA中断标志清除 -* 输 入: uint32_t chn 指定要配置的通道,有效值有DMA_CH0、DMA_CH1、DMA_CH2 +* 功能说明: DMA中断标志清除 +* 输 入: uint32_t chn 指定要配置的通道,有效值有DMA_CH0、DMA_CH1、DMA_CH2 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -127,11 +127,11 @@ void DMA_CH_INTClr(uint32_t chn) DMA->IF = (1 << chn); } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: DMA_CH_INTStat() -* 功能说明: DMA中断状态查询 -* 输 入: uint32_t chn 指定要配置的通道,有效值有DMA_CH0、DMA_CH1、DMA_CH2 -* 输 出: uint32_t 1 数据搬运完成 0 数据搬运未完成 +* 功能说明: DMA中断状态查询 +* 输 入: uint32_t chn 指定要配置的通道,有效值有DMA_CH0、DMA_CH1、DMA_CH2 +* 输 出: uint32_t 1 数据搬运完成 0 数据搬运未完成 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t DMA_CH_INTStat(uint32_t chn) diff --git a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_exti.c b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_exti.c index f4a15e8c2c..6bebc75601 100644 --- a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_exti.c +++ b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_exti.c @@ -1,34 +1,34 @@ -/****************************************************************************************************************************************** -* 文件名称: SWM320_exti.c -* 功能说明: SWM320单片机的外部中断功能驱动库 +/****************************************************************************************************************************************** +* 文件名称: SWM320_exti.c +* 功能说明: SWM320单片机的外部中断功能驱动库 * 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 * 注意事项: -* 版本日期: V1.1.0 2017年10月25日 -* 升级记录: +* 版本日期: V1.1.0 2017年10月25日 +* 升级记录: * ******************************************************************************************************************************************* * @attention * -* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION -* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE -* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT +* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION +* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE +* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * -ECTION WITH THEIR PRODUCTS. * -* COPYRIGHT 2012 Synwit Technology +* COPYRIGHT 2012 Synwit Technology *******************************************************************************************************************************************/ #include "SWM320.h" #include "SWM320_exti.h" -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: EXTI_Init() -* 功能说明: 指定引脚外部中断初始化 -* 输 入: GPIO_TypeDef * GPIOx 指定产生外部中断的GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP -* uint32_t n 指定产生外部中断的GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 -* uint32_t mode 有效值有EXTI_FALL_EDGE、EXTI_RISE_EDGE、EXTI_BOTH_EDGE、EXTI_LOW_LEVEL、EXTI_HIGH_LEVEL +* 功能说明: 指定引脚外部中断初始化 +* 输 入: GPIO_TypeDef * GPIOx 指定产生外部中断的GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP +* uint32_t n 指定产生外部中断的GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 +* uint32_t mode 有效值有EXTI_FALL_EDGE、EXTI_RISE_EDGE、EXTI_BOTH_EDGE、EXTI_LOW_LEVEL、EXTI_HIGH_LEVEL * 输 出: 无 * 注意事项: 由于GPIOA、GPIOB、GPIOC、GPIOM的PIN0--7引脚即可以接入NVIC中的引脚中断(如GPIOA0_IRQn),也可以接入NVIC的组中断(GPIOA_IRQn), -* 所以不在此函数中调用NVIC_EnableIRQ()使能NVIC中断,从而可以根据需要调用NVIC_EnableIRQ(GPIOA0_IRQn)和NVIC_EnableIRQ(GPIOA_IRQn) +* 所以不在此函数中调用NVIC_EnableIRQ()使能NVIC中断,从而可以根据需要调用NVIC_EnableIRQ(GPIOA0_IRQn)和NVIC_EnableIRQ(GPIOA_IRQn) ******************************************************************************************************************************************/ void EXTI_Init(GPIO_TypeDef *GPIOx, uint32_t n, uint32_t mode) { @@ -65,11 +65,11 @@ void EXTI_Init(GPIO_TypeDef *GPIOx, uint32_t n, uint32_t mode) GPIOx->INTCLR = (1 << n); //清除掉因为模式配置可能产生的中断 } -/****************************************************************************************************************************************** -* 函数名称: EXTI_Open() -* 功能说明: 指定引脚外部中断打开(即使能) -* 输 入: GPIO_TypeDef * GPIOx 指定产生外部中断的GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP -* uint32_t n 指定产生外部中断的GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 +/****************************************************************************************************************************************** +* 函数名称: EXTI_Open() +* 功能说明: 指定引脚外部中断打开(即使能) +* 输 入: GPIO_TypeDef * GPIOx 指定产生外部中断的GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP +* uint32_t n 指定产生外部中断的GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -78,11 +78,11 @@ void EXTI_Open(GPIO_TypeDef *GPIOx, uint32_t n) GPIOx->INTEN |= (0x01 << n); } -/****************************************************************************************************************************************** -* 函数名称: EXTI_Close() -* 功能说明: 指定引脚外部中断关闭(即禁能) -* 输 入: GPIO_TypeDef * GPIOx 指定产生外部中断的GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP -* uint32_t n 指定产生外部中断的GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 +/****************************************************************************************************************************************** +* 函数名称: EXTI_Close() +* 功能说明: 指定引脚外部中断关闭(即禁能) +* 输 入: GPIO_TypeDef * GPIOx 指定产生外部中断的GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP +* uint32_t n 指定产生外部中断的GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -91,12 +91,12 @@ void EXTI_Close(GPIO_TypeDef *GPIOx, uint32_t n) GPIOx->INTEN &= ~(0x01 << n); } -/****************************************************************************************************************************************** -* 函数名称: EXTI_State() -* 功能说明: 指定引脚是否触发了中断 -* 输 入: GPIO_TypeDef * GPIOx 指定产生外部中断的GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP -* uint32_t n 指定产生外部中断的GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 -* 输 出: uint32_t 1 此引脚触发了中断 0 此引脚未触发中断 +/****************************************************************************************************************************************** +* 函数名称: EXTI_State() +* 功能说明: 指定引脚是否触发了中断 +* 输 入: GPIO_TypeDef * GPIOx 指定产生外部中断的GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP +* uint32_t n 指定产生外部中断的GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 +* 输 出: uint32_t 1 此引脚触发了中断 0 此引脚未触发中断 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t EXTI_State(GPIO_TypeDef *GPIOx, uint32_t n) @@ -104,12 +104,12 @@ uint32_t EXTI_State(GPIO_TypeDef *GPIOx, uint32_t n) return (GPIOx->INTSTAT >> n) & 0x01; } -/****************************************************************************************************************************************** -* 函数名称: EXTI_RawState() -* 功能说明: 指定引脚是否满足过/了中断触发条件,当此中断关闭时可通过调用此函数以查询的方式检测引脚上是否满足过/了中断触发条件 -* 输 入: GPIO_TypeDef * GPIOx 指定产生外部中断的GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP -* uint32_t n 指定产生外部中断的GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 -* 输 出: uint32_t 1 此引脚满足过/了中断触发条件 0 此引脚未满足过/了中断触发条件 +/****************************************************************************************************************************************** +* 函数名称: EXTI_RawState() +* 功能说明: 指定引脚是否满足过/了中断触发条件,当此中断关闭时可通过调用此函数以查询的方式检测引脚上是否满足过/了中断触发条件 +* 输 入: GPIO_TypeDef * GPIOx 指定产生外部中断的GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP +* uint32_t n 指定产生外部中断的GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 +* 输 出: uint32_t 1 此引脚满足过/了中断触发条件 0 此引脚未满足过/了中断触发条件 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t EXTI_RawState(GPIO_TypeDef *GPIOx, uint32_t n) @@ -117,11 +117,11 @@ uint32_t EXTI_RawState(GPIO_TypeDef *GPIOx, uint32_t n) return (GPIOx->INTRAWSTAT >> n) & 0x01; } -/****************************************************************************************************************************************** -* 函数名称: EXTI_Clear() -* 功能说明: 指定引脚外部中断清除(即清除中断标志,以免再次进入此中断) -* 输 入: GPIO_TypeDef * GPIOx 指定产生外部中断的GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP -* uint32_t n 指定产生外部中断的GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 +/****************************************************************************************************************************************** +* 函数名称: EXTI_Clear() +* 功能说明: 指定引脚外部中断清除(即清除中断标志,以免再次进入此中断) +* 输 入: GPIO_TypeDef * GPIOx 指定产生外部中断的GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP +* uint32_t n 指定产生外部中断的GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 * 输 出: 无 * 注意事项: 只能清除边沿触发中断的标志,电平触发中断的标志无法清除,只能在引脚电平不符合中断触发条件后硬件自动清除 ******************************************************************************************************************************************/ diff --git a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_flash.c b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_flash.c index 0d2b19812f..6cb6e125d4 100644 --- a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_flash.c +++ b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_flash.c @@ -1,20 +1,20 @@ -/****************************************************************************************************************************************** -* 文件名称: SWM320_flash.c -* 功能说明: 使用芯片的IAP功能将片上Flash模拟成EEPROM来保存数据,掉电后不丢失 -* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 +/****************************************************************************************************************************************** +* 文件名称: SWM320_flash.c +* 功能说明: 使用芯片的IAP功能将片上Flash模拟成EEPROM来保存数据,掉电后不丢失 +* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 * 注意事项: -* 版本日期: V1.1.0 2017年10月25日 -* 升级记录: +* 版本日期: V1.1.0 2017年10月25日 +* 升级记录: ******************************************************************************************************************************************* * @attention * -* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION -* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE -* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT +* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION +* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE +* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * -ECTION WITH THEIR PRODUCTS. * -* COPYRIGHT 2012 Synwit Technology +* COPYRIGHT 2012 Synwit Technology *******************************************************************************************************************************************/ #include "SWM320.h" #include "SWM320_flash.h" @@ -24,10 +24,10 @@ IAP_Flash_Param_t IAP_Flash_Param = (IAP_Flash_Param_t)0x11000681; IAP_Flash_Erase_t IAP_Flash_Erase = (IAP_Flash_Erase_t)0x11000781; IAP_Flash_Write_t IAP_Flash_Write = (IAP_Flash_Write_t)0x11000801; -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: FLASH_Erase() -* 功能说明: 片内Flash擦除 -* 输 入: uint32_t addr 擦除地址,扇区大小为4K Byte +* 功能说明: 片内Flash擦除 +* 输 入: uint32_t addr 擦除地址,扇区大小为4K Byte * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -42,12 +42,12 @@ void FLASH_Erase(uint32_t addr) __enable_irq(); } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: FLASH_Write() -* 功能说明: 片内Flash写入 -* 输 入: uint32_t addr 写入地址 -* uint32_t buff[] 要写入的数据 -* uint32_t count 要写入数据的个数,以字为单位,且必须是4的整数倍,即最少写入4个字 +* 功能说明: 片内Flash写入 +* 输 入: uint32_t addr 写入地址 +* uint32_t buff[] 要写入的数据 +* uint32_t count 要写入数据的个数,以字为单位,且必须是4的整数倍,即最少写入4个字 * 输 出: 无 * 注意事项: 写入数据个数必须是4的整数倍,即最少写入4个字 ******************************************************************************************************************************************/ @@ -62,10 +62,10 @@ void FLASH_Write(uint32_t addr, uint32_t buff[], uint32_t count) __enable_irq(); } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: Flash_Param_at_xMHz() -* 功能说明: 将Flash参数设置成xMHz主频下运行时所需的参数 -* 输 入: uint32_t x 可取值 +* 功能说明: 将Flash参数设置成xMHz主频下运行时所需的参数 +* 输 入: uint32_t x 可取值 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ diff --git a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_gpio.c b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_gpio.c index d0d5f728c5..5ec03c48f6 100644 --- a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_gpio.c +++ b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_gpio.c @@ -1,34 +1,34 @@ -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 文件名称: SWM320_gpio.c -* 功能说明: SWM320单片机的通用输入输出功能驱动库 -* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 +* 功能说明: SWM320单片机的通用输入输出功能驱动库 +* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 * 注意事项: -* 版本日期: V1.1.0 2017年10月25日 -* 升级记录: +* 版本日期: V1.1.0 2017年10月25日 +* 升级记录: * * ******************************************************************************************************************************************* * @attention * -* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION -* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE -* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT +* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION +* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE +* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * -ECTION WITH THEIR PRODUCTS. * -* COPYRIGHT 2012 Synwit Technology +* COPYRIGHT 2012 Synwit Technology *******************************************************************************************************************************************/ #include "SWM320.h" #include "SWM320_gpio.h" -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: GPIO_Init() -* 功能说明: 引脚初始化,包含引脚方向、上拉电阻、下拉电阻 -* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP -* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 -* uint32_t dir 引脚方向,0 输入 1 输出 -* uint32_t pull_up 上拉电阻,0 关闭上拉 1 开启上拉 -* uint32_t pull_down 下拉电阻,0 关闭下拉 1 开启下拉 +* 功能说明: 引脚初始化,包含引脚方向、上拉电阻、下拉电阻 +* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP +* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 +* uint32_t dir 引脚方向,0 输入 1 输出 +* uint32_t pull_up 上拉电阻,0 关闭上拉 1 开启上拉 +* uint32_t pull_down 下拉电阻,0 关闭下拉 1 开启下拉 * 输 出: 无 * 注意事项: GPIOA、GPIOC、GPIOM、GPIOP只有上拉,GPIOB、GPION只有下拉(PN0、PN1、PN2三个引脚有上拉没下拉) ******************************************************************************************************************************************/ @@ -152,11 +152,11 @@ void GPIO_Init(GPIO_TypeDef *GPIOx, uint32_t n, uint32_t dir, uint32_t pull_up, } } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: GPIO_SetBit() -* 功能说明: 将参数指定的引脚电平置高 -* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP -* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 +* 功能说明: 将参数指定的引脚电平置高 +* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP +* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -165,11 +165,11 @@ void GPIO_SetBit(GPIO_TypeDef *GPIOx, uint32_t n) GPIOx->DATA |= (0x01 << n); } -/****************************************************************************************************************************************** -* 函数名称: GPIO_ClrBit() -* 功能说明: 将参数指定的引脚电平置低 -* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP -* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 +/****************************************************************************************************************************************** +* 函数名称: GPIO_ClrBit() +* 功能说明: 将参数指定的引脚电平置低 +* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP +* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -178,11 +178,11 @@ void GPIO_ClrBit(GPIO_TypeDef *GPIOx, uint32_t n) GPIOx->DATA &= ~(0x01 << n); } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: GPIO_InvBit() -* 功能说明: 将参数指定的引脚电平反转 -* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP -* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 +* 功能说明: 将参数指定的引脚电平反转 +* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP +* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -191,12 +191,12 @@ void GPIO_InvBit(GPIO_TypeDef *GPIOx, uint32_t n) GPIOx->DATA ^= (0x01 << n); } -/****************************************************************************************************************************************** -* 函数名称: GPIO_GetBit() -* 功能说明: 读取参数指定的引脚的电平状态 -* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP -* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 -* 输 出: 参数指定的引脚的电平状态 0 低电平 1 高电平 +/****************************************************************************************************************************************** +* 函数名称: GPIO_GetBit() +* 功能说明: 读取参数指定的引脚的电平状态 +* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP +* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 +* 输 出: 参数指定的引脚的电平状态 0 低电平 1 高电平 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t GPIO_GetBit(GPIO_TypeDef *GPIOx, uint32_t n) @@ -204,12 +204,12 @@ uint32_t GPIO_GetBit(GPIO_TypeDef *GPIOx, uint32_t n) return ((GPIOx->DATA >> n) & 0x01); } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: GPIO_SetBits() * 功能说明: 将参数指定的从n开始的w位连续引脚的电平置高 -* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP -* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 -* uint32_t w 指定要将引脚电平置高的引脚的个数 +* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP +* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 +* uint32_t w 指定要将引脚电平置高的引脚的个数 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -222,12 +222,12 @@ void GPIO_SetBits(GPIO_TypeDef *GPIOx, uint32_t n, uint32_t w) GPIOx->DATA |= (bits << n); } -/****************************************************************************************************************************************** -* 函数名称: GPIO_ClrBits() +/****************************************************************************************************************************************** +* 函数名称: GPIO_ClrBits() * 功能说明: 将参数指定的从n开始的w位连续引脚的电平置低 -* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP -* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 -* uint32_t w 指定要将引脚电平置低的引脚的个数 +* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP +* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 +* uint32_t w 指定要将引脚电平置低的引脚的个数 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -240,12 +240,12 @@ void GPIO_ClrBits(GPIO_TypeDef *GPIOx, uint32_t n, uint32_t w) GPIOx->DATA &= ~(bits << n); } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: GPIO_InvBits() * 功能说明: 将参数指定的从n开始的w位连续引脚的电平反转 -* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP -* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 -* uint32_t w 指定要将引脚电平反转的引脚的个数 +* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP +* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 +* uint32_t w 指定要将引脚电平反转的引脚的个数 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -258,14 +258,14 @@ void GPIO_InvBits(GPIO_TypeDef *GPIOx, uint32_t n, uint32_t w) GPIOx->DATA ^= (bits << n); } -/****************************************************************************************************************************************** -* 函数名称: GPIO_GetBits() +/****************************************************************************************************************************************** +* 函数名称: GPIO_GetBits() * 功能说明: 读取参数指定的从n开始的w位连续引脚的电平状态 -* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP -* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 -* uint32_t w 指定要将引脚电平置高的引脚的个数 -* 输 出: 参数指定的从n开始的w位连续引脚的电平状态 0 低电平 1 高电平 -* 返回值的第0位表示引脚n的电平状态、返回值的第1位表示引脚n+1的电平状态... ...返回值的第w位表示引脚n+w的电平状态 +* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOM、GPION、GPIOP +* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 +* uint32_t w 指定要将引脚电平置高的引脚的个数 +* 输 出: 参数指定的从n开始的w位连续引脚的电平状态 0 低电平 1 高电平 +* 返回值的第0位表示引脚n的电平状态、返回值的第1位表示引脚n+1的电平状态... ...返回值的第w位表示引脚n+w的电平状态 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t GPIO_GetBits(GPIO_TypeDef *GPIOx, uint32_t n, uint32_t w) @@ -277,11 +277,11 @@ uint32_t GPIO_GetBits(GPIO_TypeDef *GPIOx, uint32_t n, uint32_t w) return ((GPIOx->DATA >> n) & bits); } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: GPIO_AtomicSetBit() -* 功能说明: 将参数指定的引脚电平置高,确保引脚”读-改-写“操作的原子性(不被中断ISR打断) -* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOD -* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN14、PIN15 +* 功能说明: 将参数指定的引脚电平置高,确保引脚”读-改-写“操作的原子性(不被中断ISR打断) +* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOD +* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN14、PIN15 * 输 出: 无 * 注意事项: 当GPIOx的16个引脚中,有些在主循环中操作,有些在中断ISR中操作时,GPIOx的引脚必须都用GPIO_Atomic类型函数操作 ******************************************************************************************************************************************/ @@ -290,11 +290,11 @@ void GPIO_AtomicSetBit(GPIO_TypeDef *GPIOx, uint32_t n) *((volatile uint32_t *)(0x42000000 + ((uint32_t)&GPIOx->DATA - 0x40000000) * 32 + n * 4)) = 1; } -/****************************************************************************************************************************************** -* 函数名称: GPIO_AtomicClrBit() -* 功能说明: 将参数指定的引脚电平置低,确保引脚”读-改-写“操作的原子性(不被中断ISR打断) -* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOD -* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN14、PIN15 +/****************************************************************************************************************************************** +* 函数名称: GPIO_AtomicClrBit() +* 功能说明: 将参数指定的引脚电平置低,确保引脚”读-改-写“操作的原子性(不被中断ISR打断) +* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOD +* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN14、PIN15 * 输 出: 无 * 注意事项: 当GPIOx的16个引脚中,有些在主循环中操作,有些在中断ISR中操作时,GPIOx的引脚必须都用GPIO_Atomic类型函数操作 ******************************************************************************************************************************************/ @@ -303,11 +303,11 @@ void GPIO_AtomicClrBit(GPIO_TypeDef *GPIOx, uint32_t n) *((volatile uint32_t *)(0x42000000 + ((uint32_t)&GPIOx->DATA - 0x40000000) * 32 + n * 4)) = 0; } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: GPIO_AtomicInvBit() -* 功能说明: 将参数指定的引脚电平反转,确保引脚”读-改-写“操作的原子性(不被中断ISR打断) -* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOD -* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN14、PIN15 +* 功能说明: 将参数指定的引脚电平反转,确保引脚”读-改-写“操作的原子性(不被中断ISR打断) +* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOD +* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN14、PIN15 * 输 出: 无 * 注意事项: 当GPIOx的16个引脚中,有些在主循环中操作,有些在中断ISR中操作时,GPIOx的引脚必须都用GPIO_Atomic类型函数操作 ******************************************************************************************************************************************/ @@ -316,12 +316,12 @@ void GPIO_AtomicInvBit(GPIO_TypeDef *GPIOx, uint32_t n) *((volatile uint32_t *)(0x42000000 + ((uint32_t)&GPIOx->DATA - 0x40000000) * 32 + n * 4)) = 1 - *((volatile uint32_t *)(0x42000000 + ((uint32_t)&GPIOx->DATA - 0x40000000) * 32 + n * 4)); } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: GPIO_AtomicSetBits() * 功能说明: 将参数指定的从n开始的w位连续引脚的电平置高,确保引脚”读-改-写“操作的原子性(不被中断ISR打断) -* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOD -* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN14、PIN15 -* uint32_t w 指定要将引脚电平置高的引脚的个数 +* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOD +* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN14、PIN15 +* uint32_t w 指定要将引脚电平置高的引脚的个数 * 输 出: 无 * 注意事项: 当GPIOx的16个引脚中,有些在主循环中操作,有些在中断ISR中操作时,GPIOx的引脚必须都用GPIO_Atomic类型函数操作 ******************************************************************************************************************************************/ @@ -336,12 +336,12 @@ void GPIO_AtomicSetBits(GPIO_TypeDef *GPIOx, uint32_t n, uint32_t w) __enable_irq(); } -/****************************************************************************************************************************************** -* 函数名称: GPIO_AtomicClrBits() +/****************************************************************************************************************************************** +* 函数名称: GPIO_AtomicClrBits() * 功能说明: 将参数指定的从n开始的w位连续引脚的电平置低,确保引脚”读-改-写“操作的原子性(不被中断ISR打断) -* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOD -* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN14、PIN15 -* uint32_t w 指定要将引脚电平置低的引脚的个数 +* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOD +* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN14、PIN15 +* uint32_t w 指定要将引脚电平置低的引脚的个数 * 输 出: 无 * 注意事项: 当GPIOx的16个引脚中,有些在主循环中操作,有些在中断ISR中操作时,GPIOx的引脚必须都用GPIO_Atomic类型函数操作 ******************************************************************************************************************************************/ @@ -356,12 +356,12 @@ void GPIO_AtomicClrBits(GPIO_TypeDef *GPIOx, uint32_t n, uint32_t w) __enable_irq(); } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: GPIO_AtomicInvBits() * 功能说明: 将参数指定的从n开始的w位连续引脚的电平反转,确保引脚”读-改-写“操作的原子性(不被中断ISR打断) -* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOD -* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN14、PIN15 -* uint32_t w 指定要将引脚电平反转的引脚的个数 +* 输 入: GPIO_TypeDef * GPIOx 指定GPIO端口,有效值包括GPIOA、GPIOB、GPIOC、GPIOD +* uint32_t n 指定GPIO引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN14、PIN15 +* uint32_t w 指定要将引脚电平反转的引脚的个数 * 输 出: 无 * 注意事项: 当GPIOx的16个引脚中,有些在主循环中操作,有些在中断ISR中操作时,GPIOx的引脚必须都用GPIO_Atomic类型函数操作 ******************************************************************************************************************************************/ diff --git a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_i2c.c b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_i2c.c index 8e093f14ee..c69378ca1a 100644 --- a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_i2c.c +++ b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_i2c.c @@ -1,18 +1,18 @@ -/****************************************************************************************************************************************** -* 文件名称: SWM320_i2c.c -* 功能说明: SWM320单片机的I2C串行接口功能驱动库 -* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 +/****************************************************************************************************************************************** +* 文件名称: SWM320_i2c.c +* 功能说明: SWM320单片机的I2C串行接口功能驱动库 +* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 * 注意事项: -* 版本日期: V1.1.0 2017年10月25日 -* 升级记录: +* 版本日期: V1.1.0 2017年10月25日 +* 升级记录: * * ******************************************************************************************************************************************* * @attention * -* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIES AT PROVIDING CUSTOMERS WITH CODING INFORMATION -* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIEE. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE -* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIES ARISING FROM THE CONTENT +* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIES AT PROVIDING CUSTOMERS WITH CODING INFORMATION +* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIEE. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE +* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIES ARISING FROM THE CONTENT * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * -ECTION WITH THEIR PRODUCTS. * @@ -21,11 +21,11 @@ #include "SWM320.h" #include "SWM320_i2c.h" -/****************************************************************************************************************************************** -* 函数名称: I2C_Init() -* 功能说明: I2C初始化 -* 输 入: I2C_TypeDef * I2Cx 指定要被设置的I2C,有效值包括I2C0、I2C1 -* I2C_InitStructure * initStruct 包含I2C相关设定值的结构体 +/****************************************************************************************************************************************** +* 函数名称: I2C_Init() +* 功能说明: I2C初始化 +* 输 入: I2C_TypeDef * I2Cx 指定要被设置的I2C,有效值包括I2C0、I2C1 +* I2C_InitStructure * initStruct 包含I2C相关设定值的结构体 * 输 出: 无 * 注意事项: 模块只能工作于主机模式 ******************************************************************************************************************************************/ @@ -125,10 +125,10 @@ void I2C_Init(I2C_TypeDef *I2Cx, I2C_InitStructure *initStruct) } } -/****************************************************************************************************************************************** -* 函数名称: I2C_Open() -* 功能说明: I2C打开,允许收发 -* 输 入: I2C_TypeDef * I2Cx 指定要被设置的I2C,有效值包括I2C0、I2C1 +/****************************************************************************************************************************************** +* 函数名称: I2C_Open() +* 功能说明: I2C打开,允许收发 +* 输 入: I2C_TypeDef * I2Cx 指定要被设置的I2C,有效值包括I2C0、I2C1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -137,10 +137,10 @@ void I2C_Open(I2C_TypeDef *I2Cx) I2Cx->CTRL |= (0x01 << I2C_CTRL_EN_Pos); } -/****************************************************************************************************************************************** -* 函数名称: I2C_Close() -* 功能说明: I2C关闭,禁止收发 -* 输 入: I2C_TypeDef * I2Cx 指定要被设置的I2C,有效值包括I2C0、I2C1 +/****************************************************************************************************************************************** +* 函数名称: I2C_Close() +* 功能说明: I2C关闭,禁止收发 +* 输 入: I2C_TypeDef * I2Cx 指定要被设置的I2C,有效值包括I2C0、I2C1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -149,12 +149,12 @@ void I2C_Close(I2C_TypeDef *I2Cx) I2Cx->CTRL &= ~I2C_CTRL_EN_Msk; } -/****************************************************************************************************************************************** -* 函数名称: I2C_Start() -* 功能说明: 产生起始信号并发送设备地址 -* 输 入: I2C_TypeDef * I2Cx 指定要被设置的I2C,有效值包括I2C0、I2C1 -* uint8_t addr 设备地址 -* 输 出: uint8_t 1 接收到ACK 0 接收到NACK +/****************************************************************************************************************************************** +* 函数名称: I2C_Start() +* 功能说明: 产生起始信号并发送设备地址 +* 输 入: I2C_TypeDef * I2Cx 指定要被设置的I2C,有效值包括I2C0、I2C1 +* uint8_t addr 设备地址 +* 输 出: uint8_t 1 接收到ACK 0 接收到NACK * 注意事项: 无 ******************************************************************************************************************************************/ uint8_t I2C_Start(I2C_TypeDef *I2Cx, uint8_t addr) @@ -168,10 +168,10 @@ uint8_t I2C_Start(I2C_TypeDef *I2Cx, uint8_t addr) return (I2Cx->MSTCMD & I2C_MSTCMD_RXACK_Msk) ? 0 : 1; } -/****************************************************************************************************************************************** -* 函数名称: I2C_Stop() -* 功能说明: 产生停止信号 -* 输 入: I2C_TypeDef * I2Cx 指定要被设置的I2C,有效值包括I2C0、I2C1 +/****************************************************************************************************************************************** +* 函数名称: I2C_Stop() +* 功能说明: 产生停止信号 +* 输 入: I2C_TypeDef * I2Cx 指定要被设置的I2C,有效值包括I2C0、I2C1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -182,12 +182,12 @@ void I2C_Stop(I2C_TypeDef *I2Cx) __NOP(); //等待发送完成 } -/****************************************************************************************************************************************** -* 函数名称: I2C_Write() -* 功能说明: 写入一个数据 -* 输 入: I2C_TypeDef * I2Cx 指定要被设置的I2C,有效值包括I2C0、I2C1 -* uint8_t data 要写的数据 -* 输 出: uint8_t 1 接收到ACK 0 接收到NACK +/****************************************************************************************************************************************** +* 函数名称: I2C_Write() +* 功能说明: 写入一个数据 +* 输 入: I2C_TypeDef * I2Cx 指定要被设置的I2C,有效值包括I2C0、I2C1 +* uint8_t data 要写的数据 +* 输 出: uint8_t 1 接收到ACK 0 接收到NACK * 注意事项: 无 ******************************************************************************************************************************************/ uint8_t I2C_Write(I2C_TypeDef *I2Cx, uint8_t data) @@ -200,12 +200,12 @@ uint8_t I2C_Write(I2C_TypeDef *I2Cx, uint8_t data) return (I2Cx->MSTCMD & I2C_MSTCMD_RXACK_Msk) ? 0 : 1; } -/****************************************************************************************************************************************** -* 函数名称: I2C_Read() -* 功能说明: 读取一个数据 -* 输 入: I2C_TypeDef * I2Cx 指定要被设置的I2C,有效值包括I2C0、I2C1 -* uint8_t ack 1 发送ACK 0 发送NACK -* 输 出: uint8_t 读取到的数据 +/****************************************************************************************************************************************** +* 函数名称: I2C_Read() +* 功能说明: 读取一个数据 +* 输 入: I2C_TypeDef * I2Cx 指定要被设置的I2C,有效值包括I2C0、I2C1 +* uint8_t ack 1 发送ACK 0 发送NACK +* 输 出: uint8_t 读取到的数据 * 注意事项: 无 ******************************************************************************************************************************************/ uint8_t I2C_Read(I2C_TypeDef *I2Cx, uint8_t ack) diff --git a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_lcd.c b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_lcd.c index 427df0d4b6..af2f2d7c38 100644 --- a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_lcd.c +++ b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_lcd.c @@ -1,18 +1,18 @@ -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 文件名称: SWM320_lcd.c -* 功能说明: SWM320单片机的LCD功能驱动库 -* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 -* 注意事项: -* 版本日期: V1.1.0 2017年10月25日 -* 升级记录: +* 功能说明: SWM320单片机的LCD功能驱动库 +* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 +* 注意事项: +* 版本日期: V1.1.0 2017年10月25日 +* 升级记录: * * ******************************************************************************************************************************************* * @attention * -* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION -* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE -* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT +* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION +* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE +* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * -ECTION WITH THEIR PRODUCTS. * @@ -23,11 +23,11 @@ #include -/****************************************************************************************************************************************** -* 函数名称: LCD_Init() -* 功能说明: LCD初始化 -* 输 入: LCD_TypeDef * LCDx 指定要被设置的LCD,有效值包括LCD -* LCD_InitStructure * initStruct 包含LCD相关设定值的结构体 +/****************************************************************************************************************************************** +* 函数名称: LCD_Init() +* 功能说明: LCD初始化 +* 输 入: LCD_TypeDef * LCDx 指定要被设置的LCD,有效值包括LCD +* LCD_InitStructure * initStruct 包含LCD相关设定值的结构体 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -74,10 +74,10 @@ void LCD_Init(LCD_TypeDef *LCDx, LCD_InitStructure *initStruct) } } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: LCD_Start() -* 功能说明: 启动一次数据传输 -* 输 入: LCD_TypeDef * LCDx 指定要被设置的LCD,有效值包括LCD +* 功能说明: 启动一次数据传输 +* 输 入: LCD_TypeDef * LCDx 指定要被设置的LCD,有效值包括LCD * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -86,11 +86,11 @@ void LCD_Start(LCD_TypeDef *LCDx) LCDx->START |= (1 << LCD_START_GO_Pos) | (1 << LCD_START_BURST_Pos); } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: LCD_IsBusy() -* 功能说明: 是否正在进行数据传输 -* 输 入: LCD_TypeDef * LCDx 指定要被设置的LCD,有效值包括LCD -* 输 出: uint32_t 1 正在传输数据 0 数据传输已完成 +* 功能说明: 是否正在进行数据传输 +* 输 入: LCD_TypeDef * LCDx 指定要被设置的LCD,有效值包括LCD +* 输 出: uint32_t 1 正在传输数据 0 数据传输已完成 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t LCD_IsBusy(LCD_TypeDef *LCDx) @@ -98,10 +98,10 @@ uint32_t LCD_IsBusy(LCD_TypeDef *LCDx) return (LCDx->START & LCD_START_GO_Msk) ? 1 : 0; } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: LCD_INTEn() -* 功能说明: LCD中断使能,完成指定长度的数据传输时触发中断 -* 输 入: LCD_TypeDef * LCDx 指定要被设置的LCD,有效值包括LCD +* 功能说明: LCD中断使能,完成指定长度的数据传输时触发中断 +* 输 入: LCD_TypeDef * LCDx 指定要被设置的LCD,有效值包括LCD * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -110,10 +110,10 @@ void LCD_INTEn(LCD_TypeDef *LCDx) LCDx->IM = 0; } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: LCD_INTDis() -* 功能说明: LCD中断禁止,完成指定长度的数据传输时不触发中断 -* 输 入: LCD_TypeDef * LCDx 指定要被设置的LCD,有效值包括LCD +* 功能说明: LCD中断禁止,完成指定长度的数据传输时不触发中断 +* 输 入: LCD_TypeDef * LCDx 指定要被设置的LCD,有效值包括LCD * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -122,10 +122,10 @@ void LCD_INTDis(LCD_TypeDef *LCDx) LCDx->IM = 1; } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: LCD_INTClr() -* 功能说明: LCD中断标志清除 -* 输 入: LCD_TypeDef * LCDx 指定要被设置的LCD,有效值包括LCD +* 功能说明: LCD中断标志清除 +* 输 入: LCD_TypeDef * LCDx 指定要被设置的LCD,有效值包括LCD * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -134,11 +134,11 @@ void LCD_INTClr(LCD_TypeDef *LCDx) LCDx->IF = 1; } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: LCD_INTStat() -* 功能说明: LCD中断状态查询 -* 输 入: LCD_TypeDef * LCDx 指定要被设置的LCD,有效值包括LCD -* 输 出: uint32_t 1 完成指定长度的数据传输 0 未完成指定长度的数据传输 +* 功能说明: LCD中断状态查询 +* 输 入: LCD_TypeDef * LCDx 指定要被设置的LCD,有效值包括LCD +* 输 出: uint32_t 1 完成指定长度的数据传输 0 未完成指定长度的数据传输 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t LCD_INTStat(LCD_TypeDef *LCDx) diff --git a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_norflash.c b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_norflash.c index a8f6611ffe..f9e306d6fb 100644 --- a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_norflash.c +++ b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_norflash.c @@ -1,29 +1,29 @@ -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 文件名称: SWM320_norflash.c -* 功能说明: SWM320单片机的NOR Flash驱动程序 -* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 +* 功能说明: SWM320单片机的NOR Flash驱动程序 +* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 * 注意事项: -* 版本日期: V1.1.0 2017年10月25日 -* 升级记录: +* 版本日期: V1.1.0 2017年10月25日 +* 升级记录: * * ******************************************************************************************************************************************* * @attention * -* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION -* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE -* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT +* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION +* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE +* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * -ECTION WITH THEIR PRODUCTS. * -* COPYRIGHT 2012 Synwit Technology +* COPYRIGHT 2012 Synwit Technology *******************************************************************************************************************************************/ #include "SWM320.h" #include "SWM320_norflash.h" -/****************************************************************************************************************************************** -* 函数名称: NORFL_Init() -* 功能说明: NOR Flash控制器初始化 +/****************************************************************************************************************************************** +* 函数名称: NORFL_Init() +* 功能说明: NOR Flash控制器初始化 * 输 入: NORFL_InitStructure * initStruct 包含NOR Flash控制器相关设定值的结构体 * 输 出: 无 * 注意事项: 无 @@ -64,11 +64,11 @@ void NORFL_Init(NORFL_InitStructure *initStruct) NORFLC->IM |= (1 << NORFLC_IM_TIMEOUT_Pos); } -/****************************************************************************************************************************************** -* 函数名称: NORFL_ChipErase() -* 功能说明: NOR Flash整片擦除 +/****************************************************************************************************************************************** +* 函数名称: NORFL_ChipErase() +* 功能说明: NOR Flash整片擦除 * 输 入: 无 -* 输 出: uint32_t 0 擦除成功 1 擦除超时 +* 输 出: uint32_t 0 擦除成功 1 擦除超时 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t NORFL_ChipErase(void) @@ -91,11 +91,11 @@ uint32_t NORFL_ChipErase(void) return res; } -/****************************************************************************************************************************************** -* 函数名称: NORFL_SectorErase() -* 功能说明: NOR Flash扇区擦除 -* 输 入: uint32_t addr 要擦除扇区的起始地址 -* 输 出: uint32_t 0 擦除成功 1 擦除超时 +/****************************************************************************************************************************************** +* 函数名称: NORFL_SectorErase() +* 功能说明: NOR Flash扇区擦除 +* 输 入: uint32_t addr 要擦除扇区的起始地址 +* 输 出: uint32_t 0 擦除成功 1 擦除超时 * 注意事项: MX29LV128DB 前8扇区为8K、后255扇区为64K MX29LV128DT 前255扇区为64K、后8扇区为8K ******************************************************************************************************************************************/ uint32_t NORFL_SectorErase(uint32_t addr) @@ -119,12 +119,12 @@ uint32_t NORFL_SectorErase(uint32_t addr) return res; } -/****************************************************************************************************************************************** -* 函数名称: NORFL_Write() -* 功能说明: NOR Flash写 -* 输 入: uint32_t addr 数据要写入的地址 -* uint32_t data 要写入的数据 -* 输 出: uint32_t 0 写入成功 1 写入超时 +/****************************************************************************************************************************************** +* 函数名称: NORFL_Write() +* 功能说明: NOR Flash写 +* 输 入: uint32_t addr 数据要写入的地址 +* uint32_t data 要写入的数据 +* 输 出: uint32_t 0 写入成功 1 写入超时 * 注意事项: 硬件连接,数据线为16位时,半字写入;数据线为8位时,字节写入 ******************************************************************************************************************************************/ uint32_t NORFL_Write(uint32_t addr, uint32_t data) @@ -148,11 +148,11 @@ uint32_t NORFL_Write(uint32_t addr, uint32_t data) return res; } -/****************************************************************************************************************************************** -* 函数名称: NORFL_Read() -* 功能说明: NOR Flash读 -* 输 入: uint32_t addr 数据要读出的地址 -* 输 出: uint32_t 读出的数据 +/****************************************************************************************************************************************** +* 函数名称: NORFL_Read() +* 功能说明: NOR Flash读 +* 输 入: uint32_t addr 数据要读出的地址 +* 输 出: uint32_t 读出的数据 * 注意事项: 硬件连接,数据线为16位时,半字读出;数据线为8位时,字节读出 ******************************************************************************************************************************************/ uint32_t NORFL_Read(uint32_t addr) @@ -163,11 +163,11 @@ uint32_t NORFL_Read(uint32_t addr) return (NORFLC->CMD & NORFLC_CMD_DATA_Msk); } -/****************************************************************************************************************************************** -* 函数名称: NORFL_ReadID() -* 功能说明: NOR Flash读ID -* 输 入: uint32_t id_addr ID地址,此参数是芯片相关的,每种芯片都不同 -* 输 出: uint16_t 读取到的ID +/****************************************************************************************************************************************** +* 函数名称: NORFL_ReadID() +* 功能说明: NOR Flash读ID +* 输 入: uint32_t id_addr ID地址,此参数是芯片相关的,每种芯片都不同 +* 输 出: uint16_t 读取到的ID * 注意事项: 无 ******************************************************************************************************************************************/ uint16_t NORFL_ReadID(uint32_t id_addr) diff --git a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_port.c b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_port.c index bb4c7f0731..5fa0be4ada 100644 --- a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_port.c +++ b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_port.c @@ -1,36 +1,36 @@ -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 文件名称: SWM320_port.c -* 功能说明: SWM320单片机的端口引脚功能选择库函数 -* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 +* 功能说明: SWM320单片机的端口引脚功能选择库函数 +* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 * 注意事项: -* 版本日期: V1.1.0 2017年10月25日 -* 升级记录: +* 版本日期: V1.1.0 2017年10月25日 +* 升级记录: * * ******************************************************************************************************************************************* * @attention * -* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION -* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE -* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT +* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION +* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE +* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * -ECTION WITH THEIR PRODUCTS. * -* COPYRIGHT 2012 Synwit Technology +* COPYRIGHT 2012 Synwit Technology *******************************************************************************************************************************************/ #include "SWM320.h" #include "SWM320_port.h" -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: PORT_Init() -* 功能说明: 端口引脚功能选择,可用的功能见"SWM320_port.h"文件 -* 输 入: uint32_t PORTx 指定PORT端口,有效值包括PORTA、PORTB、PORTC、PORTM、PORTN、PORTP -* uint32_t n 指定PORT引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 -* uint32_t func 指定端口引脚要设定的功能,其可取值见"SWM320_port.h"文件 -* uint32_t digit_in_en 数字输入使能 +* 功能说明: 端口引脚功能选择,可用的功能见"SWM320_port.h"文件 +* 输 入: uint32_t PORTx 指定PORT端口,有效值包括PORTA、PORTB、PORTC、PORTM、PORTN、PORTP +* uint32_t n 指定PORT引脚,有效值包括PIN0、PIN1、PIN2、... ... PIN22、PIN23 +* uint32_t func 指定端口引脚要设定的功能,其可取值见"SWM320_port.h"文件 +* uint32_t digit_in_en 数字输入使能 * 输 出: 无 * 注意事项: 当引脚标号n为偶数时,func取值只能是FUNMUX0开头的,如FUNMUX0_UART0_RXD -* 当引脚标号n为奇数时,func取值只能是FUNMUX1开头的,如FUNMUX1_UART0_TXD +* 当引脚标号n为奇数时,func取值只能是FUNMUX1开头的,如FUNMUX1_UART0_TXD ******************************************************************************************************************************************/ void PORT_Init(uint32_t PORTx, uint32_t n, uint32_t func, uint32_t digit_in_en) { diff --git a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_pwm.c b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_pwm.c index 45152822e8..0d965e4792 100644 --- a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_pwm.c +++ b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_pwm.c @@ -1,31 +1,31 @@ -/****************************************************************************************************************************************** -* 文件名称: SWM320_pwm.c -* 功能说明: SWM320单片机的PWM功能驱动库 -* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 +/****************************************************************************************************************************************** +* 文件名称: SWM320_pwm.c +* 功能说明: SWM320单片机的PWM功能驱动库 +* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 * 注意事项: -* 版本日期: V1.1.0 2017年10月25日 -* 升级记录: +* 版本日期: V1.1.0 2017年10月25日 +* 升级记录: * * ******************************************************************************************************************************************* * @attention * -* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION -* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE -* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT +* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION +* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE +* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * -ECTION WITH THEIR PRODUCTS. * -* COPYRIGHT 2012 Synwit Technology +* COPYRIGHT 2012 Synwit Technology *******************************************************************************************************************************************/ #include "SWM320.h" #include "SWM320_pwm.h" -/****************************************************************************************************************************************** -* 函数名称: PWM_Init() -* 功能说明: PWM初始化 -* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 -* PWM_InitStructure * initStruct 包含PWM相关设定值的结构体 +/****************************************************************************************************************************************** +* 函数名称: PWM_Init() +* 功能说明: PWM初始化 +* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 +* PWM_InitStructure * initStruct 包含PWM相关设定值的结构体 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -98,12 +98,12 @@ void PWM_Init(PWM_TypeDef *PWMx, PWM_InitStructure *initStruct) } } -/****************************************************************************************************************************************** -* 函数名称: PWM_Start() -* 功能说明: 启动PWM,开始PWM输出 -* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 -* uint32_t chA 0 通道A不启动 1 通道A启动 -* uint32_t chB 0 通道B不启动 1 通道B启动 +/****************************************************************************************************************************************** +* 函数名称: PWM_Start() +* 功能说明: 启动PWM,开始PWM输出 +* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 +* uint32_t chA 0 通道A不启动 1 通道A启动 +* uint32_t chB 0 通道B不启动 1 通道B启动 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -137,12 +137,12 @@ void PWM_Start(PWM_TypeDef *PWMx, uint32_t chA, uint32_t chB) } } -/****************************************************************************************************************************************** -* 函数名称: PWM_Stop() -* 功能说明: 关闭PWM,停止PWM输出 -* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 -* uint32_t chA 0 通道A不关闭 1 通道A关闭 -* uint32_t chB 0 通道B不关闭 1 通道B关闭 +/****************************************************************************************************************************************** +* 函数名称: PWM_Stop() +* 功能说明: 关闭PWM,停止PWM输出 +* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 +* uint32_t chA 0 通道A不关闭 1 通道A关闭 +* uint32_t chB 0 通道B不关闭 1 通道B关闭 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -176,12 +176,12 @@ void PWM_Stop(PWM_TypeDef *PWMx, uint32_t chA, uint32_t chB) } } -/****************************************************************************************************************************************** -* 函数名称: PWM_SetCycle() -* 功能说明: 设置周期 -* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 -* uint32_t chn 选择要设置哪个通道,有效值:PWM_CH_A、PWM_CH_B -* uint16_t cycle 要设定的周期值 +/****************************************************************************************************************************************** +* 函数名称: PWM_SetCycle() +* 功能说明: 设置周期 +* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 +* uint32_t chn 选择要设置哪个通道,有效值:PWM_CH_A、PWM_CH_B +* uint16_t cycle 要设定的周期值 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -193,12 +193,12 @@ void PWM_SetCycle(PWM_TypeDef *PWMx, uint32_t chn, uint16_t cycle) PWMx->PERB = cycle; } -/****************************************************************************************************************************************** -* 函数名称: PWM_GetCycle() -* 功能说明: 获取周期 -* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 -* uint32_t chn 选择要查询哪个通道,有效值:PWM_CH_A、PWM_CH_B -* 输 出: uint16_t 获取到的周期值 +/****************************************************************************************************************************************** +* 函数名称: PWM_GetCycle() +* 功能说明: 获取周期 +* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 +* uint32_t chn 选择要查询哪个通道,有效值:PWM_CH_A、PWM_CH_B +* 输 出: uint16_t 获取到的周期值 * 注意事项: 无 ******************************************************************************************************************************************/ uint16_t PWM_GetCycle(PWM_TypeDef *PWMx, uint32_t chn) @@ -213,12 +213,12 @@ uint16_t PWM_GetCycle(PWM_TypeDef *PWMx, uint32_t chn) return cycle; } -/****************************************************************************************************************************************** -* 函数名称: PWM_SetHDuty() -* 功能说明: 设置高电平时长 -* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 -* uint32_t chn 选择要设置哪个通道,有效值:PWM_CH_A、PWM_CH_B -* uint16_t hduty 要设定的高电平时长 +/****************************************************************************************************************************************** +* 函数名称: PWM_SetHDuty() +* 功能说明: 设置高电平时长 +* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 +* uint32_t chn 选择要设置哪个通道,有效值:PWM_CH_A、PWM_CH_B +* uint16_t hduty 要设定的高电平时长 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -230,12 +230,12 @@ void PWM_SetHDuty(PWM_TypeDef *PWMx, uint32_t chn, uint16_t hduty) PWMx->HIGHB = hduty; } -/****************************************************************************************************************************************** -* 函数名称: PWM_GetHDuty() +/****************************************************************************************************************************************** +* 函数名称: PWM_GetHDuty() * 功能说明: 获取高电平时长 -* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 -* uint32_t chn 选择要查询哪个通道,有效值:PWM_CH_A、PWM_CH_B -* 输 出: uint16_t 获取到的高电平时长 +* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 +* uint32_t chn 选择要查询哪个通道,有效值:PWM_CH_A、PWM_CH_B +* 输 出: uint16_t 获取到的高电平时长 * 注意事项: 无 ******************************************************************************************************************************************/ uint16_t PWM_GetHDuty(PWM_TypeDef *PWMx, uint32_t chn) @@ -250,12 +250,12 @@ uint16_t PWM_GetHDuty(PWM_TypeDef *PWMx, uint32_t chn) return hduty; } -/****************************************************************************************************************************************** -* 函数名称: PWM_SetDeadzone() -* 功能说明: 设置死区时长 -* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 -* uint32_t chn 选择要设置哪个通道,有效值:PWM_CH_A、PWM_CH_B -* uint8_t deadzone 要设定的死区时长 +/****************************************************************************************************************************************** +* 函数名称: PWM_SetDeadzone() +* 功能说明: 设置死区时长 +* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 +* uint32_t chn 选择要设置哪个通道,有效值:PWM_CH_A、PWM_CH_B +* uint8_t deadzone 要设定的死区时长 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -267,12 +267,12 @@ void PWM_SetDeadzone(PWM_TypeDef *PWMx, uint32_t chn, uint8_t deadzone) PWMx->DZB = deadzone; } -/****************************************************************************************************************************************** -* 函数名称: PWM_GetDeadzone() +/****************************************************************************************************************************************** +* 函数名称: PWM_GetDeadzone() * 功能说明: 获取死区时长 -* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 -* uint32_t chn 选择要查询哪个通道,有效值:PWM_CH_A、PWM_CH_B -* 输 出: uint8_t 获取到的死区时长 +* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 +* uint32_t chn 选择要查询哪个通道,有效值:PWM_CH_A、PWM_CH_B +* 输 出: uint8_t 获取到的死区时长 * 注意事项: 无 ******************************************************************************************************************************************/ uint8_t PWM_GetDeadzone(PWM_TypeDef *PWMx, uint32_t chn) @@ -287,11 +287,11 @@ uint8_t PWM_GetDeadzone(PWM_TypeDef *PWMx, uint32_t chn) return deadzone; } -/****************************************************************************************************************************************** -* 函数名称: PWM_IntNCycleEn() +/****************************************************************************************************************************************** +* 函数名称: PWM_IntNCycleEn() * 功能说明: 新周期开始中断使能 -* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 -* uint32_t chn 选择要设置哪个通道,有效值:PWM_CH_A、PWM_CH_B +* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 +* uint32_t chn 选择要设置哪个通道,有效值:PWM_CH_A、PWM_CH_B * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -343,11 +343,11 @@ void PWM_IntNCycleEn(PWM_TypeDef *PWMx, uint32_t chn) } } -/****************************************************************************************************************************************** -* 函数名称: PWM_IntNCycleDis() +/****************************************************************************************************************************************** +* 函数名称: PWM_IntNCycleDis() * 功能说明: 新周期开始中断禁能 -* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 -* uint32_t chn 选择要设置哪个通道,有效值:PWM_CH_A、PWM_CH_B +* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 +* uint32_t chn 选择要设置哪个通道,有效值:PWM_CH_A、PWM_CH_B * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -399,11 +399,11 @@ void PWM_IntNCycleDis(PWM_TypeDef *PWMx, uint32_t chn) } } -/****************************************************************************************************************************************** -* 函数名称: PWM_IntNCycleClr() +/****************************************************************************************************************************************** +* 函数名称: PWM_IntNCycleClr() * 功能说明: 新周期开始中断标志清除 -* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 -* uint32_t chn 选择要设置哪个通道,有效值:PWM_CH_A、PWM_CH_B +* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 +* uint32_t chn 选择要设置哪个通道,有效值:PWM_CH_A、PWM_CH_B * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -455,12 +455,12 @@ void PWM_IntNCycleClr(PWM_TypeDef *PWMx, uint32_t chn) } } -/****************************************************************************************************************************************** -* 函数名称: PWM_IntNCycleStat() +/****************************************************************************************************************************************** +* 函数名称: PWM_IntNCycleStat() * 功能说明: 新周期开始中断是否发生 -* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 -* uint32_t chn 选择要设置哪个通道,有效值:PWM_CH_A、PWM_CH_B -* 输 出: uint32_t 1 新周期开始中断已发生 0 新周期开始中断未发生 +* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 +* uint32_t chn 选择要设置哪个通道,有效值:PWM_CH_A、PWM_CH_B +* 输 出: uint32_t 1 新周期开始中断已发生 0 新周期开始中断未发生 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t PWM_IntNCycleStat(PWM_TypeDef *PWMx, uint32_t chn) @@ -515,11 +515,11 @@ uint32_t PWM_IntNCycleStat(PWM_TypeDef *PWMx, uint32_t chn) return int_stat; } -/****************************************************************************************************************************************** -* 函数名称: PWM_IntHEndEn() +/****************************************************************************************************************************************** +* 函数名称: PWM_IntHEndEn() * 功能说明: 高电平结束中断使能 -* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 -* uint32_t chn 选择要设置哪个通道,有效值:PWM_CH_A、PWM_CH_B +* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 +* uint32_t chn 选择要设置哪个通道,有效值:PWM_CH_A、PWM_CH_B * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -571,11 +571,11 @@ void PWM_IntHEndEn(PWM_TypeDef *PWMx, uint32_t chn) } } -/****************************************************************************************************************************************** -* 函数名称: PWM_IntHEndDis() +/****************************************************************************************************************************************** +* 函数名称: PWM_IntHEndDis() * 功能说明: 高电平结束中断禁能 -* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 -* uint32_t chn 选择要设置哪个通道,有效值:PWM_CH_A、PWM_CH_B +* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 +* uint32_t chn 选择要设置哪个通道,有效值:PWM_CH_A、PWM_CH_B * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -627,11 +627,11 @@ void PWM_IntHEndDis(PWM_TypeDef *PWMx, uint32_t chn) } } -/****************************************************************************************************************************************** -* 函数名称: PWM_IntHEndClr() +/****************************************************************************************************************************************** +* 函数名称: PWM_IntHEndClr() * 功能说明: 高电平结束中断标志清除 -* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 -* uint32_t chn 选择要设置哪个通道,有效值:PWM_CH_A、PWM_CH_B +* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 +* uint32_t chn 选择要设置哪个通道,有效值:PWM_CH_A、PWM_CH_B * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -683,12 +683,12 @@ void PWM_IntHEndClr(PWM_TypeDef *PWMx, uint32_t chn) } } -/****************************************************************************************************************************************** -* 函数名称: PWM_IntHEndStat() +/****************************************************************************************************************************************** +* 函数名称: PWM_IntHEndStat() * 功能说明: 高电平结束中断是否发生 -* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 -* uint32_t chn 选择要设置哪个通道,有效值:PWM_CH_A、PWM_CH_B -* 输 出: uint32_t 1 高电平结束中断已发生 0 高电平结束中断未发生 +* 输 入: PWM_TypeDef * PWMx 指定要被设置的PWM,有效值包括PWM0、PWM1、PWM2、PWM3、PWM4、PWM5 +* uint32_t chn 选择要设置哪个通道,有效值:PWM_CH_A、PWM_CH_B +* 输 出: uint32_t 1 高电平结束中断已发生 0 高电平结束中断未发生 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t PWM_IntHEndStat(PWM_TypeDef *PWMx, uint32_t chn) diff --git a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_rtc.c b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_rtc.c index 881efad277..b2cb77a5f3 100644 --- a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_rtc.c +++ b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_rtc.c @@ -1,18 +1,18 @@ -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 文件名称: SWM320_rtc.c -* 功能说明: SWM320单片机的RTC驱动库 -* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 -* 注意事项: -* 版本日期: V1.1.0 2017年10月25日 -* 升级记录: +* 功能说明: SWM320单片机的RTC驱动库 +* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 +* 注意事项: +* 版本日期: V1.1.0 2017年10月25日 +* 升级记录: * * ******************************************************************************************************************************************* * @attention * -* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION -* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE -* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT +* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION +* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE +* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * -ECTION WITH THEIR PRODUCTS. * @@ -22,11 +22,11 @@ #include "SWM320_rtc.h" static uint32_t calcWeekDay(uint32_t year, uint32_t month, uint32_t date); -/****************************************************************************************************************************************** -* 函数名称: RTC_Init() -* 功能说明: RTC初始化 -* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,有效值包括RTC -* RTC_InitStructure * initStruct 包含RTC相关设定值的结构体 +/****************************************************************************************************************************************** +* 函数名称: RTC_Init() +* 功能说明: RTC初始化 +* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,有效值包括RTC +* RTC_InitStructure * initStruct 包含RTC相关设定值的结构体 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -71,10 +71,10 @@ void RTC_Init(RTC_TypeDef *RTCx, RTC_InitStructure *initStruct) } } -/****************************************************************************************************************************************** -* 函数名称: RTC_Start() -* 功能说明: 启动RTC -* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC +/****************************************************************************************************************************************** +* 函数名称: RTC_Start() +* 功能说明: 启动RTC +* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -83,10 +83,10 @@ void RTC_Start(RTC_TypeDef *RTCx) RTCx->EN = 1; } -/****************************************************************************************************************************************** -* 函数名称: RTC_Stop() -* 功能说明: 停止RTC -* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC +/****************************************************************************************************************************************** +* 函数名称: RTC_Stop() +* 功能说明: 停止RTC +* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -95,11 +95,11 @@ void RTC_Stop(RTC_TypeDef *RTCx) RTCx->EN = 0; } -/****************************************************************************************************************************************** -* 函数名称: RTC_GetDateTime() -* 功能说明: 获取当前的时间和日期 -* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,有效值包括RTC -* RTC_DateTime * dateTime 获取到的时间、日期值存入此指针指向的结构体 +/****************************************************************************************************************************************** +* 函数名称: RTC_GetDateTime() +* 功能说明: 获取当前的时间和日期 +* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,有效值包括RTC +* RTC_DateTime * dateTime 获取到的时间、日期值存入此指针指向的结构体 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -114,11 +114,11 @@ void RTC_GetDateTime(RTC_TypeDef *RTCx, RTC_DateTime *dateTime) dateTime->Second = (RTCx->MINSEC & RTC_MINSEC_SEC_Msk) >> RTC_MINSEC_SEC_Pos; } -/****************************************************************************************************************************************** -* 函数名称: RTC_AlarmSetup() -* 功能说明: RTC闹钟设定 -* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,有效值包括RTC -* RTC_AlarmStructure * alarmStruct 包含RTC闹钟设定值的结构体 +/****************************************************************************************************************************************** +* 函数名称: RTC_AlarmSetup() +* 功能说明: RTC闹钟设定 +* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,有效值包括RTC +* RTC_AlarmStructure * alarmStruct 包含RTC闹钟设定值的结构体 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -145,13 +145,13 @@ void RTC_AlarmSetup(RTC_TypeDef *RTCx, RTC_AlarmStructure *alarmStruct) NVIC_EnableIRQ(RTC_IRQn); } -/****************************************************************************************************************************************** -* 函数名称: calcWeekDay() -* 功能说明: 计算指定年、月、日是星期几 -* 输 入: uint32_t year 年 -* uint32_t month 月 -* uint32_t date 日 -* 输 出: uint32_t 0 星期日 1 星期一 ... ... 6 星期六 +/****************************************************************************************************************************************** +* 函数名称: calcWeekDay() +* 功能说明: 计算指定年、月、日是星期几 +* 输 入: uint32_t year 年 +* uint32_t month 月 +* uint32_t date 日 +* 输 出: uint32_t 0 星期日 1 星期一 ... ... 6 星期六 * 注意事项: 无 ******************************************************************************************************************************************/ static uint32_t calcWeekDay(uint32_t year, uint32_t month, uint32_t date) @@ -178,10 +178,10 @@ static uint32_t calcWeekDay(uint32_t year, uint32_t month, uint32_t date) return (cnt + 1) % 7; } -/****************************************************************************************************************************************** -* 函数名称: RTC_IntSecondEn() -* 功能说明: 秒中断使能 -* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC +/****************************************************************************************************************************************** +* 函数名称: RTC_IntSecondEn() +* 功能说明: 秒中断使能 +* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -190,10 +190,10 @@ void RTC_IntSecondEn(RTC_TypeDef *RTCx) RTCx->IE |= (1 << RTC_IE_SEC_Pos); } -/****************************************************************************************************************************************** -* 函数名称: RTC_IntSecondDis() -* 功能说明: 秒中断禁止 -* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC +/****************************************************************************************************************************************** +* 函数名称: RTC_IntSecondDis() +* 功能说明: 秒中断禁止 +* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -202,10 +202,10 @@ void RTC_IntSecondDis(RTC_TypeDef *RTCx) RTCx->IE &= ~(1 << RTC_IE_SEC_Pos); } -/****************************************************************************************************************************************** -* 函数名称: RTC_IntSecondClr() -* 功能说明: 秒中断标志清除 -* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC +/****************************************************************************************************************************************** +* 函数名称: RTC_IntSecondClr() +* 功能说明: 秒中断标志清除 +* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -214,11 +214,11 @@ void RTC_IntSecondClr(RTC_TypeDef *RTCx) RTCx->IF = (1 << RTC_IF_SEC_Pos); } -/****************************************************************************************************************************************** -* 函数名称: RTC_IntSecondStat() -* 功能说明: 秒中断状态 -* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC -* 输 出: uint32_t 1 秒中断发生 0 秒中断未发生 +/****************************************************************************************************************************************** +* 函数名称: RTC_IntSecondStat() +* 功能说明: 秒中断状态 +* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC +* 输 出: uint32_t 1 秒中断发生 0 秒中断未发生 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t RTC_IntSecondStat(RTC_TypeDef *RTCx) @@ -226,10 +226,10 @@ uint32_t RTC_IntSecondStat(RTC_TypeDef *RTCx) return (RTCx->IF & RTC_IF_SEC_Msk) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: RTC_IntMinuteEn() -* 功能说明: 分中断使能 -* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC +/****************************************************************************************************************************************** +* 函数名称: RTC_IntMinuteEn() +* 功能说明: 分中断使能 +* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -238,10 +238,10 @@ void RTC_IntMinuteEn(RTC_TypeDef *RTCx) RTCx->IE |= (1 << RTC_IE_MIN_Pos); } -/****************************************************************************************************************************************** -* 函数名称: RTC_IntMinuteDis() -* 功能说明: 分中断禁止 -* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC +/****************************************************************************************************************************************** +* 函数名称: RTC_IntMinuteDis() +* 功能说明: 分中断禁止 +* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -250,10 +250,10 @@ void RTC_IntMinuteDis(RTC_TypeDef *RTCx) RTCx->IE &= ~(1 << RTC_IE_MIN_Pos); } -/****************************************************************************************************************************************** -* 函数名称: RTC_IntMinuteClr() -* 功能说明: 分中断标志清除 -* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC +/****************************************************************************************************************************************** +* 函数名称: RTC_IntMinuteClr() +* 功能说明: 分中断标志清除 +* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -262,11 +262,11 @@ void RTC_IntMinuteClr(RTC_TypeDef *RTCx) RTCx->IF = (1 << RTC_IF_MIN_Pos); } -/****************************************************************************************************************************************** -* 函数名称: RTC_IntMinuteStat() -* 功能说明: 分中断状态 -* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC -* 输 出: uint32_t 1 分中断发生 0 分中断未发生 +/****************************************************************************************************************************************** +* 函数名称: RTC_IntMinuteStat() +* 功能说明: 分中断状态 +* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC +* 输 出: uint32_t 1 分中断发生 0 分中断未发生 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t RTC_IntMinuteStat(RTC_TypeDef *RTCx) @@ -274,10 +274,10 @@ uint32_t RTC_IntMinuteStat(RTC_TypeDef *RTCx) return (RTCx->IF & RTC_IF_MIN_Msk) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: RTC_IntHourEn() -* 功能说明: 时中断使能 -* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC +/****************************************************************************************************************************************** +* 函数名称: RTC_IntHourEn() +* 功能说明: 时中断使能 +* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -286,10 +286,10 @@ void RTC_IntHourEn(RTC_TypeDef *RTCx) RTCx->IE |= (1 << RTC_IE_HOUR_Pos); } -/****************************************************************************************************************************************** -* 函数名称: RTC_IntHourDis() -* 功能说明: 时中断禁止 -* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC +/****************************************************************************************************************************************** +* 函数名称: RTC_IntHourDis() +* 功能说明: 时中断禁止 +* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -298,10 +298,10 @@ void RTC_IntHourDis(RTC_TypeDef *RTCx) RTCx->IE &= ~(1 << RTC_IE_HOUR_Pos); } -/****************************************************************************************************************************************** -* 函数名称: RTC_IntHourClr() -* 功能说明: 时中断标志清除 -* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC +/****************************************************************************************************************************************** +* 函数名称: RTC_IntHourClr() +* 功能说明: 时中断标志清除 +* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -310,11 +310,11 @@ void RTC_IntHourClr(RTC_TypeDef *RTCx) RTCx->IF = (1 << RTC_IF_HOUR_Pos); } -/****************************************************************************************************************************************** -* 函数名称: RTC_IntHourStat() -* 功能说明: 时中断状态 -* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC -* 输 出: uint32_t 1 时中断发生 0 时中断未发生 +/****************************************************************************************************************************************** +* 函数名称: RTC_IntHourStat() +* 功能说明: 时中断状态 +* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC +* 输 出: uint32_t 1 时中断发生 0 时中断未发生 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t RTC_IntHourStat(RTC_TypeDef *RTCx) @@ -322,10 +322,10 @@ uint32_t RTC_IntHourStat(RTC_TypeDef *RTCx) return (RTCx->IF & RTC_IF_HOUR_Msk) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: RTC_IntDateEn() -* 功能说明: 日中断使能 -* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC +/****************************************************************************************************************************************** +* 函数名称: RTC_IntDateEn() +* 功能说明: 日中断使能 +* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -334,10 +334,10 @@ void RTC_IntDateEn(RTC_TypeDef *RTCx) RTCx->IE |= (1 << RTC_IE_DATE_Pos); } -/****************************************************************************************************************************************** -* 函数名称: RTC_IntDateDis() -* 功能说明: 日中断禁止 -* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC +/****************************************************************************************************************************************** +* 函数名称: RTC_IntDateDis() +* 功能说明: 日中断禁止 +* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -346,10 +346,10 @@ void RTC_IntDateDis(RTC_TypeDef *RTCx) RTCx->IE &= ~(1 << RTC_IE_DATE_Pos); } -/****************************************************************************************************************************************** -* 函数名称: RTC_IntDateClr() -* 功能说明: 日中断标志清除 -* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC +/****************************************************************************************************************************************** +* 函数名称: RTC_IntDateClr() +* 功能说明: 日中断标志清除 +* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -358,11 +358,11 @@ void RTC_IntDateClr(RTC_TypeDef *RTCx) RTCx->IF = (1 << RTC_IF_DATE_Pos); } -/****************************************************************************************************************************************** -* 函数名称: RTC_IntDateStat() -* 功能说明: 日中断状态 -* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC -* 输 出: uint32_t 1 日中断发生 0 日中断未发生 +/****************************************************************************************************************************************** +* 函数名称: RTC_IntDateStat() +* 功能说明: 日中断状态 +* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC +* 输 出: uint32_t 1 日中断发生 0 日中断未发生 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t RTC_IntDateStat(RTC_TypeDef *RTCx) @@ -370,10 +370,10 @@ uint32_t RTC_IntDateStat(RTC_TypeDef *RTCx) return (RTCx->IF & RTC_IF_DATE_Msk) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: RTC_IntAlarmEn() -* 功能说明: 闹钟中断使能 -* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC +/****************************************************************************************************************************************** +* 函数名称: RTC_IntAlarmEn() +* 功能说明: 闹钟中断使能 +* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -382,10 +382,10 @@ void RTC_IntAlarmEn(RTC_TypeDef *RTCx) RTCx->IE |= (1 << RTC_IE_ALARM_Pos); } -/****************************************************************************************************************************************** -* 函数名称: RTC_IntAlarmDis() -* 功能说明: 闹钟中断禁止 -* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC +/****************************************************************************************************************************************** +* 函数名称: RTC_IntAlarmDis() +* 功能说明: 闹钟中断禁止 +* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -394,10 +394,10 @@ void RTC_IntAlarmDis(RTC_TypeDef *RTCx) RTCx->IE &= ~(1 << RTC_IE_ALARM_Pos); } -/****************************************************************************************************************************************** -* 函数名称: RTC_IntAlarmClr() -* 功能说明: 闹钟中断标志清除 -* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC +/****************************************************************************************************************************************** +* 函数名称: RTC_IntAlarmClr() +* 功能说明: 闹钟中断标志清除 +* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -406,11 +406,11 @@ void RTC_IntAlarmClr(RTC_TypeDef *RTCx) RTCx->IF = (1 << RTC_IF_ALARM_Pos); } -/****************************************************************************************************************************************** -* 函数名称: RTC_IntAlarmStat() -* 功能说明: 闹钟中断状态 -* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC -* 输 出: uint32_t 1 闹钟中断发生 0 闹钟中断未发生 +/****************************************************************************************************************************************** +* 函数名称: RTC_IntAlarmStat() +* 功能说明: 闹钟中断状态 +* 输 入: RTC_TypeDef * RTCx 指定要被设置的RTC,可取值包括RTC +* 输 出: uint32_t 1 闹钟中断发生 0 闹钟中断未发生 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t RTC_IntAlarmStat(RTC_TypeDef *RTCx) diff --git a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_sdio.c b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_sdio.c index 15d5dac922..849193110c 100644 --- a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_sdio.c +++ b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_sdio.c @@ -1,18 +1,18 @@ -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 文件名称: SWM320_sdio.c -* 功能说明: SWM320单片机的SDIO接口驱动库 -* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 +* 功能说明: SWM320单片机的SDIO接口驱动库 +* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 * 注意事项: 为了通用性、兼容性、易用性,只支持以512字节为单位的读写 -* 版本日期: V1.1.0 2017年10月25日 -* 升级记录: +* 版本日期: V1.1.0 2017年10月25日 +* 升级记录: * * ******************************************************************************************************************************************* * @attention * -* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION -* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE -* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT +* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION +* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE +* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * -ECTION WITH THEIR PRODUCTS. * @@ -23,11 +23,11 @@ SD_CardInfo SD_cardInfo; -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: SDIO_Init() -* 功能说明: SDIO读写SD卡初始化,初始化成高速4线模式、读写以512字节大小进行 -* 输 入: uint32_t freq SDIO_CLK时钟频率 -* 输 出: uint32_t SD_RES_OK 操作成功 SD_RES_ERR 操作失败 SD_RES_TIMEOUT 操作超时 +* 功能说明: SDIO读写SD卡初始化,初始化成高速4线模式、读写以512字节大小进行 +* 输 入: uint32_t freq SDIO_CLK时钟频率 +* 输 出: uint32_t SD_RES_OK 操作成功 SD_RES_ERR 操作失败 SD_RES_TIMEOUT 操作超时 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t SDIO_Init(uint32_t freq) @@ -125,12 +125,12 @@ uint32_t SDIO_Init(uint32_t freq) return SD_RES_OK; } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: SDIO_BlockWrite() -* 功能说明: 向SD卡写入数据 -* 输 入: uint32_t block_addr SD卡块地址,每块512字节 -* uint32_t buff[] 要写入的数据 -* 输 出: uint32_t SD_RES_OK 操作成功 SD_RES_ERR 操作失败 SD_RES_TIMEOUT 操作超时 +* 功能说明: 向SD卡写入数据 +* 输 入: uint32_t block_addr SD卡块地址,每块512字节 +* uint32_t buff[] 要写入的数据 +* 输 出: uint32_t SD_RES_OK 操作成功 SD_RES_ERR 操作失败 SD_RES_TIMEOUT 操作超时 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t SDIO_BlockWrite(uint32_t block_addr, uint32_t buff[]) @@ -161,13 +161,13 @@ uint32_t SDIO_BlockWrite(uint32_t block_addr, uint32_t buff[]) return SD_RES_OK; } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: SDIO_MultiBlockWrite() -* 功能说明: 向SD卡写入多块数据 -* 输 入: uint32_t block_addr SD卡块地址,每块512字节 -* uint16_t block_cnt 要写入的块数 -* uint32_t buff[] 要写入的数据 -* 输 出: uint32_t SD_RES_OK 操作成功 SD_RES_ERR 操作失败 SD_RES_TIMEOUT 操作超时 +* 功能说明: 向SD卡写入多块数据 +* 输 入: uint32_t block_addr SD卡块地址,每块512字节 +* uint16_t block_cnt 要写入的块数 +* uint32_t buff[] 要写入的数据 +* 输 出: uint32_t SD_RES_OK 操作成功 SD_RES_ERR 操作失败 SD_RES_TIMEOUT 操作超时 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t SDIO_MultiBlockWrite(uint32_t block_addr, uint16_t block_cnt, uint32_t buff[]) @@ -201,13 +201,13 @@ uint32_t SDIO_MultiBlockWrite(uint32_t block_addr, uint16_t block_cnt, uint32_t return SD_RES_OK; } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: SDIO_DMABlockWrite() -* 功能说明: 通过DMA向SD卡写入多块数据 -* 输 入: uint32_t block_addr SD卡块地址,每块512字节 -* uint16_t block_cnt 要写入的块数 -* uint32_t buff[] 要写入的数据 -* 输 出: uint32_t SD_RES_OK 操作成功 SD_RES_ERR 操作失败 SD_RES_TIMEOUT 操作超时 +* 功能说明: 通过DMA向SD卡写入多块数据 +* 输 入: uint32_t block_addr SD卡块地址,每块512字节 +* uint16_t block_cnt 要写入的块数 +* uint32_t buff[] 要写入的数据 +* 输 出: uint32_t SD_RES_OK 操作成功 SD_RES_ERR 操作失败 SD_RES_TIMEOUT 操作超时 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t SDIO_DMABlockWrite(uint32_t block_addr, uint16_t block_cnt, uint32_t buff[]) @@ -233,12 +233,12 @@ uint32_t SDIO_DMABlockWrite(uint32_t block_addr, uint16_t block_cnt, uint32_t bu return SD_RES_OK; } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: SDIO_BlockRead() -* 功能说明: 从SD卡读出数据 -* 输 入: uint32_t block_addr SD卡块地址,每块512字节 -* uint32_t buff[] 读出的数据 -* 输 出: uint32_t SD_RES_OK 操作成功 SD_RES_ERR 操作失败 SD_RES_TIMEOUT 操作超时 +* 功能说明: 从SD卡读出数据 +* 输 入: uint32_t block_addr SD卡块地址,每块512字节 +* uint32_t buff[] 读出的数据 +* 输 出: uint32_t SD_RES_OK 操作成功 SD_RES_ERR 操作失败 SD_RES_TIMEOUT 操作超时 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t SDIO_BlockRead(uint32_t block_addr, uint32_t buff[]) @@ -269,13 +269,13 @@ uint32_t SDIO_BlockRead(uint32_t block_addr, uint32_t buff[]) return SD_RES_OK; } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: SDIO_MultiBlockRead() -* 功能说明: 从SD卡读出多块数据 -* 输 入: uint32_t block_addr SD卡块地址,每块512字节 -* uint16_t block_cnt 要读出的块数 -* uint32_t buff[] 读出的数据 -* 输 出: uint32_t SD_RES_OK 操作成功 SD_RES_ERR 操作失败 SD_RES_TIMEOUT 操作超时 +* 功能说明: 从SD卡读出多块数据 +* 输 入: uint32_t block_addr SD卡块地址,每块512字节 +* uint16_t block_cnt 要读出的块数 +* uint32_t buff[] 读出的数据 +* 输 出: uint32_t SD_RES_OK 操作成功 SD_RES_ERR 操作失败 SD_RES_TIMEOUT 操作超时 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t SDIO_MultiBlockRead(uint32_t block_addr, uint16_t block_cnt, uint32_t buff[]) @@ -309,13 +309,13 @@ uint32_t SDIO_MultiBlockRead(uint32_t block_addr, uint16_t block_cnt, uint32_t b return SD_RES_OK; } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: SDIO_DMABlockRead() -* 功能说明: 通过DMA从SD卡读出多块数据 -* 输 入: uint32_t block_addr SD卡块地址,每块512字节 -* uint16_t block_cnt 要读出的块数 -* uint32_t buff[] 读出的数据 -* 输 出: uint32_t SD_RES_OK 操作成功 SD_RES_ERR 操作失败 SD_RES_TIMEOUT 操作超时 +* 功能说明: 通过DMA从SD卡读出多块数据 +* 输 入: uint32_t block_addr SD卡块地址,每块512字节 +* uint16_t block_cnt 要读出的块数 +* uint32_t buff[] 读出的数据 +* 输 出: uint32_t SD_RES_OK 操作成功 SD_RES_ERR 操作失败 SD_RES_TIMEOUT 操作超时 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t SDIO_DMABlockRead(uint32_t block_addr, uint16_t block_cnt, uint32_t buff[]) @@ -341,18 +341,18 @@ uint32_t SDIO_DMABlockRead(uint32_t block_addr, uint16_t block_cnt, uint32_t buf return SD_RES_OK; } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: _SDIO_SendCmd() -* 功能说明: SDIO向SD卡发送命令 -* 输 入: uint32_t cmd 命令索引 -* uint32_t arg 命令参数 -* uint32_t resp_type 响应类型,取值SD_RESP_NO、SD_RESP_32b、SD_RESP_128b、SD_RESP_32b_busy -* uint32_t *resp_data 响应内容 -* uint32_t have_data 是否有数据传输 -* uint32_t data_read 1 读SD卡 0 写SD卡 -* uint16_t block_cnt 读写块个数 -* uint32_t use_dma 1 使用DMA搬运数据 -* 输 出: uint32_t SD_RES_OK 操作成功 SD_RES_ERR 操作失败 SD_RES_TIMEOUT 操作超时 +* 功能说明: SDIO向SD卡发送命令 +* 输 入: uint32_t cmd 命令索引 +* uint32_t arg 命令参数 +* uint32_t resp_type 响应类型,取值SD_RESP_NO、SD_RESP_32b、SD_RESP_128b、SD_RESP_32b_busy +* uint32_t *resp_data 响应内容 +* uint32_t have_data 是否有数据传输 +* uint32_t data_read 1 读SD卡 0 写SD卡 +* uint16_t block_cnt 读写块个数 +* uint32_t use_dma 1 使用DMA搬运数据 +* 输 出: uint32_t SD_RES_OK 操作成功 SD_RES_ERR 操作失败 SD_RES_TIMEOUT 操作超时 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t _SDIO_SendCmd(uint32_t cmd, uint32_t arg, uint32_t resp_type, uint32_t *resp_data, uint32_t have_data, uint32_t data_read, uint16_t block_cnt, uint32_t use_dma) diff --git a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_sdram.c b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_sdram.c index 90178f07e8..bc5751f079 100644 --- a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_sdram.c +++ b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_sdram.c @@ -1,29 +1,29 @@ -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 文件名称: SWM320_sdram.c -* 功能说明: SWM320单片机的SDRAM驱动程序 -* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 +* 功能说明: SWM320单片机的SDRAM驱动程序 +* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 * 注意事项: -* 版本日期: V1.1.0 2017年10月25日 -* 升级记录: +* 版本日期: V1.1.0 2017年10月25日 +* 升级记录: * * ******************************************************************************************************************************************* * @attention * -* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION -* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE -* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT +* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION +* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE +* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * -ECTION WITH THEIR PRODUCTS. * -* COPYRIGHT 2012 Synwit Technology +* COPYRIGHT 2012 Synwit Technology *******************************************************************************************************************************************/ #include "SWM320.h" #include "SWM320_sdram.h" -/****************************************************************************************************************************************** -* 函数名称: SDRAM_Init() -* 功能说明: SDRAM控制器初始化 +/****************************************************************************************************************************************** +* 函数名称: SDRAM_Init() +* 功能说明: SDRAM控制器初始化 * 输 入: SDRAM_InitStructure * initStruct 包含 SDRAM 控制器相关设定值的结构体 * 输 出: 无 * 注意事项: 无 @@ -79,9 +79,9 @@ void SDRAM_Init(SDRAM_InitStructure *initStruct) ; } -/****************************************************************************************************************************************** -* 函数名称: SDRAM_Enable() -* 功能说明: SDRAM使能,使能后可读写SDRAM +/****************************************************************************************************************************************** +* 函数名称: SDRAM_Enable() +* 功能说明: SDRAM使能,使能后可读写SDRAM * 输 入: 无 * 输 出: 无 * 注意事项: 无 @@ -97,9 +97,9 @@ void SDRAM_Enable(void) __NOP(); } -/****************************************************************************************************************************************** -* 函数名称: SDRAM_Disable() -* 功能说明: SDRAM禁能,禁能后SDRAM颗粒进入低功耗模式、并自刷新,不可读写 +/****************************************************************************************************************************************** +* 函数名称: SDRAM_Disable() +* 功能说明: SDRAM禁能,禁能后SDRAM颗粒进入低功耗模式、并自刷新,不可读写 * 输 入: 无 * 输 出: 无 * 注意事项: 无 diff --git a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_spi.c b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_spi.c index f6025a6e86..09430547eb 100644 --- a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_spi.c +++ b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_spi.c @@ -1,18 +1,18 @@ -/****************************************************************************************************************************************** -* 文件名称: SWM320_spi.c -* 功能说明: SWM320单片机的SPI功能驱动库 -* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 +/****************************************************************************************************************************************** +* 文件名称: SWM320_spi.c +* 功能说明: SWM320单片机的SPI功能驱动库 +* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 * 注意事项: -* 版本日期: V1.1.0 2017年10月25日 -* 升级记录: +* 版本日期: V1.1.0 2017年10月25日 +* 升级记录: * * ******************************************************************************************************************************************* * @attention * -* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION -* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE -* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT +* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION +* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE +* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * -ECTION WITH THEIR PRODUCTS. * @@ -21,11 +21,11 @@ #include "SWM320.h" #include "SWM320_spi.h" -/****************************************************************************************************************************************** -* 函数名称: SPI_Init() -* 功能说明: SPI同步串行接口初始化,包括帧长度设定、时序设定、速度设定、中断设定、FIFO触发设定 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 -* SPI_InitStructure * initStruct 包含SPI相关设定值的结构体 +/****************************************************************************************************************************************** +* 函数名称: SPI_Init() +* 功能说明: SPI同步串行接口初始化,包括帧长度设定、时序设定、速度设定、中断设定、FIFO触发设定 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +* SPI_InitStructure * initStruct 包含SPI相关设定值的结构体 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -86,10 +86,10 @@ void SPI_Init(SPI_TypeDef *SPIx, SPI_InitStructure *initStruct) } } -/****************************************************************************************************************************************** -* 函数名称: SPI_Open() -* 功能说明: SPI打开,允许收发 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +/****************************************************************************************************************************************** +* 函数名称: SPI_Open() +* 功能说明: SPI打开,允许收发 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -98,10 +98,10 @@ void SPI_Open(SPI_TypeDef *SPIx) SPIx->CTRL |= (0x01 << SPI_CTRL_EN_Pos); } -/****************************************************************************************************************************************** -* 函数名称: SPI_Close() -* 功能说明: SPI关闭,禁止收发 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +/****************************************************************************************************************************************** +* 函数名称: SPI_Close() +* 功能说明: SPI关闭,禁止收发 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -110,11 +110,11 @@ void SPI_Close(SPI_TypeDef *SPIx) SPIx->CTRL &= ~SPI_CTRL_EN_Msk; } -/****************************************************************************************************************************************** -* 函数名称: SPI_Read() -* 功能说明: 读取一个数据 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 -* 输 出: uint32_t 读取到的数据 +/****************************************************************************************************************************************** +* 函数名称: SPI_Read() +* 功能说明: 读取一个数据 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +* 输 出: uint32_t 读取到的数据 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t SPI_Read(SPI_TypeDef *SPIx) @@ -122,11 +122,11 @@ uint32_t SPI_Read(SPI_TypeDef *SPIx) return SPIx->DATA; } -/****************************************************************************************************************************************** -* 函数名称: SPI_Write() -* 功能说明: 写入一个数据 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 -* uint32_t 要写入的数据 +/****************************************************************************************************************************************** +* 函数名称: SPI_Write() +* 功能说明: 写入一个数据 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +* uint32_t 要写入的数据 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -135,11 +135,11 @@ void SPI_Write(SPI_TypeDef *SPIx, uint32_t data) SPIx->DATA = data; } -/****************************************************************************************************************************************** -* 函数名称: SPI_WriteWithWait() -* 功能说明: 写入一个数据并等待数据完全发送出去 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1、SPI1 -* uint32_t 要写入的数据 +/****************************************************************************************************************************************** +* 函数名称: SPI_WriteWithWait() +* 功能说明: 写入一个数据并等待数据完全发送出去 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1、SPI1 +* uint32_t 要写入的数据 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -153,12 +153,12 @@ void SPI_WriteWithWait(SPI_TypeDef *SPIx, uint32_t data) ; } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: SPI_ReadWrite() * 功能说明: 发送一个数据,并返回发送过程中接收到的 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 -* uint32_t data 要发送的数据 -* 输 出: uint32_t 接收到的数据 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +* uint32_t data 要发送的数据 +* 输 出: uint32_t 接收到的数据 * 注意事项: 对于同一个SPI模块,此函数不应与SPI_Write()混着用,因为SPI_Write()不清除SPI_STAT_RFNE状态 ******************************************************************************************************************************************/ uint32_t SPI_ReadWrite(SPI_TypeDef *SPIx, uint32_t data) @@ -170,11 +170,11 @@ uint32_t SPI_ReadWrite(SPI_TypeDef *SPIx, uint32_t data) return SPIx->DATA; } -/****************************************************************************************************************************************** -* 函数名称: SPI_IsRXEmpty() -* 功能说明: 接收FIFO是否空,如果不空则可以继续SPI_Read() -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 -* 输 出: uint32_t 1 接收FIFO空 0 接收FIFO非空 +/****************************************************************************************************************************************** +* 函数名称: SPI_IsRXEmpty() +* 功能说明: 接收FIFO是否空,如果不空则可以继续SPI_Read() +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +* 输 出: uint32_t 1 接收FIFO空 0 接收FIFO非空 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t SPI_IsRXEmpty(SPI_TypeDef *SPIx) @@ -182,11 +182,11 @@ uint32_t SPI_IsRXEmpty(SPI_TypeDef *SPIx) return (SPIx->STAT & SPI_STAT_RFNE_Msk) ? 0 : 1; } -/****************************************************************************************************************************************** -* 函数名称: SPI_IsTXFull() -* 功能说明: 发送FIFO是否满,如果不满则可以继续SPI_Write() -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 -* 输 出: uint32_t 1 发送FIFO满 0 发送FIFO不满 +/****************************************************************************************************************************************** +* 函数名称: SPI_IsTXFull() +* 功能说明: 发送FIFO是否满,如果不满则可以继续SPI_Write() +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +* 输 出: uint32_t 1 发送FIFO满 0 发送FIFO不满 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t SPI_IsTXFull(SPI_TypeDef *SPIx) @@ -194,11 +194,11 @@ uint32_t SPI_IsTXFull(SPI_TypeDef *SPIx) return (SPIx->STAT & SPI_STAT_TFNF_Msk) ? 0 : 1; } -/****************************************************************************************************************************************** -* 函数名称: SPI_IsTXEmpty() -* 功能说明: 发送FIFO是否空 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 -* 输 出: uint32_t 1 发送FIFO空 0 发送FIFO非空 +/****************************************************************************************************************************************** +* 函数名称: SPI_IsTXEmpty() +* 功能说明: 发送FIFO是否空 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +* 输 出: uint32_t 1 发送FIFO空 0 发送FIFO非空 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t SPI_IsTXEmpty(SPI_TypeDef *SPIx) @@ -206,10 +206,10 @@ uint32_t SPI_IsTXEmpty(SPI_TypeDef *SPIx) return (SPIx->STAT & SPI_STAT_TFE_Msk) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTRXHalfFullEn() -* 功能说明: 接收FIFO半满中断使能 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTRXHalfFullEn() +* 功能说明: 接收FIFO半满中断使能 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -218,10 +218,10 @@ void SPI_INTRXHalfFullEn(SPI_TypeDef *SPIx) SPIx->IE |= (0x01 << SPI_IE_RFHF_Pos); } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTRXHalfFullDis() -* 功能说明: 接收FIFO半满中断禁止 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTRXHalfFullDis() +* 功能说明: 接收FIFO半满中断禁止 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -230,10 +230,10 @@ void SPI_INTRXHalfFullDis(SPI_TypeDef *SPIx) SPIx->IE &= ~(0x01 << SPI_IE_RFHF_Pos); } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTRXHalfFullClr() -* 功能说明: 接收FIFO半满中断标志清除 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTRXHalfFullClr() +* 功能说明: 接收FIFO半满中断标志清除 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -242,11 +242,11 @@ void SPI_INTRXHalfFullClr(SPI_TypeDef *SPIx) SPIx->IF = (1 << SPI_IF_RFHF_Pos); } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTRXHalfFullStat() -* 功能说明: 接收FIFO半满中断状态 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 -* 输 出: uint32_t 1 接收FIFO达到半满 0 接收FIFO未达到半满 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTRXHalfFullStat() +* 功能说明: 接收FIFO半满中断状态 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +* 输 出: uint32_t 1 接收FIFO达到半满 0 接收FIFO未达到半满 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t SPI_INTRXHalfFullStat(SPI_TypeDef *SPIx) @@ -254,10 +254,10 @@ uint32_t SPI_INTRXHalfFullStat(SPI_TypeDef *SPIx) return (SPIx->IF & SPI_IF_RFHF_Msk) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTRXFullEn() -* 功能说明: 接收FIFO满中断使能 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTRXFullEn() +* 功能说明: 接收FIFO满中断使能 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -266,10 +266,10 @@ void SPI_INTRXFullEn(SPI_TypeDef *SPIx) SPIx->IE |= (0x01 << SPI_IE_RFF_Pos); } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTRXFullDis() -* 功能说明: 接收FIFO满中断禁止 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTRXFullDis() +* 功能说明: 接收FIFO满中断禁止 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -278,10 +278,10 @@ void SPI_INTRXFullDis(SPI_TypeDef *SPIx) SPIx->IE &= ~(0x01 << SPI_IE_RFF_Pos); } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTRXFullClr() -* 功能说明: 接收FIFO满中断标志清除 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTRXFullClr() +* 功能说明: 接收FIFO满中断标志清除 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -290,11 +290,11 @@ void SPI_INTRXFullClr(SPI_TypeDef *SPIx) SPIx->IF = (1 << SPI_IF_RFF_Pos); } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTRXFullStat() -* 功能说明: 接收FIFO满中断状态 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 -* 输 出: uint32_t 1 接收FIFO满 0 接收FIFO未满 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTRXFullStat() +* 功能说明: 接收FIFO满中断状态 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +* 输 出: uint32_t 1 接收FIFO满 0 接收FIFO未满 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t SPI_INTRXFullStat(SPI_TypeDef *SPIx) @@ -302,10 +302,10 @@ uint32_t SPI_INTRXFullStat(SPI_TypeDef *SPIx) return (SPIx->IF & SPI_IF_RFF_Msk) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTRXOverflowEn() -* 功能说明: 接收FIFO溢出中断使能 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTRXOverflowEn() +* 功能说明: 接收FIFO溢出中断使能 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -314,10 +314,10 @@ void SPI_INTRXOverflowEn(SPI_TypeDef *SPIx) SPIx->IE |= (0x01 << SPI_IE_RFOVF_Pos); } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTRXOverflowDis() -* 功能说明: 接收FIFO溢出中断禁止 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTRXOverflowDis() +* 功能说明: 接收FIFO溢出中断禁止 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -326,10 +326,10 @@ void SPI_INTRXOverflowDis(SPI_TypeDef *SPIx) SPIx->IE &= ~(0x01 << SPI_IE_RFOVF_Pos); } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTRXOverflowClr() -* 功能说明: 接收FIFO溢出中断标志清除 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTRXOverflowClr() +* 功能说明: 接收FIFO溢出中断标志清除 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -338,11 +338,11 @@ void SPI_INTRXOverflowClr(SPI_TypeDef *SPIx) SPIx->IF = (0x01 << SPI_IF_RFOVF_Pos); } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTRXOverflowStat() -* 功能说明: 接收FIFO溢出中断状态 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 -* 输 出: uint32_t 1 接收FIFO溢出 0 接收FIFO未溢出 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTRXOverflowStat() +* 功能说明: 接收FIFO溢出中断状态 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +* 输 出: uint32_t 1 接收FIFO溢出 0 接收FIFO未溢出 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t SPI_INTRXOverflowStat(SPI_TypeDef *SPIx) @@ -350,10 +350,10 @@ uint32_t SPI_INTRXOverflowStat(SPI_TypeDef *SPIx) return (SPIx->IF & SPI_IF_RFOVF_Msk) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTTXHalfFullEn() -* 功能说明: 发送FIFO半满中断使能 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTTXHalfFullEn() +* 功能说明: 发送FIFO半满中断使能 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -362,10 +362,10 @@ void SPI_INTTXHalfFullEn(SPI_TypeDef *SPIx) SPIx->IE |= (0x01 << SPI_IE_TFHF_Pos); } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTTXHalfFullDis() -* 功能说明: 发送FIFO半满中断禁止 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTTXHalfFullDis() +* 功能说明: 发送FIFO半满中断禁止 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -374,10 +374,10 @@ void SPI_INTTXHalfFullDis(SPI_TypeDef *SPIx) SPIx->IE &= ~(0x01 << SPI_IE_TFHF_Pos); } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTTXHalfFullClr() -* 功能说明: 发送FIFO半满中断标志清除 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTTXHalfFullClr() +* 功能说明: 发送FIFO半满中断标志清除 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -386,11 +386,11 @@ void SPI_INTTXHalfFullClr(SPI_TypeDef *SPIx) SPIx->IF = (1 << SPI_IF_TFHF_Pos); } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTTXHalfFullStat() -* 功能说明: 发送FIFO半满中断状态 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 -* 输 出: uint32_t 1 发送FIFO达到半满 0 发送FIFO未达到半满 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTTXHalfFullStat() +* 功能说明: 发送FIFO半满中断状态 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +* 输 出: uint32_t 1 发送FIFO达到半满 0 发送FIFO未达到半满 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t SPI_INTTXHalfFullStat(SPI_TypeDef *SPIx) @@ -398,10 +398,10 @@ uint32_t SPI_INTTXHalfFullStat(SPI_TypeDef *SPIx) return (SPIx->IF & SPI_IF_TFHF_Msk) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTTXEmptyEn() -* 功能说明: 发送FIFO空中断使能 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTTXEmptyEn() +* 功能说明: 发送FIFO空中断使能 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -410,10 +410,10 @@ void SPI_INTTXEmptyEn(SPI_TypeDef *SPIx) SPIx->IE |= (0x01 << SPI_IE_TFE_Pos); } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTTXEmptyDis() -* 功能说明: 发送FIFO空中断禁止 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTTXEmptyDis() +* 功能说明: 发送FIFO空中断禁止 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -422,10 +422,10 @@ void SPI_INTTXEmptyDis(SPI_TypeDef *SPIx) SPIx->IE &= ~(0x01 << SPI_IE_TFE_Pos); } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTTXEmptyClr() -* 功能说明: 发送FIFO空中断标志清除 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTTXEmptyClr() +* 功能说明: 发送FIFO空中断标志清除 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -434,11 +434,11 @@ void SPI_INTTXEmptyClr(SPI_TypeDef *SPIx) SPIx->IF = (1 << SPI_IF_TFE_Pos); } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTTXEmptyStat() -* 功能说明: 发送FIFO空中断状态 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 -* 输 出: uint32_t 1 发送FIFO空 0 发送FIFO非空 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTTXEmptyStat() +* 功能说明: 发送FIFO空中断状态 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +* 输 出: uint32_t 1 发送FIFO空 0 发送FIFO非空 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t SPI_INTTXEmptyStat(SPI_TypeDef *SPIx) @@ -446,10 +446,10 @@ uint32_t SPI_INTTXEmptyStat(SPI_TypeDef *SPIx) return (SPIx->IF & SPI_IF_TFE_Msk) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTTXCompleteEn() -* 功能说明: 发送FIFO空且发送移位寄存器空中断使能 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTTXCompleteEn() +* 功能说明: 发送FIFO空且发送移位寄存器空中断使能 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -458,10 +458,10 @@ void SPI_INTTXCompleteEn(SPI_TypeDef *SPIx) SPIx->IE |= (0x01 << SPI_IE_FTC_Pos); } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTTXCompleteDis() -* 功能说明: 发送FIFO空且发送移位寄存器空中断禁止 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTTXCompleteDis() +* 功能说明: 发送FIFO空且发送移位寄存器空中断禁止 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -470,10 +470,10 @@ void SPI_INTTXCompleteDis(SPI_TypeDef *SPIx) SPIx->IE &= ~(0x01 << SPI_IE_FTC_Pos); } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTTXCompleteClr() -* 功能说明: 发送FIFO空且发送移位寄存器空中断状态清除 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTTXCompleteClr() +* 功能说明: 发送FIFO空且发送移位寄存器空中断状态清除 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -482,11 +482,11 @@ void SPI_INTTXCompleteClr(SPI_TypeDef *SPIx) SPIx->IF = (1 << SPI_IF_FTC_Pos); } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTTXCompleteStat() -* 功能说明: 发送FIFO空且发送移位寄存器空中断状态 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 -* 输 出: uint32_t 1 发送FIFO空且发送移位寄存器空 0 发送FIFO或发送移位寄存器非空 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTTXCompleteStat() +* 功能说明: 发送FIFO空且发送移位寄存器空中断状态 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +* 输 出: uint32_t 1 发送FIFO空且发送移位寄存器空 0 发送FIFO或发送移位寄存器非空 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t SPI_INTTXCompleteStat(SPI_TypeDef *SPIx) @@ -494,10 +494,10 @@ uint32_t SPI_INTTXCompleteStat(SPI_TypeDef *SPIx) return (SPIx->IF & SPI_IF_FTC_Msk) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTTXWordCompleteEn() -* 功能说明: 发送FIFO字发送完成中断使能 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTTXWordCompleteEn() +* 功能说明: 发送FIFO字发送完成中断使能 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -506,10 +506,10 @@ void SPI_INTTXWordCompleteEn(SPI_TypeDef *SPIx) SPIx->IE |= (0x01 << SPI_IE_WTC_Pos); } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTTXWordCompleteDis() -* 功能说明: 发送FIFO字发送完成中断禁止 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTTXWordCompleteDis() +* 功能说明: 发送FIFO字发送完成中断禁止 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -518,10 +518,10 @@ void SPI_INTTXWordCompleteDis(SPI_TypeDef *SPIx) SPIx->IE &= ~(0x01 << SPI_IE_WTC_Pos); } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTTXWordCompleteClr() -* 功能说明: 发送FIFO字发送完成中断标志清除 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTTXWordCompleteClr() +* 功能说明: 发送FIFO字发送完成中断标志清除 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -530,11 +530,11 @@ void SPI_INTTXWordCompleteClr(SPI_TypeDef *SPIx) SPIx->IF = (1 << SPI_IF_WTC_Pos); } -/****************************************************************************************************************************************** -* 函数名称: SPI_INTTXWordCompleteStat() -* 功能说明: 发送FIFO字发送完成中断状态 -* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 -* 输 出: uint32_t 1 发送完成中断已发生 0 发送完成中断未发生 +/****************************************************************************************************************************************** +* 函数名称: SPI_INTTXWordCompleteStat() +* 功能说明: 发送FIFO字发送完成中断状态 +* 输 入: SPI_TypeDef * SPIx 指定要被设置的SPI,有效值包括SPI0、SPI1 +* 输 出: uint32_t 1 发送完成中断已发生 0 发送完成中断未发生 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t SPI_INTTXWordCompleteStat(SPI_TypeDef *SPIx) diff --git a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_sram.c b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_sram.c index 2818f5a8c1..8d0ad56d90 100644 --- a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_sram.c +++ b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_sram.c @@ -1,29 +1,29 @@ -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 文件名称: SWM320_sram.c -* 功能说明: SWM320单片机的SRAM驱动程序 -* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 +* 功能说明: SWM320单片机的SRAM驱动程序 +* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 * 注意事项: -* 版本日期: V1.1.0 2017年10月25日 -* 升级记录: +* 版本日期: V1.1.0 2017年10月25日 +* 升级记录: * * ******************************************************************************************************************************************* * @attention * -* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION -* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE -* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT +* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION +* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE +* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * -ECTION WITH THEIR PRODUCTS. * -* COPYRIGHT 2012 Synwit Technology +* COPYRIGHT 2012 Synwit Technology *******************************************************************************************************************************************/ #include "SWM320.h" #include "SWM320_sram.h" -/****************************************************************************************************************************************** -* 函数名称: SRAM_Init() -* 功能说明: SRAM控制器初始化 +/****************************************************************************************************************************************** +* 函数名称: SRAM_Init() +* 功能说明: SRAM控制器初始化 * 输 入: SRAM_InitStructure * initStruct 包含 SRAM 控制器相关设定值的结构体 * 输 出: 无 * 注意事项: 无 diff --git a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_timr.c b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_timr.c index 1451037f0c..6e51b0b868 100644 --- a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_timr.c +++ b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_timr.c @@ -1,33 +1,33 @@ -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 文件名称: SWM320_timr.c -* 功能说明: SWM320单片机的计数器/定时器功能驱动库 -* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 +* 功能说明: SWM320单片机的计数器/定时器功能驱动库 +* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 * 注意事项: -* 版本日期: V1.1.0 2017年10月25日 -* 升级记录: +* 版本日期: V1.1.0 2017年10月25日 +* 升级记录: * * ******************************************************************************************************************************************* * @attention * -* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION -* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE -* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT +* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION +* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE +* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * -ECTION WITH THEIR PRODUCTS. * -* COPYRIGHT 2012 Synwit Technology +* COPYRIGHT 2012 Synwit Technology *******************************************************************************************************************************************/ #include "SWM320.h" #include "SWM320_timr.h" -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: TIMR_Init() -* 功能说明: TIMR定时器/计数器初始化 -* 输 入: TIMR_TypeDef * TIMRx 指定要被设置的定时器,有效值包括TIMR0、TIMR1、TIMR2、TIMR3、TIMR4、TIMR5 -* uint32_t mode TIMR_MODE_TIMER 定时器模式 TIMR_MODE_COUNTER 计数器模式 -* uint32_t period 定时/计数周期 -* uint32_t int_en 中断使能 +* 功能说明: TIMR定时器/计数器初始化 +* 输 入: TIMR_TypeDef * TIMRx 指定要被设置的定时器,有效值包括TIMR0、TIMR1、TIMR2、TIMR3、TIMR4、TIMR5 +* uint32_t mode TIMR_MODE_TIMER 定时器模式 TIMR_MODE_COUNTER 计数器模式 +* uint32_t period 定时/计数周期 +* uint32_t int_en 中断使能 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -100,10 +100,10 @@ void TIMR_Init(TIMR_TypeDef *TIMRx, uint32_t mode, uint32_t period, uint32_t int } } -/****************************************************************************************************************************************** -* 函数名称: TIMR_Start() -* 功能说明: 启动定时器,从初始值开始计时/计数 -* 输 入: TIMR_TypeDef * TIMRx 指定要被设置的定时器,可取值包括TIMR0、TIMR1、TIMR2、TIMR3、TIMR4、TIMR5 +/****************************************************************************************************************************************** +* 函数名称: TIMR_Start() +* 功能说明: 启动定时器,从初始值开始计时/计数 +* 输 入: TIMR_TypeDef * TIMRx 指定要被设置的定时器,可取值包括TIMR0、TIMR1、TIMR2、TIMR3、TIMR4、TIMR5 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -112,10 +112,10 @@ void TIMR_Start(TIMR_TypeDef *TIMRx) TIMRx->CTRL |= TIMR_CTRL_EN_Msk; } -/****************************************************************************************************************************************** -* 函数名称: TIMR_Stop() -* 功能说明: 停止定时器 -* 输 入: TIMR_TypeDef * TIMRx 指定要被设置的定时器,可取值包括TIMR0、TIMR1、TIMR2、TIMR3、TIMR4、TIMR5 +/****************************************************************************************************************************************** +* 函数名称: TIMR_Stop() +* 功能说明: 停止定时器 +* 输 入: TIMR_TypeDef * TIMRx 指定要被设置的定时器,可取值包括TIMR0、TIMR1、TIMR2、TIMR3、TIMR4、TIMR5 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -124,10 +124,10 @@ void TIMR_Stop(TIMR_TypeDef *TIMRx) TIMRx->CTRL &= ~TIMR_CTRL_EN_Msk; } -/****************************************************************************************************************************************** -* 函数名称: TIMR_Halt() -* 功能说明: 暂停定时器,计数值保持不变 -* 输 入: TIMR_TypeDef * TIMRx 指定要被设置的定时器,可取值包括TIMR0、TIMR1、TIMR2、TIMR3、TIMR4、TIMR5 +/****************************************************************************************************************************************** +* 函数名称: TIMR_Halt() +* 功能说明: 暂停定时器,计数值保持不变 +* 输 入: TIMR_TypeDef * TIMRx 指定要被设置的定时器,可取值包括TIMR0、TIMR1、TIMR2、TIMR3、TIMR4、TIMR5 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -161,10 +161,10 @@ void TIMR_Halt(TIMR_TypeDef *TIMRx) } } -/****************************************************************************************************************************************** -* 函数名称: TIMR_Resume() -* 功能说明: 恢复定时器,从暂停处继续计数 -* 输 入: TIMR_TypeDef * TIMRx 指定要被设置的定时器,可取值包括TIMR0、TIMR1、TIMR2、TIMR3、TIMR4、TIMR5 +/****************************************************************************************************************************************** +* 函数名称: TIMR_Resume() +* 功能说明: 恢复定时器,从暂停处继续计数 +* 输 入: TIMR_TypeDef * TIMRx 指定要被设置的定时器,可取值包括TIMR0、TIMR1、TIMR2、TIMR3、TIMR4、TIMR5 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -198,11 +198,11 @@ void TIMR_Resume(TIMR_TypeDef *TIMRx) } } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: TIMR_SetPeriod() -* 功能说明: 设置定时/计数周期 -* 输 入: TIMR_TypeDef * TIMRx 指定要被设置的定时器,可取值包括TIMR0、TIMR1、TIMR2、TIMR3、TIMR4、TIMR5 -* uint32_t period 定时/计数周期 +* 功能说明: 设置定时/计数周期 +* 输 入: TIMR_TypeDef * TIMRx 指定要被设置的定时器,可取值包括TIMR0、TIMR1、TIMR2、TIMR3、TIMR4、TIMR5 +* uint32_t period 定时/计数周期 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -211,11 +211,11 @@ void TIMR_SetPeriod(TIMR_TypeDef *TIMRx, uint32_t period) TIMRx->LDVAL = period; } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: TIMR_GetPeriod() -* 功能说明: 获取定时/计数周期 -* 输 入: TIMR_TypeDef * TIMRx 指定要被设置的定时器,可取值包括TIMR0、TIMR1、TIMR2、TIMR3、TIMR4、TIMR5 -* 输 出: uint32_t 当前定时/计数周期 +* 功能说明: 获取定时/计数周期 +* 输 入: TIMR_TypeDef * TIMRx 指定要被设置的定时器,可取值包括TIMR0、TIMR1、TIMR2、TIMR3、TIMR4、TIMR5 +* 输 出: uint32_t 当前定时/计数周期 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t TIMR_GetPeriod(TIMR_TypeDef *TIMRx) @@ -223,11 +223,11 @@ uint32_t TIMR_GetPeriod(TIMR_TypeDef *TIMRx) return TIMRx->LDVAL; } -/****************************************************************************************************************************************** -* 函数名称: TIMR_GetCurValue() -* 功能说明: 获取当前计数值 -* 输 入: TIMR_TypeDef * TIMRx 指定要被设置的定时器,可取值包括TIMR0、TIMR1、TIMR2、TIMR3、TIMR4、TIMR5 -* 输 出: uint32_t 当前计数值 +/****************************************************************************************************************************************** +* 函数名称: TIMR_GetCurValue() +* 功能说明: 获取当前计数值 +* 输 入: TIMR_TypeDef * TIMRx 指定要被设置的定时器,可取值包括TIMR0、TIMR1、TIMR2、TIMR3、TIMR4、TIMR5 +* 输 出: uint32_t 当前计数值 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t TIMR_GetCurValue(TIMR_TypeDef *TIMRx) @@ -235,10 +235,10 @@ uint32_t TIMR_GetCurValue(TIMR_TypeDef *TIMRx) return TIMRx->CVAL; } -/****************************************************************************************************************************************** -* 函数名称: TIMR_INTEn() -* 功能说明: 使能中断 -* 输 入: TIMR_TypeDef * TIMRx 指定要被设置的定时器,可取值包括TIMR0、TIMR1、TIMR2、TIMR3、TIMR4、TIMR5 +/****************************************************************************************************************************************** +* 函数名称: TIMR_INTEn() +* 功能说明: 使能中断 +* 输 入: TIMR_TypeDef * TIMRx 指定要被设置的定时器,可取值包括TIMR0、TIMR1、TIMR2、TIMR3、TIMR4、TIMR5 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -278,10 +278,10 @@ void TIMR_INTEn(TIMR_TypeDef *TIMRx) } } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: TIMR_INTDis() -* 功能说明: 禁能中断 -* 输 入: TIMR_TypeDef * TIMRx 指定要被设置的定时器,可取值包括TIMR0、TIMR1、TIMR2、TIMR3、TIMR4、TIMR5 +* 功能说明: 禁能中断 +* 输 入: TIMR_TypeDef * TIMRx 指定要被设置的定时器,可取值包括TIMR0、TIMR1、TIMR2、TIMR3、TIMR4、TIMR5 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -315,10 +315,10 @@ void TIMR_INTDis(TIMR_TypeDef *TIMRx) } } -/****************************************************************************************************************************************** -* 函数名称: TIMR_INTClr() -* 功能说明: 清除中断标志 -* 输 入: TIMR_TypeDef * TIMRx 指定要被设置的定时器,可取值包括TIMR0、TIMR1、TIMR2、TIMR3、TIMR4、TIMR5 +/****************************************************************************************************************************************** +* 函数名称: TIMR_INTClr() +* 功能说明: 清除中断标志 +* 输 入: TIMR_TypeDef * TIMRx 指定要被设置的定时器,可取值包括TIMR0、TIMR1、TIMR2、TIMR3、TIMR4、TIMR5 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -352,11 +352,11 @@ void TIMR_INTClr(TIMR_TypeDef *TIMRx) } } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: TIMR_INTStat() -* 功能说明: 获取中断状态 -* 输 入: TIMR_TypeDef * TIMRx 指定要被设置的定时器,可取值包括TIMR0、TIMR1、TIMR2、TIMR3、TIMR4、TIMR5 -* 输 出: uint32_t 0 TIMRx未产生中断 1 TIMRx产生了中断 +* 功能说明: 获取中断状态 +* 输 入: TIMR_TypeDef * TIMRx 指定要被设置的定时器,可取值包括TIMR0、TIMR1、TIMR2、TIMR3、TIMR4、TIMR5 +* 输 出: uint32_t 0 TIMRx未产生中断 1 TIMRx产生了中断 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t TIMR_INTStat(TIMR_TypeDef *TIMRx) @@ -385,11 +385,11 @@ uint32_t TIMR_INTStat(TIMR_TypeDef *TIMRx) return 0; } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: Pulse_Init() -* 功能说明: 脉宽测量功能初始化 -* 输 入: uint32_t pulse PULSE_LOW 测量低脉冲宽度 PULSE_HIGH 测量高脉冲宽度 -* uint32_t int_en 是否使能脉冲测量完成中断 +* 功能说明: 脉宽测量功能初始化 +* 输 入: uint32_t pulse PULSE_LOW 测量低脉冲宽度 PULSE_HIGH 测量高脉冲宽度 +* uint32_t int_en 是否使能脉冲测量完成中断 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -407,9 +407,9 @@ void Pulse_Init(uint32_t pulse, uint32_t int_en) NVIC_EnableIRQ(PULSE_IRQn); } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: Pulse_Start() -* 功能说明: 脉宽测量功能启动,测量到脉宽后会自动关闭测量功能 +* 功能说明: 脉宽测量功能启动,测量到脉宽后会自动关闭测量功能 * 输 入: 无 * 输 出: 无 * 注意事项: 无 @@ -419,11 +419,11 @@ void Pulse_Start(void) TIMRG->PCTRL |= (1 << TIMRG_PCTRL_EN_Pos); } -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 函数名称: Pulse_Done() -* 功能说明: 脉宽测量是否完成 +* 功能说明: 脉宽测量是否完成 * 输 入: 无 -* 输 出: uint32_t 1 测量已完成 0 测量未完成 +* 输 出: uint32_t 1 测量已完成 0 测量未完成 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t Pulse_Done(void) diff --git a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_uart.c b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_uart.c index 721184fd94..c60b7fa825 100644 --- a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_uart.c +++ b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_uart.c @@ -1,31 +1,31 @@ -/****************************************************************************************************************************************** -* 文件名称: SWM320_uart.c -* 功能说明: SWM320单片机的UART串口功能驱动库 -* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 +/****************************************************************************************************************************************** +* 文件名称: SWM320_uart.c +* 功能说明: SWM320单片机的UART串口功能驱动库 +* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 * 注意事项: 没有编写LIN功能相关的函数 -* 版本日期: V1.1.0 2017年10月25日 -* 升级记录: +* 版本日期: V1.1.0 2017年10月25日 +* 升级记录: * * ******************************************************************************************************************************************* * @attention * -* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION -* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE -* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT +* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION +* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE +* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * -ECTION WITH THEIR PRODUCTS. * -* COPYRIGHT 2012 Synwit Technology +* COPYRIGHT 2012 Synwit Technology *******************************************************************************************************************************************/ #include "SWM320.h" #include "SWM320_uart.h" -/****************************************************************************************************************************************** -* 函数名称: UART_Init() -* 功能说明: UART串口初始化 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 -* UART_InitStructure * initStruct 包含UART串口相关设定值的结构体 +/****************************************************************************************************************************************** +* 函数名称: UART_Init() +* 功能说明: UART串口初始化 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +* UART_InitStructure * initStruct 包含UART串口相关设定值的结构体 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -62,8 +62,8 @@ void UART_Init(UART_TypeDef *UARTx, UART_InitStructure *initStruct) (initStruct->StopBits << UART_CTRL_STOP2b_Pos); /* 在SWM320中,当 RXLVL >= RXTHR 时触发中断,如果RXTHR设置为0的话,在未接收到数据时就会一直触发中断; - 其他芯片中,当 RXLVL > RXTHR 时触发中断,为解决SWM320中RXTHR不能为0的问题,并统一库函数API,这里将RXTHR设置值加一 - */ + 其他芯片中,当 RXLVL > RXTHR 时触发中断,为解决SWM320中RXTHR不能为0的问题,并统一库函数API,这里将RXTHR设置值加一 + */ switch ((uint32_t)UARTx) // 软件复位不能清零 NVIC 寄存器,若不手动清除,下面的代码清零 RXTHR 时会导致一直进入 ISR { case ((uint32_t)UART0): @@ -139,10 +139,10 @@ void UART_Init(UART_TypeDef *UARTx, UART_InitStructure *initStruct) } } -/****************************************************************************************************************************************** -* 函数名称: UART_Open() -* 功能说明: UART串口打开 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +/****************************************************************************************************************************************** +* 函数名称: UART_Open() +* 功能说明: UART串口打开 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -151,10 +151,10 @@ void UART_Open(UART_TypeDef *UARTx) UARTx->CTRL |= (0x01 << UART_CTRL_EN_Pos); } -/****************************************************************************************************************************************** -* 函数名称: UART_Close() -* 功能说明: UART串口关闭 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +/****************************************************************************************************************************************** +* 函数名称: UART_Close() +* 功能说明: UART串口关闭 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -163,11 +163,11 @@ void UART_Close(UART_TypeDef *UARTx) UARTx->CTRL &= ~(0x01 << UART_CTRL_EN_Pos); } -/****************************************************************************************************************************************** -* 函数名称: UART_WriteByte() -* 功能说明: 发送一个字节数据 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,可取值包括UART0、UART1、UART2、UART3、UART4 -* uint32_t data 要发送的字节 +/****************************************************************************************************************************************** +* 函数名称: UART_WriteByte() +* 功能说明: 发送一个字节数据 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,可取值包括UART0、UART1、UART2、UART3、UART4 +* uint32_t data 要发送的字节 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -176,12 +176,12 @@ void UART_WriteByte(UART_TypeDef *UARTx, uint32_t data) UARTx->DATA = data; } -/****************************************************************************************************************************************** -* 函数名称: UART_ReadByte() -* 功能说明: 读取一个字节数据,并指出数据是否Valid -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,可取值包括UART0、UART1、UART2、UART3、UART4 -* uint32_t * data 接收到的数据 -* 输 出: uint32_t 0 无错误 UART_ERR_PARITY 奇偶校验错误 +/****************************************************************************************************************************************** +* 函数名称: UART_ReadByte() +* 功能说明: 读取一个字节数据,并指出数据是否Valid +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,可取值包括UART0、UART1、UART2、UART3、UART4 +* uint32_t * data 接收到的数据 +* 输 出: uint32_t 0 无错误 UART_ERR_PARITY 奇偶校验错误 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t UART_ReadByte(UART_TypeDef *UARTx, uint32_t *data) @@ -196,11 +196,11 @@ uint32_t UART_ReadByte(UART_TypeDef *UARTx, uint32_t *data) return 0; } -/****************************************************************************************************************************************** -* 函数名称: UART_IsTXBusy() -* 功能说明: UART是否正在发送数据 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 -* 输 出: uint32_t 1 UART正在发送数据 0 数据已发完 +/****************************************************************************************************************************************** +* 函数名称: UART_IsTXBusy() +* 功能说明: UART是否正在发送数据 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +* 输 出: uint32_t 1 UART正在发送数据 0 数据已发完 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t UART_IsTXBusy(UART_TypeDef *UARTx) @@ -208,11 +208,11 @@ uint32_t UART_IsTXBusy(UART_TypeDef *UARTx) return (UARTx->CTRL & UART_CTRL_TXIDLE_Msk) ? 0 : 1; } -/****************************************************************************************************************************************** -* 函数名称: UART_IsRXFIFOEmpty() -* 功能说明: 接收FIFO是否为空,如果不空则说明其中有数据可以读取 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 -* 输 出: uint32_t 1 接收FIFO空 0 接收FIFO非空 +/****************************************************************************************************************************************** +* 函数名称: UART_IsRXFIFOEmpty() +* 功能说明: 接收FIFO是否为空,如果不空则说明其中有数据可以读取 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +* 输 出: uint32_t 1 接收FIFO空 0 接收FIFO非空 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t UART_IsRXFIFOEmpty(UART_TypeDef *UARTx) @@ -220,11 +220,11 @@ uint32_t UART_IsRXFIFOEmpty(UART_TypeDef *UARTx) return (UARTx->CTRL & UART_CTRL_RXNE_Msk) ? 0 : 1; } -/****************************************************************************************************************************************** -* 函数名称: UART_IsTXFIFOFull() -* 功能说明: 发送FIFO是否为满,如果不满则可以继续向其中写入数据 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 -* 输 出: uint32_t 1 发送FIFO满 0 发送FIFO不满 +/****************************************************************************************************************************************** +* 函数名称: UART_IsTXFIFOFull() +* 功能说明: 发送FIFO是否为满,如果不满则可以继续向其中写入数据 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +* 输 出: uint32_t 1 发送FIFO满 0 发送FIFO不满 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t UART_IsTXFIFOFull(UART_TypeDef *UARTx) @@ -232,11 +232,11 @@ uint32_t UART_IsTXFIFOFull(UART_TypeDef *UARTx) return (UARTx->CTRL & UART_CTRL_TXFF_Msk) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: UART_SetBaudrate() -* 功能说明: 设置波特率 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 -* uint32_t baudrate 要设置的波特率 +/****************************************************************************************************************************************** +* 函数名称: UART_SetBaudrate() +* 功能说明: 设置波特率 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +* uint32_t baudrate 要设置的波特率 * 输 出: 无 * 注意事项: 不要在串口工作时更改波特率,使用此函数前请先调用UART_Close()关闭串口 ******************************************************************************************************************************************/ @@ -246,11 +246,11 @@ void UART_SetBaudrate(UART_TypeDef *UARTx, uint32_t baudrate) UARTx->BAUD |= ((SystemCoreClock / 16 / baudrate - 1) << UART_BAUD_BAUD_Pos); } -/****************************************************************************************************************************************** -* 函数名称: UART_GetBaudrate() -* 功能说明: 查询波特率 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 -* 输 出: uint32_t 当前波特率 +/****************************************************************************************************************************************** +* 函数名称: UART_GetBaudrate() +* 功能说明: 查询波特率 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +* 输 出: uint32_t 当前波特率 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t UART_GetBaudrate(UART_TypeDef *UARTx) @@ -258,12 +258,12 @@ uint32_t UART_GetBaudrate(UART_TypeDef *UARTx) return SystemCoreClock / 16 / (((UARTx->BAUD & UART_BAUD_BAUD_Msk) >> UART_BAUD_BAUD_Pos) + 1); } -/****************************************************************************************************************************************** -* 函数名称: UART_CTSConfig() -* 功能说明: UART CTS流控配置 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 -* uint32_t enable 1 使能CTS流控 0 禁止CTS流控 -* uint32_t polarity 0 CTS输入为低表示可以发送数据 1 CTS输入为高表示可以发送数据 +/****************************************************************************************************************************************** +* 函数名称: UART_CTSConfig() +* 功能说明: UART CTS流控配置 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +* uint32_t enable 1 使能CTS流控 0 禁止CTS流控 +* uint32_t polarity 0 CTS输入为低表示可以发送数据 1 CTS输入为高表示可以发送数据 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -274,11 +274,11 @@ void UART_CTSConfig(UART_TypeDef *UARTx, uint32_t enable, uint32_t polarity) (polarity << UART_CTSCR_POL_Pos); } -/****************************************************************************************************************************************** -* 函数名称: UART_CTSLineState() -* 功能说明: UART CTS线当前状态 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 -* 输 出: uint32_t 0 CTS线当前为低电平 1 CTS线当前为高电平 +/****************************************************************************************************************************************** +* 函数名称: UART_CTSLineState() +* 功能说明: UART CTS线当前状态 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +* 输 出: uint32_t 0 CTS线当前为低电平 1 CTS线当前为高电平 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t UART_CTSLineState(UART_TypeDef *UARTx) @@ -286,13 +286,13 @@ uint32_t UART_CTSLineState(UART_TypeDef *UARTx) return (UARTx->CTSCR & UART_CTSCR_STAT_Msk) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: UART_RTSConfig() -* 功能说明: UART RTS流控配置 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 -* uint32_t enable 1 使能RTS流控 0 禁止RTS流控 -* uint32_t polarity 0 RTS输出低表示可以接收数据 1 RTS输出高表示可以接收数据 -* uint32_t threshold RTS流控的触发阈值,可取值UART_RTS_1BYTE、UART_RTS_2BYTE、UART_RTS_4BYTE、UART_RTS_6BYTE +/****************************************************************************************************************************************** +* 函数名称: UART_RTSConfig() +* 功能说明: UART RTS流控配置 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +* uint32_t enable 1 使能RTS流控 0 禁止RTS流控 +* uint32_t polarity 0 RTS输出低表示可以接收数据 1 RTS输出高表示可以接收数据 +* uint32_t threshold RTS流控的触发阈值,可取值UART_RTS_1BYTE、UART_RTS_2BYTE、UART_RTS_4BYTE、UART_RTS_6BYTE * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -304,11 +304,11 @@ void UART_RTSConfig(UART_TypeDef *UARTx, uint32_t enable, uint32_t polarity, uin (threshold << UART_RTSCR_THR_Pos); } -/****************************************************************************************************************************************** -* 函数名称: UART_RTSLineState() -* 功能说明: UART RTS线当前状态 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 -* 输 出: uint32_t 0 RTS线当前为低电平 1 RTS线当前为高电平 +/****************************************************************************************************************************************** +* 函数名称: UART_RTSLineState() +* 功能说明: UART RTS线当前状态 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +* 输 出: uint32_t 0 RTS线当前为低电平 1 RTS线当前为高电平 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t UART_RTSLineState(UART_TypeDef *UARTx) @@ -316,12 +316,12 @@ uint32_t UART_RTSLineState(UART_TypeDef *UARTx) return (UARTx->RTSCR & UART_RTSCR_STAT_Msk) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: UART_LINConfig() -* 功能说明: UART LIN功能配置 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 -* uint32_t detectedIEn 检测到Break中断使能 -* uint32_t generatedIEn Break发送完成中断使能 +/****************************************************************************************************************************************** +* 函数名称: UART_LINConfig() +* 功能说明: UART LIN功能配置 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +* uint32_t detectedIEn 检测到Break中断使能 +* uint32_t generatedIEn Break发送完成中断使能 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -332,10 +332,10 @@ void UART_LINConfig(UART_TypeDef *UARTx, uint32_t detectedIEn, uint32_t generate (generatedIEn << UART_LINCR_GENBRKIE_Pos); } -/****************************************************************************************************************************************** -* 函数名称: UART_LINGenerate() -* 功能说明: UART LIN产生/发送Break -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +/****************************************************************************************************************************************** +* 函数名称: UART_LINGenerate() +* 功能说明: UART LIN产生/发送Break +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -344,11 +344,11 @@ void UART_LINGenerate(UART_TypeDef *UARTx) UARTx->LINCR |= (1 << UART_LINCR_GENBRK_Pos); } -/****************************************************************************************************************************************** -* 函数名称: UART_LINIsDetected() -* 功能说明: UART LIN是否检测到Break -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 -* 输 出: uint32_t 1 检测到LIN Break 0 未检测到LIN Break +/****************************************************************************************************************************************** +* 函数名称: UART_LINIsDetected() +* 功能说明: UART LIN是否检测到Break +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +* 输 出: uint32_t 1 检测到LIN Break 0 未检测到LIN Break * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t UART_LINIsDetected(UART_TypeDef *UARTx) @@ -356,11 +356,11 @@ uint32_t UART_LINIsDetected(UART_TypeDef *UARTx) return (UARTx->LINCR & UART_LINCR_BRKDETIF_Msk) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: UART_LINIsGenerated() -* 功能说明: UART LIN Break是否发送完成 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 -* 输 出: uint32_t 1 LIN Break 发送完成 0 LIN Break发送未完成 +/****************************************************************************************************************************************** +* 函数名称: UART_LINIsGenerated() +* 功能说明: UART LIN Break是否发送完成 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +* 输 出: uint32_t 1 LIN Break 发送完成 0 LIN Break发送未完成 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t UART_LINIsGenerated(UART_TypeDef *UARTx) @@ -368,13 +368,13 @@ uint32_t UART_LINIsGenerated(UART_TypeDef *UARTx) return (UARTx->LINCR & UART_LINCR_GENBRKIF_Msk) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: UART_ABRStart() -* 功能说明: UART 自动波特率检测开始 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 -* uint32_t detectChar 用于自动检测、计算波特率的检测字符 -* 8位数据时可取值:0xFF、0xFE、0xF8、0x80,分别表示发送方必须发送0xFF、0xFE、0xF8、0x80 -* 9位数据时可取值:0x1FF、0x1FE、0x1F8、0x180,分别表示发送方必须发送0x1FF、0x1FE、0x1F8、0x180 +/****************************************************************************************************************************************** +* 函数名称: UART_ABRStart() +* 功能说明: UART 自动波特率检测开始 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +* uint32_t detectChar 用于自动检测、计算波特率的检测字符 +* 8位数据时可取值:0xFF、0xFE、0xF8、0x80,分别表示发送方必须发送0xFF、0xFE、0xF8、0x80 +* 9位数据时可取值:0x1FF、0x1FE、0x1F8、0x180,分别表示发送方必须发送0x1FF、0x1FE、0x1F8、0x180 * 输 出: 无 * 注意事项: 自动波特率检测时不能开启奇偶校验 ******************************************************************************************************************************************/ @@ -399,11 +399,11 @@ void UART_ABRStart(UART_TypeDef *UARTx, uint32_t detectChar) (bits << UART_BAUD_ABRBIT_Pos); } -/****************************************************************************************************************************************** -* 函数名称: UART_ABRIsDone() -* 功能说明: UART 自动波特率是否完成 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 -* 输 出: uint32_t 0 未完成 UART_ABR_RES_OK 已完成,且成功 UART_ABR_RES_ERR 已完成,但失败、出错 +/****************************************************************************************************************************************** +* 函数名称: UART_ABRIsDone() +* 功能说明: UART 自动波特率是否完成 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +* 输 出: uint32_t 0 未完成 UART_ABR_RES_OK 已完成,且成功 UART_ABR_RES_ERR 已完成,但失败、出错 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t UART_ABRIsDone(UART_TypeDef *UARTx) @@ -422,10 +422,10 @@ uint32_t UART_ABRIsDone(UART_TypeDef *UARTx) } } -/****************************************************************************************************************************************** -* 函数名称: UART_INTRXThresholdEn() -* 功能说明: 当RX FIFO中数据个数 >= RXThreshold时 触发中断 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +/****************************************************************************************************************************************** +* 函数名称: UART_INTRXThresholdEn() +* 功能说明: 当RX FIFO中数据个数 >= RXThreshold时 触发中断 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -434,10 +434,10 @@ void UART_INTRXThresholdEn(UART_TypeDef *UARTx) UARTx->CTRL |= (0x01 << UART_CTRL_RXIE_Pos); } -/****************************************************************************************************************************************** -* 函数名称: UART_INTRXThresholdDis() -* 功能说明: 当RX FIFO中数据个数 >= RXThreshold时 不触发中断 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +/****************************************************************************************************************************************** +* 函数名称: UART_INTRXThresholdDis() +* 功能说明: 当RX FIFO中数据个数 >= RXThreshold时 不触发中断 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -446,11 +446,11 @@ void UART_INTRXThresholdDis(UART_TypeDef *UARTx) UARTx->CTRL &= ~(0x01 << UART_CTRL_RXIE_Pos); } -/****************************************************************************************************************************************** -* 函数名称: UART_INTRXThresholdStat() -* 功能说明: 是否RX FIFO中数据个数 >= RXThreshold -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 -* 输 出: uint32_t 1 RX FIFO中数据个数 >= RXThreshold 0 RX FIFO中数据个数 < RXThreshold +/****************************************************************************************************************************************** +* 函数名称: UART_INTRXThresholdStat() +* 功能说明: 是否RX FIFO中数据个数 >= RXThreshold +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +* 输 出: uint32_t 1 RX FIFO中数据个数 >= RXThreshold 0 RX FIFO中数据个数 < RXThreshold * 注意事项: RXIF = RXTHRF & RXIE ******************************************************************************************************************************************/ uint32_t UART_INTRXThresholdStat(UART_TypeDef *UARTx) @@ -458,10 +458,10 @@ uint32_t UART_INTRXThresholdStat(UART_TypeDef *UARTx) return (UARTx->BAUD & UART_BAUD_RXIF_Msk) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: UART_INTTXThresholdEn() -* 功能说明: 当TX FIFO中数据个数 <= TXThreshold时 触发中断 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +/****************************************************************************************************************************************** +* 函数名称: UART_INTTXThresholdEn() +* 功能说明: 当TX FIFO中数据个数 <= TXThreshold时 触发中断 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -470,10 +470,10 @@ void UART_INTTXThresholdEn(UART_TypeDef *UARTx) UARTx->CTRL |= (0x01 << UART_CTRL_TXIE_Pos); } -/****************************************************************************************************************************************** -* 函数名称: UART_INTTXThresholdDis() -* 功能说明: 当TX FIFO中数据个数 <= TXThreshold时 不触发中断 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +/****************************************************************************************************************************************** +* 函数名称: UART_INTTXThresholdDis() +* 功能说明: 当TX FIFO中数据个数 <= TXThreshold时 不触发中断 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -482,11 +482,11 @@ void UART_INTTXThresholdDis(UART_TypeDef *UARTx) UARTx->CTRL &= ~(0x01 << UART_CTRL_TXIE_Pos); } -/****************************************************************************************************************************************** -* 函数名称: UART_INTTXThresholdStat() -* 功能说明: 是否TX FIFO中数据个数 <= TXThreshold -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 -* 输 出: uint32_t 1 TX FIFO中数据个数 <= TXThreshold 0 TX FIFO中数据个数 > TXThreshold +/****************************************************************************************************************************************** +* 函数名称: UART_INTTXThresholdStat() +* 功能说明: 是否TX FIFO中数据个数 <= TXThreshold +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +* 输 出: uint32_t 1 TX FIFO中数据个数 <= TXThreshold 0 TX FIFO中数据个数 > TXThreshold * 注意事项: TXIF = TXTHRF & TXIE ******************************************************************************************************************************************/ uint32_t UART_INTTXThresholdStat(UART_TypeDef *UARTx) @@ -494,10 +494,10 @@ uint32_t UART_INTTXThresholdStat(UART_TypeDef *UARTx) return (UARTx->BAUD & UART_BAUD_TXIF_Msk) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: UART_INTTimeoutEn() -* 功能说明: 接收发生超时时 触发中断 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +/****************************************************************************************************************************************** +* 函数名称: UART_INTTimeoutEn() +* 功能说明: 接收发生超时时 触发中断 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -506,10 +506,10 @@ void UART_INTTimeoutEn(UART_TypeDef *UARTx) UARTx->CTRL |= (0x01 << UART_CTRL_TOIE_Pos); } -/****************************************************************************************************************************************** -* 函数名称: UART_INTTimeoutDis() -* 功能说明: 接收发生超时时 不触发中断 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +/****************************************************************************************************************************************** +* 函数名称: UART_INTTimeoutDis() +* 功能说明: 接收发生超时时 不触发中断 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -518,11 +518,11 @@ void UART_INTTimeoutDis(UART_TypeDef *UARTx) UARTx->CTRL &= ~(0x01 << UART_CTRL_TOIE_Pos); } -/****************************************************************************************************************************************** -* 函数名称: UART_INTTimeoutStat() -* 功能说明: 是否发生了接收超时,即超过 TimeoutTime/(Baudrate/10) 秒没有在RX线上接收到数据时触发中断 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 -* 输 出: uint32_t 1 发生了接收超时 0 未发生接收超时 +/****************************************************************************************************************************************** +* 函数名称: UART_INTTimeoutStat() +* 功能说明: 是否发生了接收超时,即超过 TimeoutTime/(Baudrate/10) 秒没有在RX线上接收到数据时触发中断 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +* 输 出: uint32_t 1 发生了接收超时 0 未发生接收超时 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t UART_INTTimeoutStat(UART_TypeDef *UARTx) @@ -530,10 +530,10 @@ uint32_t UART_INTTimeoutStat(UART_TypeDef *UARTx) return (UARTx->BAUD & UART_BAUD_TOIF_Msk) ? 1 : 0; } -/****************************************************************************************************************************************** -* 函数名称: UART_INTTXDoneEn() -* 功能说明: 发送FIFO空且发送移位寄存器空中断使能 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +/****************************************************************************************************************************************** +* 函数名称: UART_INTTXDoneEn() +* 功能说明: 发送FIFO空且发送移位寄存器空中断使能 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -542,10 +542,10 @@ void UART_INTTXDoneEn(UART_TypeDef *UARTx) UARTx->CTRL |= (0x01 << UART_CTRL_TXDOIE_Pos); } -/****************************************************************************************************************************************** -* 函数名称: UART_INTTXDoneDis() -* 功能说明: 发送FIFO空且发送移位寄存器空中断禁止 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +/****************************************************************************************************************************************** +* 函数名称: UART_INTTXDoneDis() +* 功能说明: 发送FIFO空且发送移位寄存器空中断禁止 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -554,11 +554,11 @@ void UART_INTTXDoneDis(UART_TypeDef *UARTx) UARTx->CTRL &= ~(0x01 << UART_CTRL_TXDOIE_Pos); } -/****************************************************************************************************************************************** -* 函数名称: UART_INTTXDoneStat() -* 功能说明: 发送FIFO空且发送移位寄存器空中断状态 -* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 -* 输 出: uint32_t 1 发送FIFO空且发送移位寄存器空 0 发送FIFO或发送移位寄存器未空 +/****************************************************************************************************************************************** +* 函数名称: UART_INTTXDoneStat() +* 功能说明: 发送FIFO空且发送移位寄存器空中断状态 +* 输 入: UART_TypeDef * UARTx 指定要被设置的UART串口,有效值包括UART0、UART1、UART2、UART3 +* 输 出: uint32_t 1 发送FIFO空且发送移位寄存器空 0 发送FIFO或发送移位寄存器未空 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t UART_INTTXDoneStat(UART_TypeDef *UARTx) diff --git a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_wdt.c b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_wdt.c index c0a64866dc..db6d7cef28 100644 --- a/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_wdt.c +++ b/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_wdt.c @@ -1,18 +1,18 @@ -/****************************************************************************************************************************************** +/****************************************************************************************************************************************** * 文件名称: SWM320_wdt.c -* 功能说明: SWM320单片机的WDT看门狗功能驱动库 -* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 +* 功能说明: SWM320单片机的WDT看门狗功能驱动库 +* 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1 * 注意事项: -* 版本日期: V1.1.0 2017年10月25日 -* 升级记录: +* 版本日期: V1.1.0 2017年10月25日 +* 升级记录: * * ******************************************************************************************************************************************* * @attention * -* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION -* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE -* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT +* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION +* REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE +* FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- * -ECTION WITH THEIR PRODUCTS. * @@ -21,12 +21,12 @@ #include "SWM320.h" #include "SWM320_wdt.h" -/****************************************************************************************************************************************** -* 函数名称: WDT_Init() -* 功能说明: WDT看门狗初始化 -* 输 入: WDT_TypeDef * WDTx 指定要被设置的看门狗,有效值包括WDT -* uint32_t peroid 取值0--4294967295,单位为单片机系统时钟周期 -* uint32_t mode WDT_MODE_RESET 超时产生复位 WDT_MODE_INTERRUPT 超时产生中断 +/****************************************************************************************************************************************** +* 函数名称: WDT_Init() +* 功能说明: WDT看门狗初始化 +* 输 入: WDT_TypeDef * WDTx 指定要被设置的看门狗,有效值包括WDT +* uint32_t peroid 取值0--4294967295,单位为单片机系统时钟周期 +* uint32_t mode WDT_MODE_RESET 超时产生复位 WDT_MODE_INTERRUPT 超时产生中断 * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -54,10 +54,10 @@ void WDT_Init(WDT_TypeDef *WDTx, uint32_t peroid, uint32_t mode) } } -/****************************************************************************************************************************************** -* 函数名称: WDT_Start() -* 功能说明: 启动指定WDT,开始倒计时 -* 输 入: WDT_TypeDef * WDTx 指定要被设置的看门狗,有效值包括WDT +/****************************************************************************************************************************************** +* 函数名称: WDT_Start() +* 功能说明: 启动指定WDT,开始倒计时 +* 输 入: WDT_TypeDef * WDTx 指定要被设置的看门狗,有效值包括WDT * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -66,10 +66,10 @@ void WDT_Start(WDT_TypeDef *WDTx) WDTx->CR |= (0x01 << WDT_CR_EN_Pos); } -/****************************************************************************************************************************************** -* 函数名称: WDT_Stop() -* 功能说明: 关闭指定WDT,停止倒计时 -* 输 入: WDT_TypeDef * WDTx 指定要被设置的看门狗,有效值包括WDT +/****************************************************************************************************************************************** +* 函数名称: WDT_Stop() +* 功能说明: 关闭指定WDT,停止倒计时 +* 输 入: WDT_TypeDef * WDTx 指定要被设置的看门狗,有效值包括WDT * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -78,10 +78,10 @@ void WDT_Stop(WDT_TypeDef *WDTx) WDTx->CR &= ~(0x01 << WDT_CR_EN_Pos); } -/****************************************************************************************************************************************** -* 函数名称: WDT_Feed() -* 功能说明: 喂狗,重新从装载值开始倒计时 -* 输 入: WDT_TypeDef * WDTx 指定要被设置的看门狗,有效值包括WDT +/****************************************************************************************************************************************** +* 函数名称: WDT_Feed() +* 功能说明: 喂狗,重新从装载值开始倒计时 +* 输 入: WDT_TypeDef * WDTx 指定要被设置的看门狗,有效值包括WDT * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -90,11 +90,11 @@ void WDT_Feed(WDT_TypeDef *WDTx) WDTx->FEED = 0x55; } -/****************************************************************************************************************************************** -* 函数名称: WDT_GetValue() -* 功能说明: 获取指定看门狗定时器的当前倒计时值 -* 输 入: WDT_TypeDef * WDTx 指定要被设置的看门狗,有效值包括WDT -* 输 出: int32_t 看门狗当前计数值 +/****************************************************************************************************************************************** +* 函数名称: WDT_GetValue() +* 功能说明: 获取指定看门狗定时器的当前倒计时值 +* 输 入: WDT_TypeDef * WDTx 指定要被设置的看门狗,有效值包括WDT +* 输 出: int32_t 看门狗当前计数值 * 注意事项: 无 ******************************************************************************************************************************************/ int32_t WDT_GetValue(WDT_TypeDef *WDTx) @@ -102,10 +102,10 @@ int32_t WDT_GetValue(WDT_TypeDef *WDTx) return WDTx->VALUE; } -/****************************************************************************************************************************************** -* 函数名称: WDT_INTClr() -* 功能说明: 中断标志清除 -* 输 入: WDT_TypeDef * WDTx 指定要被设置的看门狗,有效值包括WDT +/****************************************************************************************************************************************** +* 函数名称: WDT_INTClr() +* 功能说明: 中断标志清除 +* 输 入: WDT_TypeDef * WDTx 指定要被设置的看门狗,有效值包括WDT * 输 出: 无 * 注意事项: 无 ******************************************************************************************************************************************/ @@ -114,11 +114,11 @@ void WDT_INTClr(WDT_TypeDef *WDTx) WDTx->IF = 1; } -/****************************************************************************************************************************************** -* 函数名称: WDT_INTStat() -* 功能说明: 中断状态查询 -* 输 入: WDT_TypeDef * WDTx 指定要被设置的看门狗,有效值包括WDT -* 输 出: int32_t 1 发生中断溢出 0 未发生中断溢出 +/****************************************************************************************************************************************** +* 函数名称: WDT_INTStat() +* 功能说明: 中断状态查询 +* 输 入: WDT_TypeDef * WDTx 指定要被设置的看门狗,有效值包括WDT +* 输 出: int32_t 1 发生中断溢出 0 未发生中断溢出 * 注意事项: 无 ******************************************************************************************************************************************/ uint32_t WDT_INTStat(WDT_TypeDef *WDTx)