Hi,
The function arm_simulate_step has bugs.
It would read load address twice if dry_run_pc not NULL when step. No
matter for RAM,but it may cause hardware feature error when read SFR.
suggested :
arm_simulator.c
line 536
if((!dry_run_pc) || (instruction.info.load_store.Rd == 15))
{
if((retval = target_read_u32(target, load_address, &load_value)) != ERROR_OK)
{
return retval;
}
}
line 602
for (i = 0; i < 16; i++)
{
if (instruction.info.load_store_multiple.register_list & (1 << i))
{
if((!dry_run_pc) || (i == 15))
{
target_read_u32(target, Rn, &load_values[i]);
}
Rn += 4;
}
}
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development