Great catch! The attached patch incorporates these changes and will be
committed soon.
--Z
On Tue, 2009-08-04 at 11:14 -0700, michal smulski wrote:
> And here is the bug to get 'flash probe 0' working (arm11.c,
> arm11_write_memory():
>
> -memcpy(&value, buffer + count * sizeof(uint16_t), sizeof(uint16_t));
> +memcpy(&value, buffer + i * sizeof(uint16_t), sizeof(uint16_t));
>
> --Michal
>
>
>
> On Tue, 2009-08-04 at 11:06 -0700, michal smulski wrote:
> > The bug is as follows (arm11.c):
> > -memcpy(buffer + count * sizeof(uint16_t), &svalue, sizeof(uint16_t));
> > +memcpy(buffer + i * sizeof(uint16_t), &svalue, sizeof(uint16_t));
> >
> >
> > --Michal
> >
> > On Mon, 2009-08-03 at 15:45 -0700, michal smulski wrote:
> > > Little-endian mode. I can correctly access the ARM11 core via MAJIC JTAG
> > > interface and Mentor's software. Only Olimex/openocd is giving me
> > > trouble with 16-bit access.
> > >
> > > I tried to configure openocd with big-endian but I get the same results
> > > (32bit & 8bit work, 16bit return always 0x0000)
> > >
> > > Attached is my config file.
> > > --Michal
> > >
> > > On Tue, 2009-08-04 at 00:08 +0200, Michael Schwingen wrote:
> > > > michal smulski wrote:
> > > > > I am using C100 (Mindspeed ARM11 dual core). I can correctly access
> > > > > DDR2 and 16 bit flash on it via 8-bit and 32-bit commands (mdb,mdw)
> > > > > but
> > > > > not 16-bit access.
> > > > Are you running it in big or little endian mode?
> > > >
> > > > I did some work on that CPU some time ago, and ran into problems because
> > > > there were some issues regarding big-endian support (I was using a
> > > > BDI2000 at that time, not OpenOCD).
> > > >
> > > > I did not get to dig much deeper, because the project was cancelled, and
> > > > there were some documentation updates later, so maybe this was just a
> > > > documentation issue.
> > > >
> > > > cu
> > > > Michael
> > > >
> > > > _______________________________________________
> > > > Openocd-development mailing list
> > > > [email protected]
> > > > https://lists.berlios.de/mailman/listinfo/openocd-development
> > > _______________________________________________
> > > Openocd-development mailing list
> > > [email protected]
> > > https://lists.berlios.de/mailman/listinfo/openocd-development
> >
> > _______________________________________________
> > Openocd-development mailing list
> > [email protected]
> > https://lists.berlios.de/mailman/listinfo/openocd-development
>
> _______________________________________________
> Openocd-development mailing list
> [email protected]
> https://lists.berlios.de/mailman/listinfo/openocd-development
Fix ARM11 half-word bulk memory read and write.
---
arm11.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
======
only in patch2:
unchanged:
--- src/target/arm11.c (revision 2571)
+++ src/target/arm11.c (working copy)
@@ -1149,7 +1149,7 @@
arm11_run_instr_data_from_core(arm11, 0xEE001E15, &res, 1);
uint16_t svalue = res;
- memcpy(buffer + count * sizeof(uint16_t), &svalue, sizeof(uint16_t));
+ memcpy(buffer + i * sizeof(uint16_t), &svalue, sizeof(uint16_t));
}
break;
@@ -1219,7 +1219,7 @@
for (size_t i = 0; i < count; i++)
{
uint16_t value;
- memcpy(&value, buffer + count * sizeof(uint16_t), sizeof(uint16_t));
+ memcpy(&value, buffer + i * sizeof(uint16_t), sizeof(uint16_t));
/* MRC p14,0,r1,c0,c5,0 */
arm11_run_instr_data_to_core1(arm11, 0xee101e15, value);
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development