Hi
I would like to debug STM32F303RDT6 using a combination of Keil and ULINK2.
When I start debugging on the target microcontroller (STM32F303RDT6), **Not a genuine ST Device! Abort connection** is output as shown below.
We investigated the cause.
I found the following files.
**C:\Keil_v5\ARM\PACK\.Web\Keil.STM32F3xx_DFP.pdsc**
It seems that this process is failing.
```xml
<!-- User-Defined Sequences -->
<sequence name="CheckID">
<block>
__var pidr1 = 0;
__var pidr2 = 0;
__var jep106id = 0;
__var ROMTableBase = 0;
__ap = 0; // AHB-AP
ROMTableBase = ReadAP(0xF8) & ~0x3;
pidr1 = Read32(ROMTableBase + 0x0FE4);
pidr2 = Read32(ROMTableBase + 0x0FE8);
jep106id = ((pidr2 & 0x7) << 4 ) | ((pidr1 >> 4) & 0xF);
</block>
<control if="jep106id != 0x20">
<block>
Query(0, "Not a genuine ST Device! Abort connection", 1);
Message(2, "Not a genuine ST Device! Abort connection.");
</block>
</control>
</sequence>
```
Below is the keil log.
```
14:13:16:247 (05/03/2024) - START SEQUENCE "DebugDeviceUnlock", "calling sequence" - ID 19
14:13:16:251 (05/03/2024) - READ AP Access, AP 0, Addr 0x000000F8, Val 0xE00FF003, "SWD Read AP - Success" - ID 3
14:13:16:257 (05/03/2024) - READ MEM BLOCK Access, AP 0, Start Addr 0xE00FFFE4, End Addr 0xE00FFFE7, "SWD Read Memory Block (32-bit accesses) - Success" - ID 4
Item #0, AP 0, Addr 0xE00FFFE4, Value 0x00000040
14:13:16:261 (05/03/2024) - READ MEM BLOCK Access, AP 0, Start Addr 0xE00FFFE8, End Addr 0xE00FFFEB, "SWD Read Memory Block (32-bit accesses) - Success" - ID 5
Item #0, AP 0, Addr 0xE00FFFE8, Value 0x0000005C
14:13:57:001 (05/03/2024) - END SEQUENCE "InitTarget", "failed" - ID 20
```
pidr1 is 0x00000040
pidr2 is 0x0000005C
An error occurs because the following processing does not result in 0x20.
```
jep106id = ((pidr2 & 0x7) << 4 ) | ((pidr1 >> 4) & 0xF);
```
What is the cause of this?