MyFPGA Forum

 找回密码
 注册
搜索
查看: 7885|回复: 9
打印 上一主题 下一主题

DE2 uCGUI

[复制链接]
跳转到指定楼层
1#
发表于 2011-8-21 17:59:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

簡易的ucgui porting,無os,純測式可整合自定的framebuffer
簡易說明:http://www.cnblogs.com/jeffblog/archive/2011/08/21/2147811.html
程式碼:http://files.cnblogs.com/jeffblog/NIOS_uCGUI.zip
2#
发表于 2011-8-22 10:18:58 | 只看该作者
3#
发表于 2011-8-22 11:48:31 | 只看该作者
厉害啊!!!!
4#
 楼主| 发表于 2011-8-28 23:54:02 | 只看该作者

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


請問您ucgui lib 是修改哪個地方自定framebuffer???
7#
 楼主| 发表于 2011-10-12 22:29:52 | 只看该作者
回复 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綁在一起應該比較好
8#
发表于 2011-10-22 15:28:06 | 只看该作者
受益良多~
9#
发表于 2011-11-6 12:15:33 | 只看该作者
楼主你好,我用的VGA显示,ucgui移植好了,也可以成功显示,但是PS/2 IP核用的是大学计划里面的,一直无法识别鼠标,刚刚下载了usb接口的鼠标,好像也是识别不了,用的一般光电鼠标,请问对鼠标有什么要求么?
10#
发表于 2012-3-3 04:10:44 | 只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|MyFPGA

GMT+8, 2024-4-29 03:14 , Processed in 0.053966 second(s), 18 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表