sim: ft32: correctly simulate PM write port

The FT32 simulator was not correctly simulating the behavior of the
program memory (PM) write port.  When it is locked, writes to the
data register do nothing.
This commit is contained in:
James Bowman 2015-09-28 23:49:36 +00:00 committed by Mike Frysinger
parent 1eefa9cbaf
commit 71c34ca7a0
2 changed files with 10 additions and 2 deletions

View file

@ -1,3 +1,7 @@
2015-09-29 James Bowman <james.bowman@ftdichip.com>
* interp.c (cpu_mem_write): Do no write PM when locked.
2015-09-22 James Bowman <james.bowman@ftdichip.com>
* ft32/interp.c (cpu_mem_read): Call getchar when ea is 0x10000.

View file

@ -205,8 +205,12 @@ static void cpu_mem_write (SIM_DESC sd, uint32_t dw, uint32_t ea, uint32_t d)
cpu->state.pm_addr = d;
break;
case 0x1fc88:
/* Write to PM */
ft32_write_item (sd, dw, cpu->state.pm_addr, d);
if (cpu->state.pm_unlock)
{
/* Write to PM. */
ft32_write_item (sd, dw, cpu->state.pm_addr, d);
cpu->state.pm_addr += 4;
}
break;
case 0x1fffc:
/* Normal exit. */