文档章节

PSP开发简明教程(2)

龙之田
 龙之田
发布于 2014/04/29 00:02
字数 1643
阅读 701
收藏 8
点赞 0
评论 3

#PSP开发简明教程(2)

##开头

接着上文,这篇文章将具体说明如何搭建PSP开发环境。因为我是刚开始写教程类文章,加上对这一类型的程序开发不是很了解,所以文章可能有说的不明白,甚至错误的地方。还望大家能够指正。见谅!

##使用的软件和教程

为了编写PSP自制程序,我们需要如下软件:

MinPSPW(Minimalist PSPSDK)链接在这里

Eclipse IDE for C/C++ Developers链接在这里

其中MinPSPW也可以用DevKitPSP代替(链接在这里),不过因为现在最新固件(6.60)的破解程序(PROCFW)是用MinPSPW编译的,为防止出什么稀奇古怪的问题,我就选择了和它一样的环境。

选择MinPSPW的另一个原因是,它有一个比较好的官方教程,名字叫PSP Development with Eclipse。教程详细的说明了如何搭建开发环境和编译自制程序,本文也是依据这个写的。所以,如果英语比较好,完全可以看这官方给出的教程,肯定比我写的好。教程在这里

##软件的安装

MinPSPW的安装没什么好说的,在项目网站选择最新的程序,一路默认选项安装就是。安装完成后,它会在系统环境变量中添加自己的运行目录。

MinPSPW的环境变量

(MinPSPW的环境变量)

Eclipse我们选择C/C++ Developers版本,因为软件是绿色版本的,所以也没有安装一说。不过需要注意的是,Eclipse是基于Java编写的,所以需要电脑具有Java运行环境(没有的可以从这里安装)。

至此安装工作就算完成了。

##环境配置

之前说过,MinPSPW会在安装后自动在环境变量中添加运行目录,所以我们只需要检查一下它是否可用就可以。命令提示符中执行psp-gcc --version,应该会出现psp-gcc相关的版本信息。

psp-gcc版本信息

(psp-gcc版本信息)

接着说Eclipse,它在第一次执行的时候应该会让你设置工作空间,这里本人建议最好能够新建一个文件夹,比如WorkSpace,来存放所有用Eclpise开发的软件文件夹,因为它会在你指定的目录里面生成一些其它的文件。

Eclipse弹窗

(第一次使用Eclipse时的弹窗)

至此整个环境就基本可用了。

其实官方教程里面还对Eclipse做了其他设置,比如PSP的USB调试功能。这里就不细讲了,如果确实想了解的同学可以翻阅官方文档。

##工程编译

PSP的自制程序使用Makfile进行构建。这里我们以一个SDK中自带的例子来说明如何构建程序。

首先,我们在Eclipse中的Project explorer中单击右键,选择Import,导入工程

Import

(导入工程)

在弹出的Import窗口中,选择C/C++ -> Existing file as Makefile project,从既有文件导入Makefile工程。

导入Makefile

(从既有文件导入Makefile工程)

进入下一步,在第二个框中填入我们要加入的示例文件的文件夹。这里我们选择PSPSDK中一个关于按键操作的示例进行演示。(位置在:(MinPSPW安装位置)\psp\sdk\samples\controller\basic)

建议将示例程序另复制一份,以免破坏了原有的示例程序。

目录设置

(目录设置)

点击Finish,工程导入完成了。在Eclipse的左侧,可以看到我们导入的程序代码(main.c)和Makefile。

工程目录结构

(工程目录结构)

然后我们就可以进行编译了。在Eclipse的菜单栏的Project菜单中,选择Build Project

就完成编译了。

编译

(编译)

大家在查看main.c时,可能会发现满篇的红色波浪线,各种头文件无法找到。

头文件错误

(头文件错误)

虽然显得很乱,但其实并不影响程序的构建,因为Makefile中对头文件目录进行了设置。

所以这里会显示头文件无法找到,仅仅只是Eclipse无法找到而已。不信的话,可以把最下侧的对话框切换到Console,就可以看出来构 建没有任何问题。

Console对话框

(Console对话框)

如果觉得波浪线碍眼,我们可以在工程设置里面C/C++ General -> Paths and SymbolsIncludes里面,添加目录(MinPSPW安装位置)\psp\sdk\include进去,记得勾选Add to all languages。这样,就没有碍眼的错误提示了。

Include设置

(Include设置)

其实这样更重要的是,我们可以直接在编写代码的时候看到每个函数的描述信息。

函数描述信息

(函数描述信息)

以上就是整个PSP软件开发环境的配置过程。

##自制软件的运行

在编译之后,我们可以在源文件目录下找到一个叫EBOOT.PBP的文件。熟悉PSP自制软件的读者应该知道,这是PSP上类似于Windows下*.exe的东西。我们只要把它拷贝到PSP上面,就可以运行它了。

我们把它拷贝到PSP记忆棒目录下PSP\GAME\Controler\文件夹中。完后在PSP上面运行它(就像运行游戏一样)。

Controler basic程序的功能是将所有你按下的按键显示在屏幕上。

PSP莫名其妙的连不上电脑了。。。等我修好了上这张图(┬_┬)

(Controler运行界面)

##总结

以上就是PSP开发环境配置全过程。

当然官方教程中给出的功能可不止这些,它还说明了如何USB进行自制程序的在线调试。并给出了使用Bullet进行3D游戏开发的配制方法,这里就不一一说明了。有兴趣的可以参照官方教程自行配置使用。

下一篇文章将简单的说明一下Makfile和源代码的结构(网上既有的资料 + 个人比较浅显的理解)。并将自己所做过的些探索一一列出来,使读者们少走些弯路。

这篇文章就写到这里了。

本文MarkDown源文件和提到的示例程序源代码,可以在我的Github上获取。

Github地址:https://github.com/flymaxty/OSChina_Blog

© 著作权归作者所有

共有 人打赏支持
龙之田
粉丝 4
博文 5
码字总数 6368
作品 0
海淀
程序员
加载中

评论(3)

廖嘉炜
廖嘉炜
继续支持~
龙之田
龙之田

引用来自“景钱雨”的评论

很详细 很赞 敢问作者最后要完成什么目标
其实也没什么目标,就是单纯的想了解一下自制软件的开发而已。 而且现在相关的资料已经不多了,个人技术有不大好。所以。。。╮( ̄▽ ̄")╭ 不过我会尽可能的把开发需要涉及到的地方都写出来哈。 虽说不会很深,但至少能让大家少走些弯路。
景钱雨
景钱雨
很详细 很赞 敢问作者最后要完成什么目标
PSP开发简明教程(1)

PSP开发简明教程(1) PSP游戏机 PSP,即PlayStation Portable。是索尼于2004年12月12日发售的掌上型游戏机。 它采用4.3寸16:9比例、背光全透式的夏普ASV超广可视角液晶屏幕,屏幕分辨率达到...

龙之田 ⋅ 2014/04/27 ⋅ 4

PSP开发简明教程(3)

PSP开发简明教程(3) 开头 上一篇文章说明了如何搭建PSP软件的开发环境,这一篇将大概讲一下关于程序开发的问题。主要会讲到Makefile中各项参数的含义,并说明一下代码的框架。 其实这部分内...

龙之田 ⋅ 2014/05/01 ⋅ 0

Python学习资料篇

Python学习资料网络上比较多,看到好的资源,不及时记录下来,下次就找不到了,我把知乎上好的回到收藏汇总到这里,以便自己随时查看,包括Python入门书籍,网站,项目,官方文档,下载资源等...

BjarneCpp ⋅ 2017/12/03 ⋅ 0

49个python经典电子书

49个python经典电子书 本文转自:http://blog.sina.com.cn/s/blog_5bce66f00102vgqv.html

天意1 ⋅ 2016/01/20 ⋅ 0

OpenBoR

OpenBoR 是一个2D横版过关游戏开发引擎,国外制多了超级多的同人横版过关游戏。PSP OpenBoR 就是这个引擎的PSP平台移植版,让你也可以在PSP上玩到这些外国玩家自己开发的2D清版动作游戏。 使...

匿名 ⋅ 2008/11/11 ⋅ 0

python操作数据库基础知识

python是如何访问数据库的,通过数据库接口DB-API,他是阐明一系列所需对象和数据库访问机制的标准,它可以为不同的数据库适配器和底层数据库系统提供一致性的访问。 为实现对数据库的访问,...

Wantobetter ⋅ 01/03 ⋅ 0

推荐:深入浅出的自然语言处理书单!

DT时代,大数据、BI和人工智能均是十分火热的产业趋势,而自然语言处理作为人工智能领域和计算机科学领域中的一个重要方向,也随之火热了一把,得到不少IT人士的极大研究兴趣。现在,大圣众包...

大圣众包 ⋅ 2017/01/06 ⋅ 0

开源电子书

目录 语言无关类 操作系统 智能系统 分布式系统 编译原理 函数式概念 计算机图形学 WEB服务器 版本控制 编辑器 NoSQL PostgreSQL MySQL 管理和监控 项目相关 设计模式 Web 大数据 编程艺术 ...

zting科技 ⋅ 2017/12/11 ⋅ 0

迷渡:免费的编程中文书籍索引

本文之前发布过,近半年后,本文作者(迷渡,JustJavaC)大幅度进行了更新,因此再次分享给大家。感谢 @justjavac 和众多的分享者!感谢写作这些文档、手册的人们! 语言无关类 操作系统 开源...

山哥 ⋅ 2015/01/22 ⋅ 4

编程类开放书籍荟萃(转载)

关于开源图书有人在网络上做了大量整理,本文为大家刊载《免费的编程中文书籍索引》 国外程序员在 stackoverflow 推荐的程序员必读书籍,中文版。 stackoverflow 上的程序员应该阅读的非编程...

行者PHPer ⋅ 2016/10/09 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

RabbitMQ学习以及与Spring的集成(三)

本文介绍RabbitMQ与Spring的简单集成以及消息的发送和接收。 在RabbitMQ的Spring配置文件中,首先需要增加命名空间。 xmlns:rabbit="http://www.springframework.org/schema/rabbit" 其次是模...

onedotdot ⋅ 27分钟前 ⋅ 0

JAVA实现仿微信红包分配规则

最近过年发红包拜年成为一种新的潮流,作为程序猿对算法的好奇远远要大于对红包的好奇,这里介绍一种自己想到的一种随机红包分配策略,还请大家多多指教。 算法介绍 一、红包金额限制 对于微...

小致dad ⋅ 39分钟前 ⋅ 0

Python 数电表格格式化 xlutils xlwt xlrd的使用

需要安装 xlutils xlwt xlrd 格式化前 格式化后 代码 先copy读取的表格,然后按照一定的规则修改,将昵称中的学号提取出来替换昵称即可 from xlrd import open_workbookfrom xlutils.copy ...

阿豪boy ⋅ 今天 ⋅ 0

面试题:使用rand5()生成rand7()

前言 读研究生这3 年,思维与本科相比变化挺大的,这几年除了看论文、设计方案,更重要的是学会注重先思考、再实现,感觉更加成熟吧,不再像个小P孩,人年轻时总会心高气傲。有1 道面试题:给...

初雪之音 ⋅ 今天 ⋅ 0

Docker Toolbox Looks like something went wrong

Docker Toolbox 重新安装后提示错误:Looks like something went wrong in step ´Checking if machine default exists´ 控制面板-->程序与应用-->启用或关闭windows功能:找到Hyper-V,如果处......

随你疯 ⋅ 今天 ⋅ 0

Guacamole 远程桌面

本文将Apache的guacamole服务的部署和应用,http://guacamole.apache.org/doc/gug/ 该链接下有全部相关知识的英文文档,如果水平ok,可以去这里仔细查看。 一、简介 Apache Guacamole 是无客...

千里明月 ⋅ 今天 ⋅ 0

nagios 安装

Nagios简介:监控网络并排除网络故障的工具:nagios,Ntop,OpenVAS,OCS,OSSIM等开源监控工具。 可以实现对网络上的服务器进行全面的监控,包括服务(apache、mysql、ntp、ftp、disk、qmail和h...

寰宇01 ⋅ 今天 ⋅ 0

AngularDart注意事项

默认情况下创建Dart项目应出现以下列表: 有时会因为不知明的原因导致列表项缺失: 此时可以通过以下步骤解决: 1.创建项目涉及到的包:stagehand 2.执行pub global activate stagehand或pub...

scooplol ⋅ 今天 ⋅ 0

Java Web如何操作Cookie的添加修改和删除

创建Cookie对象 Cookie cookie = new Cookie("id", "1"); 修改Cookie值 cookie.setValue("2"); 设置Cookie有效期和删除Cookie cookie.setMaxAge(24*60*60); // Cookie有效时间 co......

二营长意大利炮 ⋅ 今天 ⋅ 0

【每天一个JQuery特效】淡入淡出显示或隐藏窗口

我是JQuery新手爱好者,有时间就练练代码,防止手生,争取每天一个JQuery练习,在这个博客记录下学习的笔记。 本特效主要采用fadeIn()和fadeOut()方法显示淡入淡出的显示效果显示或隐藏元...

Rhymo-Wu ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部