diff --git a/minichlink/minichlink.c b/minichlink/minichlink.c index cf3f32542a3f32cbfbc33f11f635f6329b458992..6504266362017845a2a87b38add74ec23990978f 100644 --- a/minichlink/minichlink.c +++ b/minichlink/minichlink.c @@ -1629,8 +1629,9 @@ static int DefaultHaltMode( void * dev, int mode ) case HALT_MODE_REBOOT: MCF.WriteReg32( dev, DMCONTROL, 0x80000001 ); // Make the debug module work properly. MCF.WriteReg32( dev, DMCONTROL, 0x80000001 ); // Initiate a halt request. - MCF.WriteReg32( dev, DMCONTROL, 0x80000003 ); // Reboot. - MCF.WriteReg32( dev, DMCONTROL, 0x40000001 ); // resumereq + MCF.WriteReg32( dev, DMCONTROL, 0x00000001 ); // Clear haltreq + MCF.WriteReg32( dev, DMCONTROL, 0x00000003 ); // Reboot. + MCF.WriteReg32( dev, DMCONTROL, 0x10000001 ); // resumereq MCF.FlushLLCommands( dev ); break; case HALT_MODE_RESUME: diff --git a/minichlink/minichlink.exe b/minichlink/minichlink.exe index df60e922ad7b48584993e0b6c5ce86de66bc14f6..d3f58bd70d38fef201a77600803f9cf683aee493 100644 Binary files a/minichlink/minichlink.exe and b/minichlink/minichlink.exe differ diff --git a/minichlink/pgm-wch-linke.c b/minichlink/pgm-wch-linke.c index fcfb6539dada691da2ac6913f59e6c1babb63212..3f6b8259f72878050b34934a24f66f5ddea780c4 100644 --- a/minichlink/pgm-wch-linke.c +++ b/minichlink/pgm-wch-linke.c @@ -161,6 +161,8 @@ static inline libusb_device_handle * wch_link_base_setup( int inhibit_startup ) // Thanks, CW2 for pointing this out. See DMI_OP for more info. int LEWriteReg32( void * dev, uint8_t reg_7_bit, uint32_t command ) { + fprintf( stderr, "LEWriteReg32: %02x %08x\n", reg_7_bit, command ); + libusb_device_handle * devh = ((struct LinkEProgrammerStruct*)dev)->devh; const uint8_t iOP = 2; // op 2 = write @@ -186,6 +188,14 @@ int LEWriteReg32( void * dev, uint8_t reg_7_bit, uint32_t command ) } fprintf( stderr, "\n" ); } + + fprintf( stderr, "Response: %d : ", resplen ); + int i; + for( i = 0; i < resplen; i++ ) + { + fprintf( stderr, "%02x ", resp[i] ); + } + fprintf( stderr, "\n" ); return 0; }