【问题标题】:Programming on a Nintendo DS在 Nintendo DS 上编程
【发布时间】:2010-09-13 18:50:31
【问题描述】:

我之前正在阅读this 的答案,它让我对购买 Nintendo DS Lite 来学习对嵌入式设备进行编程产生了兴趣。在我出去购买 DS 之前,我有几个问题:

  1. 对您可以编程的内容是否有任何限制?我之前指出的帖子似乎说没有,但澄清一下就好了。

  2. 我最好买一个 arduino(或类似的)然后走那条路吗?我喜欢 DS,因为它已经内置了很多硬件。

  3. 我正在考虑购买 CycloDS Evo 卡,有没有更好的自制软件选择?

  4. 了解 DS 开发的最佳资源是什么?

感谢您抽出宝贵时间,如果您有 DS 和程序,我很想听听您的意见,或者如果您有更好的想法,我也想听听。

谢谢=]

【问题讨论】:

    标签: c embedded nintendo-ds homebrew


    【解决方案1】:
    1. 不,真的没有多少 超出的限制 硬件,甚至可以 用足够的努力克服。地震 已移植到 DS,例如, 和利用两者的粒子游戏 处理器已经制成。那里 也一直在讨论如何 使用制作更高质量的 3D 场景 双通道渲染器。有 任天堂上的多种资源 GBADev forums 的 DS 部分。

    2. 我 会说 DS 是一个 通往嵌入式系统的绝佳途径 发展;有一个大而 愿意参与的活跃社区 回答问题并给予支持, 并且构建了如此多的硬件 直接进入事情。它节省了 你建立一个系统的时间 上测试。

    3. CycloDS Evolution 是一个 好卡而且相当普遍,所以 应该不难——如果 完全有必要 - 让您的自制软件兼容 其他卡。但是,请注意 其他流行的选择是 M3 线和 R4 线,它们是 几乎是一样的。我有 一个TTDS,它运作良好,但不是 盒子外面。我会推荐 提到的其他三个。

    4. 至于 开始 DS devving,我会 推荐看基本的 在 devkitPro 的 examples 文件夹中找到示例并阅读 GBA tutorial TONC, 它涵盖了许多概念 在 GBA 和 DS 中都使用的 发展。更面向 DS 教程,Patater's Introduction to Nintendo DS Programming, 将帮助初学者上路 在 DS 世界中。还有一个very comprehensive documentation spec for the GBA and DS known as GBATek

    【讨论】:

      【解决方案2】:

      我都做过,GBA 比 DS 多。我会先推荐 GBA,然后再升级到 DS,因为它会使复杂性加倍。 ezflash V gba 大小 3 in 1 是一张好卡。我有一个用于 gba 的引导加载程序,我使用 NDS 写入卡和一个我下载的程序,我不记得手头的名称。一旦引导加载程序使用串行电缆并让我调试程序并将它们加载到内存中。该卡还允许您加载到卡上的 ram 并利用预取缓冲区和更大的程序从那里运行。对于 NDS,我尝试了很多卡。 cyclods 适合日常使用,但对于开发来说不是那么多。我想我更喜欢 Acekard 2,或者 R4。想想你拉出卡并拉出SD卡并将其加载到计算机中的次数。非常痛苦,您想要一张带有 sd 卡插槽的卡,而无需拔出 slot0 卡。独轮车不是它。不过对于 NDS 来说是一张非常好的卡。我认为它不适用于 acekard 2 的 NDSi。对于 nds 和 gba,您都可以使用 Visualboyadvance 之类的模拟器,它们并不完全准确,而且很常见的是,在模拟器上运行的程序无法在真实硬件上运行,而在真实硬件上运行的程序通常可以在模拟器上运行尽管。移除开发卡、重新编程和更换非常痛苦,引导加载程序、wifi 或任何其他可以避免的方式都是值得的。

      Arduinos 很有趣,我推荐的是 lilypad 和 USB 转串口的东西,不需要焊接,你可以开始使用而不需要大笔投资。我更喜欢 armmite pro,类似 arduino 的足迹,但基于 arm(我唯一会购买的 lpc,不是 lpc 粉丝)。而且您不需要购买串行设备,只需一根普通的 USB 电缆和一个跳线(也许是一个回形针,直到您焊接在跳线上)。我刚刚又订购了两个,到目前为止,我的代码擦除了出厂闪存并允许我加载任何我想要的不起作用的东西,得去弄清楚。我仍然对 olimex sam7-h64 和 h256(头板 at91sam7s256)感到非常满意,因为 avr atmel 对开发人员非常友好,文档也很好。 Sparkfun 是在美国找到上述所有内容的好地方。 Sam-ba 现在有一个 linux 版本,如果你像我一样使用 linux,windows 版本已经存在了一段时间,相当容易擦除和重新编程,比 ds 或 gba 容易得多,与 arduino 或 armmite pro 或相似的。

      以前的 luminary micro 现在 ti stellaris 有一些不错的电路板。像 gba/nds 但与我提到的其他板不同,有显示器和其他外围设备可供使用,usb 是您编程所需的全部。仅限拇指模式。 GBA 更喜欢拇指模式以提高性能,但可以采用任何一种方式。 nds,我不记得了,从来没有了解总线的宽度和它们的时间。了解任天堂及其便宜的拇指可能会更好/更快。 lm3s811 评估板太容易变砖了,1968 还不错。我不喜欢他们将开发人员从源代码​​中推到为 rtos 和特定编译器套件量身定制的预构建库中。

      【讨论】:

      • 对不起,错误的 armmite pro 确实需要小 ftdi 板来供电和串行到 USB。即使价格仍然有吸引力。
      【解决方案3】:

      老实说,我在大学学习嵌入式系统课程时发现了 Nintendo DS 和自制软件社区,我意识到我为课程编程的基于 ATmega32 的套件与硬件级开发之间的相似之处Nintendo DS 通过 libnds,我被迷住了。

      就我个人而言,我有很强的 C++ 背景,但是自从我第一次接触到 TI-83 Plus 计算器以来,能够随身携带我编程的东西一直是我的目标...由于 Nintendo DS,我现在能够实现这个目标。

      无论如何,我希望您在进入 DS 开发方面能像过去几个月一样开心,并祝您一切顺利。

      【讨论】:

        【解决方案4】:

        我没有在DS上做过任何编程,但我在GBA(Game Boy Advanced)上做了一些开发。如果您想做的是学习如何对嵌入式设备进行编程,那么这对您来说可能是一个不错的选择(当然也是一个更便宜的选择)。您甚至可以在线获得一本免费书籍:Programming the Nintendo Gameboy Advanced。我建议GBA,因为正如我所见,网上有更多的资源可以学习如何为它编程。一个缺点是它没有 wifi,这意味着您将无法像 DS 那样做很多很酷的事情,但这无疑是一个开始!

        【讨论】:

          【解决方案5】:

          前几天我刚拿到了 CycloDS Evolution,我很喜欢它! DSOrganize 就像一个迷你操作系统,它添加了一堆我希望 DS 附带的东西,就像一个真正的日历应用程序!

          为了解决 Mike F 的 #3,实际上有一个 FTP server for DS,您可以使用它以无线方式将文件传输到 DS。不过我自己没有尝试过,因为我的网络使用 WPA,而 DS 似乎只支持 WEP。

          【讨论】:

            【解决方案6】:

            大约 1 年前,我在 DS Lite 上进行了一些编程。我遇到的主要硬件限制是使用 WiFi 硬件。我发现当时无法与自制程序库进行 DS-DS 通信。我不确定这是否已经改变。我还发现您无法与另一台设备建立 Ad-Hoc 连接。我必须以基础架构模式连接到 802.11b 网络,并且必须广播 SSID。

            为了开发,我使用了

            我不推荐 Supercard Lite,因为它需要使用 DS 的 GBA 和 DS 插槽。在当时,这是唯一的选择。现在有只有 DS 插槽的解决方案,例如 R4。我有一个朋友正在使用 R4,并取得了不错的成功,虽然我自己没有使用过。

            【讨论】:

            • 是的,dswifi 仍然只是基础架构模式,没有 ad-hoc。但是,如果您只需要与其他 NDS 通信,您可以直接抛出原始 802.11 数据包。
            【解决方案7】:
            1. 限制是硬件限制 - 有 4Mb 的 RAM,3D 硬件可以处理每帧 X 多边形等等。除此之外,它只是一堆硬件,你可以用它做你想做的事。该工具链支持 C/C++ 和汇编程序 (ARM)。

            2. 硬件的多样性也是我喜欢它的原因。掌握每一块拼图是让 DS 变得有趣的原因 - 每一块硬件都有自己的一套技巧,可以充分利用它。

            3. 我自己没有,所以我想看看here。不过看起来不错。
              编辑: 我会选择的唯一缺点是您将在 PC 和 NDS 之间交换 SD 卡很多,而带有板载 USB 插座的推车会稍微快一些周转。

            4. 最好的资源是 libnds 示例,然后是 gbadev forums

            【讨论】:

              【解决方案8】:

              不能说关于 1、2 或 3。但我用于 GBA 编程的资源也有 DS 信息:

              http://nocash.emubase.de/gbatek.htm(这是一个深入的技术规范文档,但我喜欢它)

              另外:http://www.devkitpro.org/ 用于编译器和其他东西。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2010-09-13
                • 2011-07-06
                • 2010-09-05
                • 1970-01-01
                • 2010-11-02
                • 2016-01-24
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多