Initial commit: CCU621_M firmware project with BLE debug link support.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-08 17:28:36 +08:00
commit 9ceb218f80
1597 changed files with 724159 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<component_viewer schemaVersion="0.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="Component_Viewer.xsd">
<component name="EventRecorderStub" version="1.0.0"/> <!--name and version of the component-->
<events>
</events>
</component_viewer>
+17
View File
@@ -0,0 +1,17 @@
; CCU621_M 日常 J-Link 调试布局(与旧项目一致,向量表 @ 0x08000000
; OTA/IAP 发布请改用 GD32H759_APP.sct0x08008000
LR_IROM1 0x08000000 0x00200000 {
ER_IROM1 0x08000000 0x00200000 {
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
.ANY (+XO)
}
RW_IRAM1 0x24000000 0x000D0000 {
.ANY (+RW +ZI)
}
RW_IRAM2 0x00000000 0x00010000 {
.ANY (+RW +ZI)
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+28
View File
@@ -0,0 +1,28 @@
; CCU621_M application region: 0x08008000 .. 0x081FFFFF (IAP occupies first 32KB)
LR_IROM1 0x08008000 0x001F8000 {
ER_IROM1 0x08008000 0x001F8000 {
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
.ANY (+XO)
}
ER_ENET_RXDESC 0x30000000 UNINIT 0x00000050 {
gd32h7xx_enet.o (.ARM.__at_0x30000000)
}
ER_ENET_TXDESC 0x30000160 UNINIT 0x00000050 {
gd32h7xx_enet.o (.ARM.__at_0x30000160)
}
ER_ENET_RXBUF 0x30000300 UNINIT 0x00002000 {
gd32h7xx_enet.o (.ARM.__at_0x30000300)
}
ER_ENET_TXBUF 0x30002100 UNINIT 0x00002000 {
gd32h7xx_enet.o (.ARM.__at_0x30002100)
}
RW_IRAM1 0x24000000 0x000D0000 {
.ANY (+RW +ZI)
}
RW_IRAM2 0x00000000 0x00010000 {
.ANY (+RW +ZI)
}
}
+83
View File
@@ -0,0 +1,83 @@
TB20C 000:439.982 SEGGER J-Link V9.42 Log File
TB20C 000:440.638 DLL Compiled: May 6 2026 12:25:27
TB20C 000:440.693 Logging started @ 2026-07-07 06:36
TB20C 000:440.716 Process: D:\Program Files\Keil_v5\Keil_v5\UV4\UV4.exe
TB20C 000:440.761 - 440.730ms
TB20C 000:441.000 JLINK_SetWarnOutHandler(...)
TB20C 000:441.016 - 0.025ms
TB20C 000:441.026 JLINK_OpenEx(...)
TB20C 000:451.752 Firmware: J-Link V9 compiled May 7 2021 16:26:12
TB20C 000:452.644 Firmware: J-Link V9 compiled May 7 2021 16:26:12
TB20C 000:452.896 Decompressing FW timestamp took 195 us
TB20C 000:458.849 Hardware: V9.20
TB20C 000:458.925 S/N: 4294967295
TB20C 000:458.945 OEM: SEGGER
TB20C 000:458.965 Feature(s): RDI, GDB, FlashDL, FlashBP, JFlash
TB20C 000:460.045 Bootloader: (FW returned invalid version)
TB20C 000:461.145 TELNET listener socket opened on port 19021
TB20C 000:461.933 WEBSRV WEBSRV_Init(): Starting webserver thread(s)
TB20C 000:462.631 WEBSRV Webserver running on local port 19080
TB20C 000:463.334 Looking for J-Link GUI Server exe at: D:\Program Files\Keil_v5\Keil_v5\ARM\Segger\JLinkGUIServer.exe
TB20C 000:463.766 Looking for J-Link GUI Server exe at: D:\Program Files\SEGGER\JLink_V942\JLinkGUIServer.exe
TB20C 000:464.020 Forking J-Link GUI Server: D:\Program Files\SEGGER\JLink_V942\JLinkGUIServer.exe
TB20C 000:481.338 J-Link GUI Server info: "J-Link GUI server V9.42 "
TB20C 000:489.137 - 48.058ms returns "O.K."
TB20C 000:489.253 JLINK_GetEmuCaps()
TB20C 000:489.285 - 0.020ms returns 0xB9FF7BBF
TB20C 000:489.316 JLINK_TIF_GetAvailable(...)
TB20C 000:489.616 - 0.299ms
TB20C 000:489.703 JLINK_SetErrorOutHandler(...)
TB20C 000:489.730 - 0.026ms
TB20C 000:489.867 JLINK_ExecCommand("ProjectFile = "D:\Desktop\ProgramManagement\3Csystem\CCU621_M\Project\JLinkSettings.ini"", ...).
TB20C 000:537.488 Ref file found at: D:\Program Files\Keil_v5\Keil_v5\ARM\Segger\JLinkDevices.ref
TB20C 000:537.896 REF file references invalid XML file: D:\Program Files\SEGGER\JLink_V942\JLinkDevices.xml
TB20C 000:539.140 Flash bank @ 0x08000000: SFL: Parsing sectorization info from ELF file
TB20C 000:539.173 FlashDevice.SectorInfo[0]: .SectorSize = 0x00001000, .SectorStartAddr = 0x00000000
TB20C 000:539.186 FlashBank @0x08000000: Sectorization info from SFL ELF file ignored because sectorization override from DLL / XML file is active.
TB20C 000:576.480 Device "GD32H759IIT6" selected.
TB20C 000:578.685 - 88.818ms returns 0x00
TB20C 000:607.249 JLINK_ExecCommand("Device = GD32H759II", ...).
TB20C 000:608.368 Flash bank @ 0x08000000: SFL: Parsing sectorization info from ELF file
TB20C 000:608.417 FlashDevice.SectorInfo[0]: .SectorSize = 0x00001000, .SectorStartAddr = 0x00000000
TB20C 000:608.438 FlashBank @0x08000000: Sectorization info from SFL ELF file ignored because sectorization override from DLL / XML file is active.
TB20C 000:640.420 Device "GD32H759IIT6" selected.
TB20C 000:643.107 - 35.854ms returns 0x00
TB20C 000:643.392 ERROR: Unknown command
TB20C 000:643.444 JLINK_GetHardwareVersion()
TB20C 000:643.461 - 0.016ms returns 92000
TB20C 000:643.478 JLINK_GetDLLVersion()
TB20C 000:643.491 - 0.013ms returns 94200
TB20C 000:643.507 JLINK_GetOEMString(...)
TB20C 000:643.525 JLINK_GetFirmwareString(...)
TB20C 000:643.539 - 0.013ms
TB20C 000:701.176 JLINK_GetDLLVersion()
TB20C 000:701.264 - 0.089ms returns 94200
TB20C 000:701.283 JLINK_GetCompileDateTime()
TB20C 000:701.297 - 0.013ms
TB20C 000:727.670 JLINK_GetFirmwareString(...)
TB20C 000:727.736 - 0.065ms
TB20C 000:736.263 JLINK_GetHardwareVersion()
TB20C 000:736.332 - 0.068ms returns 92000
TB20C 000:762.835 JLINK_GetSN()
TB20C 000:762.911 - 0.075ms returns -1
TB20C 000:762.933 JLINK_GetOEMString(...)
TB20C 000:796.751 JLINK_TIF_Select(JLINKARM_TIF_SWD)
TB20C 000:797.700 - 0.964ms returns 0x00
TB20C 000:797.753 JLINK_HasError()
TB20C 000:797.789 JLINK_SetSpeed(5000)
TB20C 000:797.902 - 0.117ms
TB20C 000:797.920 JLINK_GetId()
TB20C 000:829.384 ConfigTargetSettings() start
TB20C 000:829.489 J-Link Script File: Executing ConfigTargetSettings()
TB20C 000:862.189 ConfigTargetSettings() end - Took 284us
TB20C 000:888.291 InitTarget() start
TB20C 000:888.370 J-Link Script File: Executing InitTarget()
TB20C 000:905.668 SWD selected. Executing JTAG -> SWD switching sequence.
TB20C 001:047.654 Secured GD32 device detected.
For debugger connection the device needs to be unsecured.
Note: Unsecuring will erase the entire device and set the option bytes to default values.
TB20C 001:089.421 Executing default behavior previously saved in the registry.
TB20C 001:121.551 Device will be unsecured now.
TB20C 029:226.592
***** Error:
TB20C 029:226.656 Communication timed out: Requested 8 bytes, received 0 bytes !
+45
View File
@@ -0,0 +1,45 @@
[BREAKPOINTS]
ForceImpTypeAny = 0
ShowInfoWin = 1
EnableFlashBP = 2
BPDuringExecution = 0
[CFI]
CFISize = 0x00
CFIAddr = 0x00
[CPU]
MaxNumAPs = 0
LowPowerHandlingMode = 0
OverrideMemMap = 0
AllowSimulation = 1
ScriptFile=""
[FLASH]
RMWThreshold = 0x400
Loaders=""
EraseType = 0x00
CacheExcludeSize = 0x00
CacheExcludeAddr = 0x00
MinNumBytesFlashDL = 0
SkipProgOnCRCMatch = 1
VerifyDownload = 1
AllowCaching = 1
EnableFlashDL = 2
Override = 1
Device="GD32H759IIT6"
[GENERAL]
MaxNumTransfers = 0x00
WorkRAMSize = 0x00
WorkRAMAddr = 0x00
RAMUsageLimit = 0x00
[SWO]
SWOLogFile=""
[MEM]
RdOverrideOrMask = 0x00
RdOverrideAndMask = 0xFFFFFFFF
RdOverrideAddr = 0xFFFFFFFF
WrOverrideOrMask = 0x00
WrOverrideAndMask = 0xFFFFFFFF
WrOverrideAddr = 0xFFFFFFFF
[RAM]
VerifyDownload = 0x00
[DYN_MEM_MAP]
NumUserRegion = 0x00
+21
View File
@@ -0,0 +1,21 @@
/*
* Auto generated Run-Time-Environment Configuration File
* *** Do not modify ! ***
*
* Project: 'GD32H759'
* Target: 'CCU621_M'
*/
#ifndef RTE_COMPONENTS_H
#define RTE_COMPONENTS_H
/*
* Define the Device Header File:
*/
#define CMSIS_device_header "gd32h7xx.h"
#endif /* RTE_COMPONENTS_H */