From 3153251223915d1b9e96c45c3e8ebc6bdbe411b8 Mon Sep 17 00:00:00 2001 From: cnlohr <lohr85@gmail.com> Date: Sun, 12 Mar 2023 11:13:38 -0400 Subject: [PATCH] Tidy things up so "x10" is DATA0 and "x11" is DATA1. --- minichlink/minichlink.c | 28 ++++++++++++++-------------- minichlink/pgm-wch-linke.c | 2 +- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/minichlink/minichlink.c b/minichlink/minichlink.c index 15c39d5..ea25796 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 e3037db..a39d65d 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 ) -- GitLab