- 博客(1)
- 资源 (4)
- 收藏
- 关注
devkitadv-GBA开发工具
devkitadv
GBA开发工具
任天堂GBA官方开发包安装及开发环境的设置
Romandoo
解压安装包至某目录后,安照以下步骤操作:
一: 安装CYGWIN工具
运行CYGWIN_SETUP目录下setup.exe进行cygwin的安装
选INSTALL FROM LOCAL DIRECTORY
在SELECT INSTALL ROOT diretory 选择安装目录 next>
再NEXT
在弹出的窗口中,在Perv Curr Exp 中选Curr
点开列表栏中各项,
选 base 的 cygwin ash bash login sh-utils
选 devel 的 autoconf automake binutils gcc gdb make
选 shell下的 ash bash sh-utils
置NEW栏显示版本号,表示将其安装,而其它的工具选为skip表示跳过不安装
最后选next开始安装!
(注意,我为了节省空间,我删除了许多不重要的东西,其实cygwin下有高达几百m的各式各样的工具,今后你可根据自已需要到网上下载安装去)
二、安装任天堂官方开发包
在 AGB LIBRARY3.0中点 agbsetup1安装
注意,一定要安装到c:\agb目录下,因为这是官方的默认目录,有一些例子与这个目录关连了
所以最好选这个目录 ,不然可能编不过去。否则自已设置会麻烦一点的。
修改c:\autoexec.bat 文件增加如下代码行
SET AGBDIR=C:\AGB
三、安装CYGWIN补丁
(由于刚安装完的cygwin版本并不支持arm cpu,所以需要将某些程序、库覆盖成arm相关的程序库)
将arm-thumb-elf连目录一起copy到安装好的cygwin目录的\lib\gcc-lib下
将bin-patch目录下的所有文件copy到cygwin目录的bin下面覆盖
将include patch目录下文件copy到cygwin目录的include下面
四:编绎例子程序
OK!前三步已经将我们的开发环境构好了!!
现在我们可以正式进行开发了,至于开发技术吗,在agb目录的doc下应有尽有,大家可以好好研究一下子。
下面我就介绍如何编绎代码了。
编绎也是很简单的一件事情了。
官方资料里有许多的例子,和两个游戏demo源代码。
我们就拿里面的一个具有代表性的例子编绎吧 functional_sample
在编绎之前,你必须重起你的机器,因为刚才我们修改了 autoexec.bat 而设置此时需要生效才行。(当然也有其它办法不必重起就生效,说来话长了)
好,重起之后,我们运行刚才装好的cygwin程序
进入了一个控制台窗口
这个控制台shell,命令行支持的是类式linux的指令,你可能不太了解,不过你不用担心呵
我们不需要记太多的命令指令,很简单的几句这可以了
就当是dos命令,只不过命令名称变了而已
下面是几个对应
ls 相当于dos下的dir指令
cd 相当于dos下的cd 指令
你也就需要这两个指令就搞定了,呵
行,那么我们正式开始:
cd c:
cd agb
cd src
cd samples
cd functional_sample
//以上几步作的就是进入c:\agb\src\samples\functional_sample目录下,和dos一样吧,呵
然后注意了,忘了提醒有关functional_sample这个例子的一个问题,
就是这个例子源代码share.c 中定义了
vu16 Cont;
vu16 Trg;
但是在share.h中又申明为
extern u16 Cont;
extern u16 Trg;
该编绎器检查认为是错误,所以你要改一下
将share.h文件里改成
extern vu16 Cont;
extern vu16 Trg;
否则编绎报错。
好,改好share.h之后,我们输入
make 回车!
好,你可以看到现在开始正式编绎了,太爽了,官方的例子在被编绎,呵
过了几十秒编绎完成之后,就会生成了bin与elf文件
你用visualBoyAdvance打开bin文件看一看是
什么例子,哇,原来是个非常强的GBA各个功能展示,有alpha混合,有图层显示
有马塞可显示,有放大缩小,有精灵移动,旋转,字体显示,声音,有地图显示,有窗口模式。
但是需要注意的一个问题::::::
如果你想使用gcc里面的库函数
需要在makefile里面修改一下
CFLAGS 中加入 -I"C:\cygwin\include"
LDFLAGS 中加入 -lm
否则你将无法使用sin,cos,sqrt等有用的库函数
编完这个,你可以再去试试看
2009-07-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人