diff --git a/minichlink/minichlink.c b/minichlink/minichlink.c index 15c39d54a876c122a4e4a1fd483349150d68a54c..ea25796fa1d1745485c34de02bad24ba716aab8d 100644 --- a/minichlink/minichlink.c +++ b/minichlink/minichlink.c @@ -530,19 +530,19 @@ static int DefaultWriteWord( void * dev, uint32_t address_to_write, uint32_t dat MCF.WriteReg32( dev, DMABSTRACTAUTO, 0x00000000 ); // Disable Autoexec. did_disable_req = 1; // Different address, so we don't need to re-write all the program regs. - // c.lw x9,0(x10) // Get the address to write to. + // c.lw x9,0(x11) // Get the address to write to. // c.sw x8,0(x9) // Write to the address. - MCF.WriteReg32( dev, DMPROGBUF0, 0xc0804104 ); + MCF.WriteReg32( dev, DMPROGBUF0, 0xc0804184 ); // c.addi x9, 4 - // c.sw x9,0(x10) - MCF.WriteReg32( dev, DMPROGBUF1, 0xc1040491 ); + // c.sw x9,0(x11) + MCF.WriteReg32( dev, DMPROGBUF1, 0xc1840491 ); if( iss->statetag != STTAG( "RDSQ" ) ) { MCF.WriteReg32( dev, DMDATA0, 0xe00000f4 ); // DATA0's location in memory. - MCF.WriteReg32( dev, DMCOMMAND, 0x0023100b ); // Copy data to x11 - MCF.WriteReg32( dev, DMDATA0, 0xe00000f8 ); // DATA1's location in memory. MCF.WriteReg32( dev, DMCOMMAND, 0x0023100a ); // Copy data to x10 + MCF.WriteReg32( dev, DMDATA0, 0xe00000f8 ); // DATA1's location in memory. + MCF.WriteReg32( dev, DMCOMMAND, 0x0023100b ); // Copy data to x11 MCF.WriteReg32( dev, DMDATA0, 0x40022010 ); //FLASH->CTLR MCF.WriteReg32( dev, DMCOMMAND, 0x0023100c ); // Copy data to x12 MCF.WriteReg32( dev, DMDATA0, CR_PAGE_PG|CR_BUF_LOAD); @@ -707,22 +707,22 @@ static int DefaultReadWord( void * dev, uint32_t address_to_read, uint32_t * dat { MCF.WriteReg32( dev, DMABSTRACTAUTO, 0 ); // Disable Autoexec. - // c.lw x8,0(x10) // Pull the address from DATA1 + // c.lw x8,0(x11) // Pull the address from DATA1 // c.lw x9,0(x8) // Read the data at that location. - MCF.WriteReg32( dev, DMPROGBUF0, 0x40044100 ); + MCF.WriteReg32( dev, DMPROGBUF0, 0x40044180 ); // c.addi x8, 4 - // c.sw x9, 0(x11) // Write back to DATA0 - MCF.WriteReg32( dev, DMPROGBUF1, 0xc1840411 ); - // c.sw x8, 0(x10) // Write addy to DATA1 + // c.sw x9, 0(x10) // Write back to DATA0 + MCF.WriteReg32( dev, DMPROGBUF1, 0xc1040411 ); + // c.sw x8, 0(x11) // Write addy to DATA1 // c.ebreak - MCF.WriteReg32( dev, DMPROGBUF2, 0x9002c100 ); + MCF.WriteReg32( dev, DMPROGBUF2, 0x9002c180 ); if( iss->statetag != STTAG( "WRSQ" ) ) { MCF.WriteReg32( dev, DMDATA0, 0xe00000f4 ); // DATA0's location in memory. - MCF.WriteReg32( dev, DMCOMMAND, 0x0023100b ); // Copy data to x11 - MCF.WriteReg32( dev, DMDATA0, 0xe00000f8 ); // DATA1's location in memory. MCF.WriteReg32( dev, DMCOMMAND, 0x0023100a ); // Copy data to x10 + MCF.WriteReg32( dev, DMDATA0, 0xe00000f8 ); // DATA1's location in memory. + MCF.WriteReg32( dev, DMCOMMAND, 0x0023100b ); // Copy data to x11 MCF.WriteReg32( dev, DMDATA0, 0x40022010 ); //FLASH->CTLR MCF.WriteReg32( dev, DMCOMMAND, 0x0023100c ); // Copy data to x12 MCF.WriteReg32( dev, DMDATA0, CR_PAGE_PG|CR_BUF_LOAD); diff --git a/minichlink/pgm-wch-linke.c b/minichlink/pgm-wch-linke.c index e3037dbe296f1bf2ac4331d0513b476e7f8dca01..a39d65d4027df6bc9986e6b22f473b9670ccf869 100644 --- a/minichlink/pgm-wch-linke.c +++ b/minichlink/pgm-wch-linke.c @@ -205,7 +205,7 @@ static int LEHaltMode( void * d, int mode ) { libusb_device_handle * dev = ((struct LinkEProgrammerStruct*)d)->devh; if( mode == ((struct LinkEProgrammerStruct*)d)->lasthaltmode ) - return; + return 0; ((struct LinkEProgrammerStruct*)d)->lasthaltmode = mode; if( mode == 0 )