uCGUI3.24在GBA游戏机仿真彻底成功!!
搞uCGUI有一段时间了,以前一直在VC6.0上编写程序和仿真,VC6.0比较智能,编译速度就一个字----快,用来初学uCGUI十分合适,节省你不少时间。当然,如果想在自己的开发板上运行uCGUI,就要另外找个编译器了(ARM的话,用ADS1.2吧),还要完成显示屏的移植,不过写几个底层驱动函数就OK了!
学习ARM也的三个月了,近期想把uCGUI搞到自己的44b0板上(因要和师兄们参加全国的第四届嵌入式设计大赛),
因未买显示屏(银子子问题,本人就是穷^_^)只能变成梦想了(又要啃镘头了^_^)。
以前初学ARM时,是通过GBA(一种掌上游戏机)的电脑模拟器搞的(也是银子问题 ^_^ 没钱买板亚 ),现在想起以前搞那东西是绝对没错的,
那东西片上资源丰富,学习资料也多,在电脑模拟时占用系统资源又小,比在proteus上仿真lpc21xx好多。
建议像我一样的初学者也用GBA模拟器做初学ARM的虚拟实验板吧,先不用买板,到你搞熟了GBA,ARM也就入门了,这时再买块板也不迟,
就可以搞一些像USB、TCPIP、uCLINUX,eCOS之类的东西了。
因对ARM和GBA和uCGUI都有一定程度的了解,便想把uCGUI搞到GBA上,看了人家的移植方法,觉得确实不是太难,写几个底层驱动函数就OK了
下载了个VC版的uCGUI3.24便开始了我的移植工作,
移植尚算成功,只花了两个小时,工程用ADS1.2建立的,用GBA模拟器仿真成功!!
因为编译后生成N大的文件(20M左右),所以上传时就把生成文件删除了,不过只要重新编译就可以了
点击此处下载 ourdev_241901.rar(文件大小:637K) (原文件名:GBA Empty.rar)
应网友要求,上传这个中文学习资料ourdev_241920.rar(文件大小:583K) (原文件名:gbainfom.rar) 能不能发一些开发GBA的资料。 网上抄的
======================================================
From GBA to ARM
从GBA开始,步入ARM开发的殿堂(初学者入门篇)
1.为什么要选用GBA� 5b4 ��为嵌入式系统学习平台
我们知道,任天堂公司的GameBoy Advance(简称GBA)一款非常出色的掌上游戏机,该
产品占领了全球90%以上的掌上游戏机市场。
抛开游戏功能不说,GBA本身就是一个很好的嵌入式系统开发学习平台,因为GBA采用AR
M7 CPU(RISC),拥有240×160 64K色彩色液晶、立体声系统、按键、DMA、通讯口、3
2K的CPU高速RAM(32Bit)和256K外部RAM(16Bit),还有可外接的游戏卡,可扩充至2
56Mbit的FLASH ROM以及用于保存进度的128K EEPROM(或FLASH、带电池记忆的SRAM)。
现在,许多开发者都开始学习嵌入式开发,并购买ARM实验板和JTAG仿真器。从成本的角
度来看,ARM实验板和JTAG仿真器价格不菲,但是非常适合于拥有长期硬件开发经验的开
发者;对于想踏入嵌入式开发殿堂的初学者而言,高昂的硬件价格以及过高的硬件调试
门槛,自然成为阻碍学习嵌入式开发的拦路虎,许多初学者正是因为入门无路而中途放
弃。从许多硬件工程师的开发经验来看,无论是低级的单片机开发还是高级的嵌入式系
统设计,学习重点都应该在软件编程设计上,因为硬件部分都是有成熟的电路,熟悉以
后自然水到渠成。因此,对于初学嵌入式开发的开发者而�� 1fc4 �,GBA也就成为最便宜、最容
易入门的硬件平台,GBA可以让初学者把烦人的硬件调试抛开,而将注意力集中到学习软
件开发。
开发套件 价格 使用难易程度 备注
ARM实验板+JTAG仿真器 昂贵 困难 适合于拥有长期硬件开发经验的工程师
GBALine+GBA 便宜 容易 适合于嵌入式开发初学者
2.GBA硬件平台的特点
从功能上来看,GBA包括声效处理,彩色LCD显示,以及输入输出等功能。GBA的显示屏幕
是240×160像素,可以支持8bit(256色)或16bit(64k色),带有硬件加速能力、支持A
lpha渲染(alpha blending)、旋转(rotation)、缩放(scaling)、镶嵌(mosaic)
等效果。GBA的屏幕模式有6种,分别为Mode 0 – Mode5。
从使用者的角度来看,GBA涉及人的手,眼,耳等感觉器官;从开发者角度看,它是完整
的嵌入式系统。
3. 必备的硬件GBALine
GBALINE是为GBA精心设计的一套外设,它完成PCGBA的高速数据交换,以及数据存储
,整套的价格也就百来块钱。
关于GBALine,具体的网址:http://www.sudt.com
编译好的二进制代码需要写入GBA卡带才能在真实的硬件平台上运行,这就需要一套下载
存储系统帮助完成最后的工作,GBALine套件正是为实现此功能而诞生的。该套件包括G
BALine下载线以及可擦写卡带,下载线直接将GBA游戏机与电脑连接,实现高速数据交换
;可擦写卡带用于存储编译好的二进制代码。
4. 如何进行嵌入式开发
GBA的硬件和PC完全不一样,究竟该如何学习呢?难道还要去买GBA开发工具,要学GBA的
开发语言?许多开发者都会有同样的疑问。不必紧张,只要开发者懂得C语言,会使用A
RM C的编译系统,就可以开发GBA程序,使用GBA作为入门级嵌入式学习平台的优点就在
此。目前,在Linux下和Windows下都有免费的编译工具,推荐的是DevKitAdv开发包,该
开发包使用的是GCC编译器。当然,编译效率比较高的有SDT2.51、ADS1.2、Metaware f
or ARM等等,但是这些都是收费的,对此有兴趣的开发者可以自己研究。源代码编辑工
具推荐Visual C++。
5.模拟运行环境
PC端的模拟运行环境可以采用GBA模拟器,例如VisualboyAdvance等。编译好的ELF或BI
N文件用模拟器打开就模拟硬件运行ARM程序。
6.硬件组成
6.1. GBA系统
CPU 32位RISC CPU(ARM7TDMI)/16.78MHz
兼容性 集成8位CISC CPU兼容于GBC,但是不能和GBA的CPU同时工作
内存 系统ROM16K字节(GBC是2K)
工作RAM 32K字节+CPU外部256K字节(2倍周期)
VRAM 96K字节
OAM 64位×128
调色板RAM 16位×512(256色用于精灵,256色用于背景)
卡带记忆体 最多32M ROM或闪存+最多512Kbit SRAM或闪存
显示 240×160×RGB点、32,768色模拟显示、带有应将加速,支持旋转(rotation)、缩
放(scaling)、Alpha渲染(alpha blending)、镶嵌(mosaic);6种屏幕模式,分别为Mode0-Mode5。
操作 控制键(A、B、L、R、START、SELECT和方向键)
声音 4声道(相应于GBC的声道)+2个CPU直接声道(PCM格式)
通讯 串口通讯(8位/32位、UART、多玩家、多用途、JOY总线)
卡带 同DMG和GBC一样,GBA的卡带使用32针接口,GBA自动检测插入卡带的类型并切换G
BC或GBA模式。GB卡带、GB/GBC双重模式卡带、GBC专用卡带、GBA专用卡带都可以在GBA
系统上使用。
6.2. GBALine下载线, http://www.sudt.com
PC端接口 LPT,自动设置
GBA端接口 SIO,串口通讯
数据传输率 115K Byte/s(随操作系统负荷的变化相应波动,范围:90KB/s~115KB/s)
电源 自供电
6.3. 64Mbit Flash Card
Flash容量 64Mbit
Flash擦写次数 10万次
NV-SRAM 32K Byte,带电池记忆
7.编译环境设置
DevKitAdv是免费的GCC开发包,目前的最新版本是R5-Beta-3,下面将以此版本为例介绍
如何在windows nt、2000、xp平台下使用该开发包。
下载并安装DevKitAdv开发包到C:\devkitadv-r5-beta-3目录,进入该目录运行DevKit-Advance-R5-Beta-3.lnk文件,此时会出现蓝色的console控制台窗口
在c:\devkitadv-r5-beta-3目录下有example、testsuite等目录,现在以testsuite目录
为例示范如何通过命令行方式编译文件。
在上面的窗口中输入命令:
cdtestsuite
make
之后就开始编译testsuite项目并生成agbmain.bin、agbmain.elf等文件,此时就可以
先使用模拟器VisualBoyAdvance运行其中一个文件,或者通过GBALine下载线下载到Flash卡中实际运行。
除了命令行方式之外,也可以自己创建Visual C++的makefile工程文件,这是强烈推荐
的方式。
最简单的入门过程就是这样,祝各位玩的开心! 狂顶,绝对好贴。
楼主,能加我 QQ 么?共同探讨一下。
329132450 论坛上的《UCOS2.85+ZLGGUI+PYIME+Photo在GBA上的仿真 》贴子也是本人发的,
是本人寒假用GBA初学ARM的学习成果,建议想学ARM但未买板的网友看一下吧
涉及到
操作系统为:UCOSiiv2.85
图形系统为:ZLGGUI
汉字库 : 12*12点阵 , 12*6 的ASCII 点阵,
输入法 : 拼音输入法
彩图显示
这些都是不错的内容,相当好的源代码, 安哥说好贴,COOL! ji,hao 谢谢,顶一个。 顶 不得不顶! 需要免费的gba汇编调试器的可以用gba模拟器rascalboy,vba的debug界面很简陋。有银子的可以买no$gba的调试器版本。 记号 GBA用的cpu是什么啊? 以前我买了个GBA,美名其曰学习是要学习ARM,最后发现游戏还不错~还有游戏的下载线和烧录卡~ 绝对好东西啊 。。。 cool! 牛!
也很想买个GBA来“学习”一下 我也只能看看,能力不够,慢慢来 不错! 我也发一个资料,GBA入门的好资料,我只看了一点,希望楼主能能多讲一点。主要是怎么配置开发环境,还有简单的例子讲一讲。
gba_design_guide.chm (GBA开发入门)ourdev_243152.rar(文件大小:491K) (原文件名:gba_design_guide.rar) 好资料 mark 不知道用IAR能不能跑起来呢
^_^
不习惯用GCC 郁闷 工程用ADS1.2建立的,没有用GCC,用IAR的话bootloader(用汇编写的)要作些修改,
不过不知道IAR能否生成bin二进制文件,因为在GBA跑是用bin文件的 看资料 有个不明白的 里面说04000000h I/O,寄存器的地址是0x04000000
那么我看到的寄存器地址又全部是
06VCOUNT--------V计数器值读0000h
那个不是ROM的地址吗
还有我要是写程序 应该设置放在那个地址,我没有ADS 看不到你的程序ROM RAM的地址设置 谢谢指教 好像只能串口输出到外面的数据阿
不知道用地址线做IO扩展麻烦不 MARK TO 24楼
程序ROM RAM的地址设置在ADS的链接器选项中可以设置
-entry 0x02000000 -ro-base 0x02000000 -map -rw-base 0x03000000 -verbose -first Boot.o -info sizes
更多的细节请看
论坛上的《UCOS2.85+ZLGGUI+PYIME+Photo在GBA上的仿真 》贴子(也是本人发的,本人寒假用GBA初学ARM的学习成果) 好的 谢谢 学习了 好! 真的是好帖 顶,关注中 有没有便宜的GBA啊? 以前没玩过../emotion/em055.gif买部玩玩,再学习./emotion/em007.gif
好像GBA也不便宜啊.
ARM7实验板也不贵啊 模拟器 方便 强人 顶 顶顶 你们都说好
那楼主肯定是个好人
我顶 mark mark 强帖,一定要顶! MARK ARM 好贴mark之 So Cool!不得不折服… 继续关注 顶,mark 好文,学习了 mark mark!! 没想到gba还可以这么用,强大!mark mark mark 这游戏机陪我度过了整个初中… remark mark没想到GBA这么好 mark! mark 谢谢,顶一个 没想到GBA这么好 非常好的主意! GBA确实是个好东西!!! 谢谢楼主的分享了,真的学习了 mark 高些模拟出来的图片,增加些气氛撒~~~~~~~~ mark 这个顶一下 用法的确是启发人啊 顶 mark mark mark mark mark 好贴,mark! mark,初学者的福音 给力啊~~!! mark mark!mark! 顶 mark mark 我也传一个GBA的系统手册。
点击此处下载 ourdev_722062VU7WEZ.pdf(文件大小:1.12M) (原文件名:gba系统手册.pdf) MARK 回复【4楼】wyoujtg
-----------------------------------------------------------------------
ZLGGUI,听过我老师说过,是个好东西!至少在学习代码上面。 以后可得好好学习一下GUI mark mark之,相当不错 MARK mark. 顶一下! GBA都被我当年玩游戏了,后面卖了加钱换了NDSL 见过GBA控制机器人,原来GBA是ARM7的 学习了!
页:
[1]