better?



-- 
Øyvind Harboe

Can Zylin Consulting help on your project?

US toll free 1-866-980-3434 / International +47 51 87 40 27

http://www.zylin.com/zy1000.html
ARM7 ARM9 ARM11 XScale Cortex
JTAG debugger and flash programmer
From 9b1d38707c1d407a72c5b6d8bfd30240a9d7dd34 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=98yvind=20Harboe?= <[email protected]>
Date: Tue, 15 Mar 2011 10:43:45 +0100
Subject: [PATCH 1/2] dsp563xx: fix bug in x buffer handling
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

found by inspection.

Signed-off-by: Øyvind Harboe <[email protected]>
---
 src/target/dsp563xx.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/target/dsp563xx.c b/src/target/dsp563xx.c
index cb2025e..cdfa79b 100644
--- a/src/target/dsp563xx.c
+++ b/src/target/dsp563xx.c
@@ -1467,7 +1467,7 @@ static int dsp563xx_read_memory(struct target *target, int mem_type, uint32_t ad
 	for(i=0,i1=0;i<count;i+=2,i1++)
 	{
 		((uint32_t*)buffer)[i] = ((uint32_t*)buffer_y)[i1];
-		((uint32_t*)buffer)[i] = ((uint32_t*)buffer_x)[i1];
+		((uint32_t*)buffer)[i+1] = ((uint32_t*)buffer_x)[i1];
 	}
 
 	free(buffer_y);
-- 
1.7.0.4

From 582b4195a99a21caa9522713fae659621137e0f9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=98yvind=20Harboe?= <[email protected]>
Date: Mon, 14 Mar 2011 15:32:14 +0100
Subject: [PATCH 2/2] dsp563xx: fix alignment warnings
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Øyvind Harboe <[email protected]>
---
 src/target/dsp563xx.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/target/dsp563xx.c b/src/target/dsp563xx.c
index cdfa79b..6cde152 100644
--- a/src/target/dsp563xx.c
+++ b/src/target/dsp563xx.c
@@ -1393,7 +1393,7 @@ static int dsp563xx_read_memory_core(struct target *target, int mem_type, uint32
 			return err;
 		if ((err = dsp563xx_once_execute_sw_ir(target->tap, 0, 0x08D13C)) != ERROR_OK)
 			return err;
-		if ((err = dsp563xx_once_reg_read(target->tap, 0, DSP563XX_ONCE_OGDBR, (uint32_t*)b)) != ERROR_OK)
+		if ((err = dsp563xx_once_reg_read(target->tap, 0, DSP563XX_ONCE_OGDBR, (uint32_t*)(void *)b)) != ERROR_OK)
 			return err;
 		b += 4;
 	}
@@ -1409,7 +1409,7 @@ static int dsp563xx_read_memory_core(struct target *target, int mem_type, uint32
 
 	for (i = 0; i < x; i++)
 	{
-		data = *((uint32_t*)b) & 0x00FFFFFF;
+		data = buf_get_u32(b, 0, 32) & 0x00FFFFFF;
 //		LOG_DEBUG("R: %08X", *((uint32_t*)b));
 		target_buffer_set_u32(target, b, data);
 		b += 4;
@@ -1466,8 +1466,8 @@ static int dsp563xx_read_memory(struct target *target, int mem_type, uint32_t ad
 
 	for(i=0,i1=0;i<count;i+=2,i1++)
 	{
-		((uint32_t*)buffer)[i] = ((uint32_t*)buffer_y)[i1];
-		((uint32_t*)buffer)[i+1] = ((uint32_t*)buffer_x)[i1];
+		buf_set_u32(buffer + i*sizeof(uint32_t), 0, 32, buf_get_u32(buffer_y+i1*sizeof(uint32_t), 0, 32));
+		buf_set_u32(buffer + (i + 1) *sizeof(uint32_t), 0, 32, buf_get_u32(buffer_x+i1*sizeof(uint32_t), 0, 32));
 	}
 
 	free(buffer_y);
@@ -1587,8 +1587,8 @@ static int dsp563xx_write_memory(struct target *target, int mem_type, uint32_t a
 
 	for(i=0,i1=0;i<count;i+=2,i1++)
 	{
-		((uint32_t*)buffer_y)[i1] = ((uint32_t*)buffer)[i];
-		((uint32_t*)buffer_x)[i1] = ((uint32_t*)buffer)[i+1];
+		buf_set_u32(buffer_y + i1*sizeof(uint32_t), 0, 32, buf_get_u32(buffer+i*sizeof(uint32_t), 0, 32));
+		buf_set_u32(buffer_x + i1*sizeof(uint32_t), 0, 32, buf_get_u32(buffer+(i+1)*sizeof(uint32_t), 0, 32));
 	}
 
 	err = dsp563xx_write_memory_core(target,MEM_Y,address,size,count/2,buffer_y);
-- 
1.7.0.4

_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to