从 Sony PLAYSTATION 3 构建 Linux 实验设备

http://tech.ddvip.com   2008年06月11日    社区交流

内容摘要:在本系列文章中,Lewin Edwards 将向您展示如何从游戏控制台转到音频带宽频谱分析器和函数生成器。首先,他将介绍本项目的设计内容,然后在您开始着手在 Cell/B.E. 处理器上生成并分析信号时详细介绍用户接口的实现。

  本文提及这个问题的惟一原因是如果您在屏幕上画了一个矩形,它触及了屏幕的左边缘,就会看到这个矩形的颜色扩展到了整个扫描区域,而矩形的左上角却不是这样(由于这个角是从上一条扫描线的末尾继承的颜色)。即使在低分辨率的电视机上,这种现象也很容易注意到;我不希望您将这个问题报告为我代码的一个 bug,因为这根本不是我的 bug!

  让它变得清晰

  您的工具所需要的另外一个特性是文本渲染代码。我没有手工编写字符生成器结构,而是借用了 Linux 内核中的 font_acorn_8x8.c 中的代码(这是 framebuffer 驱动程序树的一部分)。注意:这是合法的,因为我此处提供的样例代码是 GPL 许可的。如果您需要在不公开源代码的发行版中使用的字符集,就需要自己再进行一些搜索工作了。例如,Red Hat 的 eCos 操作系统就包含了一个您可以使用的字符集。Linux 字体的优点是已经包含了您可能使用的所有 ASCII 字符。

  现在我们可以开始来查看样例代码了,它包含了前面介绍的初始化工作,以及处理单个像素、填充矩形和渲染文本的函数。main.c 中的样例代码会在屏幕上画几个彩色的条,以及几行多种颜色的文本,还会在控制台上打印一些可能有用的调试信息。您会发现上面介绍的所有图形原语都在 graphics.c 和 graphics.h 中,或多或少都能从文档中看到解释。

  键盘警告

  当您运行样例代码时需要注意的最后一点警告是:建议您不要使用键盘连接到 PS3 上进行编辑;而应该通过 ssh 进行开发(YDL 安装中默认包括了完整的 ssh 守护进程;您不需要配置任何东西)。这样您可以在 ssh 控制台上运行应用程序,同时可以在标准输出设备上看到有用的调试信息,而不会弄乱 PS3 的 framebuffer 中正在显示的图形。

  惊奇!功能完善的图形接口!

  如果您一直遵循本文的介绍进行了实验,现在就获得了一个可以在 PPE 上运行的功能完善的图形接口,它有一些非常有用的基础原语,可以在更高级的项目中使用。

  在下一篇文章中,我们将介绍如何使用 iMic 来搜集模拟数据流,并展示如何使用一个 SPE 将系统转换成一个有用的音频分析器。

来源:ibm    作者:Lewin Edwards    责编:豆豆技术应用

正在加载评论...