MyFPGA Forum

标题: DE2 uCGUI [打印本页]

作者: jeff    时间: 2011-8-21 17:59
标题: DE2 uCGUI

簡易的ucgui porting,無os,純測式可整合自定的framebuffer
簡易說明:http://www.cnblogs.com/jeffblog/archive/2011/08/21/2147811.html
程式碼:http://files.cnblogs.com/jeffblog/NIOS_uCGUI.zip
作者: yqzhang    时间: 2011-8-22 10:18

作者: tingtang    时间: 2011-8-22 11:48
厉害啊!!!!
作者: jeff    时间: 2011-8-28 23:54

更新使用ucos2/支持usb mouse操作
http://www.cnblogs.com/jeffblog/archive/2011/08/28/2156400.html
作者: kay54068    时间: 2011-9-16 20:34
請問您ucgui lib 是修改哪個地方自定framebuffer???
作者: kay54068    时间: 2011-10-5 22:42
回复 5# kay54068


請問您ucgui lib 是修改哪個地方自定framebuffer???
作者: jeff    时间: 2011-10-12 22:29
回复 6# kay54068

設定config配合所使用的lcd,這裡lcd使用的解析度是320x240 32bpp (XRGB888)
修改\Config\LCDConf.h
#ifndef LCDCONF_H
#define LCDCONF_H
/*********************************************************************
*
*                   General configuration of LCD
*
**********************************************************************
*/
#undef WIN32
#define LCD_XSIZE      (320)   /* X-resolution of LCD, Logical coor. */
#define LCD_YSIZE      (240)   /* Y-resolution of LCD, Logical coor. */

#define LCD_BITSPERPIXEL (32)
#define LCD_FIXEDPALETTE 888
#define LCD_SWAP_RB         1
#define LCD_CONTROLLER 3200

#define LCD_VRAM_ADR     0x01000000
#define LCD_ENDIAN_BIG         0
/*********************************************************************
*
*                   Full bus configuration
*
**********************************************************************
*/

extern void UCGUI_IOWR(unsigned int base,unsigned int offset,unsigned int value);
extern unsigned int UCGUI_IORD(unsigned int base,unsigned int offset);

#define   LCD_READ_MEM(Off)        UCGUI_IORD(LCD_VRAM_ADR,Off)//(*((U32 *)LCD_VRAM_ADR + ((U32)Off)))
#define   LCD_WRITE_MEM(Off, Data) UCGUI_IOWR(LCD_VRAM_ADR,Off,Data)//*((U32 *)LCD_VRAM_ADR + ((U32)Off)) = Data

#endif /* LCDCONF_H */

這裡指定LCD_CONTROLLER 3200會啟用\LCDDriver\LCDLin32.c ( #if (LCD_CONTROLLER == 3200) )
32bpp的部分ucgui3.98好像還沒有支持
實作在這裡找到的http://electronix.ru/forum/index ... e=post&id=53037

LCD_VRAM_ADR是指framebuffer的位址,因為我是拿16bit sram來擴展使用,所以就強制sram規畫的位址上
如果是在sdram alloc來的,就把LCD_VRAM_ADR改成變數然後加一funcion讓alloc來的framebuffer的位址可以set進來
接著指定好framebuffer後就是實作讀寫的函式了
讀: LCD_READ_MEM = UCGUI_IORD
寫: LCD_WRITE_MEM = UCGUI_IOWR
這裡的UCGUI_IORD/UCGUI_IOWR就只是一個wapper轉到IORD/IOWR,直接當記憶體操作好像會有cache的問題
其它部分就不用什麼修改了, GUI_X_uCOS.c/GUI_X.c 不要跟library綁在一起應該比較好
作者: kay54068    时间: 2011-10-22 15:28
受益良多~
作者: zhujianwu566    时间: 2011-11-6 12:15
楼主你好,我用的VGA显示,ucgui移植好了,也可以成功显示,但是PS/2 IP核用的是大学计划里面的,一直无法识别鼠标,刚刚下载了usb接口的鼠标,好像也是识别不了,用的一般光电鼠标,请问对鼠标有什么要求么?
作者: tvqpq    时间: 2012-3-3 04:10
我来看看!谢谢












微博背景 http://www.weibogg.com/微博论坛 http://www.weibogg.com/bbs/




欢迎光临 MyFPGA Forum (http://www.myfpga.org/discuz/) Powered by Discuz! X3