diff --git a/bsp/mini2440/lcd_a70.c b/bsp/mini2440/lcd_a70.c index fe45948733..b16e94f932 100644 --- a/bsp/mini2440/lcd_a70.c +++ b/bsp/mini2440/lcd_a70.c @@ -171,7 +171,7 @@ void LcdBkLtSet(rt_uint32_t HiRatio) void rt_hw_lcd_update(rtgui_rect_t *rect) { - rt_uint16_t *src_ptr, *dst_ptr; + volatile rt_uint16_t *src_ptr, *dst_ptr; rt_uint32_t pitch, index; pitch = 2 * (rect->x2 - rect->x1); @@ -182,7 +182,7 @@ void rt_hw_lcd_update(rtgui_rect_t *rect) for (index = rect->y1; index < rect->y2; index ++) { - memcpy(dst_ptr, src_ptr, pitch); + memcpy((void*)dst_ptr, (void*)src_ptr, pitch); src_ptr += (rect->x2 - rect->x1); dst_ptr += (rect->x2 - rect->x1); diff --git a/bsp/mini2440/lcd_n35.c b/bsp/mini2440/lcd_n35.c index b135048234..9876b3098c 100644 --- a/bsp/mini2440/lcd_n35.c +++ b/bsp/mini2440/lcd_n35.c @@ -171,7 +171,7 @@ void LcdBkLtSet(rt_uint32_t HiRatio) void rt_hw_lcd_update(rtgui_rect_t *rect) { - rt_uint16_t *src_ptr, *dst_ptr; + volatile rt_uint16_t *src_ptr, *dst_ptr; rt_uint32_t pitch, index; pitch = 2 * (rect->x2 - rect->x1); @@ -182,7 +182,7 @@ void rt_hw_lcd_update(rtgui_rect_t *rect) for (index = rect->y1; index < rect->y2; index ++) { - memcpy(dst_ptr, src_ptr, pitch); + memcpy((void*)dst_ptr, (void*)src_ptr, pitch); src_ptr += (rect->x2 - rect->x1); dst_ptr += (rect->x2 - rect->x1); diff --git a/bsp/mini2440/lcd_t35.c b/bsp/mini2440/lcd_t35.c index 75816b2ea6..752a4684fa 100644 --- a/bsp/mini2440/lcd_t35.c +++ b/bsp/mini2440/lcd_t35.c @@ -15,6 +15,7 @@ #include #include +#include /* LCD driver for T3'5 */ #define LCD_WIDTH 240 @@ -171,18 +172,20 @@ void LcdBkLtSet(rt_uint32_t HiRatio) void rt_hw_lcd_update(rtgui_rect_t *rect) { - rt_uint16_t *src_ptr, *dst_ptr; + volatile rt_uint16_t *src_ptr, *dst_ptr; rt_uint32_t pitch, index; pitch = 2 * (rect->x2 - rect->x1); + rt_kprintf("update (%d,%d - %d,%d)\n", rect->x1, rect->y1, rect->x2, rect->y2); + /* copy from framebuffer to physical framebuffer */ src_ptr = &_rt_framebuffer[rect->x1][rect->y1]; dst_ptr = &_rt_hw_framebuffer[rect->x1][rect->y1]; for (index = rect->y1; index < rect->y2; index ++) { - memcpy(dst_ptr, src_ptr, pitch); + memcpy((void*)dst_ptr, (void*)src_ptr, pitch); src_ptr += (rect->x2 - rect->x1); dst_ptr += (rect->x2 - rect->x1);