2008-09-28 1 views
25

나는 이전에 this 대답을 읽고 있었고, 나에게 임베디드 장치를 프로그래밍하는 것을 배우기 위해 Nintendo DS Lite를 구입하는 데 관심이있었습니다. 나가기 전에 DS에 몇 가지 질문을했습니다.닌텐도 DS에서 프로그래밍

  1. 프로그래밍 할 수있는 것에 제한이 있습니까? 앞서 언급 한 게시물은 그렇지 않다고 말한 것 같았지만 명확한 설명이 좋을 것입니다.

  2. 나는 arduino (또는 유사)를 구입하고 그 경로로가는 것이 더 낫겠습니까? 이미 많은 하드웨어가 내장되어 있기 때문에 나는 DS를 좋아합니다.

  3. CycloDS Evo 카드를 얻으려고 생각하고 있습니다. 자작 나무를위한 더 좋은 옵션이 있습니까?

  4. DS 개발에 대해 배우기에 가장 좋은 자료는 무엇입니까? 시간에 대한

덕분에, 당신이 그것에 DS와 프로그램을 가지고 있다면, 당신은 당신의 의견을 듣고 싶어요, 또는 더 나은 아이디어가있는 경우 또는, 나도 그것을 듣고 싶습니다.

감사합니다 =]

답변

19
  1. 아니, 정말 하드웨어의 넘어 제한의 정도가 아니며, 심지어는 충분히 노력으로 극복 될 수있다. 진동이 예 : 과 프로세서를 모두 사용하는 입자 게임으로 변경되었습니다. 도 더블 패스 렌더러를 사용하여 고품질 3D 장면을 만드는 방법에 대한 토론이있었습니다. Nintendo DS 섹션의 여러 리소스가 GBADev forums입니다.

  2. I 는 DS가 임베디드 시스템 발전에 우수한 경로라고 말할 것입니다; 활성 커뮤니티는 에 질문하고 대답을 제공하고자하는데, 그리고 많은 하드웨어가 직접적으로 에 내장되어 있습니다. 그것은 시험에 시스템을 구축하는 시간을 절약 할 수 있습니다.

  3. 는 CycloDS 진화는 그렇게 어려운해서는 안하는 좋은 카드이고 매우 일반적입니다 - 이 전혀 필요 - 다른 카드와 자작하게 호환을 할 수 있습니다. 그러나 다른 인기있는 선택은 M3 라인과 R4 라인이며 이는 과 거의 동일하다는 것을 알아 두십시오.나는 TTDS를 가지고 있으며, 잘 작동하지만, 은 즉시 사용 가능하지 않습니다. 나는 다른 세 언급 된 것을 권 해드립니다. 시작 DS의 devving에 관해서는

  4. , I 것 devkitPro의 examples 폴더에있는 기본 예를 찾아 GBA와 DS 모두에서 사용되는 개념 의 많은 커버 GBA tutorial TONC, 읽기 reccommend 개발. 더 많은 DS 지향 지침서, Patater's Introduction to Nintendo DS Programming, 초보자 DS 세계에서 자신의 방식으로 얻을 도움이 될 것입니다. very comprehensive documentation spec for the GBA and DS known as GBATek도 있습니다.

4

DS에서 프로그래밍을하지 않았지만 GBA (Game Boy Advanced)에서 약간의 개발을했습니다. 임베디드 디바이스를 프로그래밍하는 방법을 배우면 좋은 옵션 일 수 있습니다 (물론 저렴한 디바이스 임). 온라인으로받을 수있는 무료 책이 있습니다 : Programming the Nintendo Gameboy Advanced. 내가 보았 듯이 GBA를 프로그래밍하는 방법을 배우기 위해 온라인에서 더 많은 리소스가 있기 때문에 GBA를 제안합니다. 한 가지 단점은 wifi가 없다는 것입니다. 즉, DS와 마찬가지로 멋진 일을 할 수는 없지만 확실히 시작입니다.

3
  1. 제한 사항은 하드웨어 제한 사항입니다. 4MB의 RAM이 있으며 3D 하드웨어는 프레임 당 X 프레임을 처리 할 수 ​​있습니다. 그 외에, 당신이 원하는 것을 할 수있는 것은 하드웨어 다. 툴체인은 C/C++ 및 어셈블러 (ARM)를 지원합니다.

  2. 하드웨어의 다양성 때문에 나는 그것을 좋아합니다. 퍼즐의 각 부분을 파악하면 DS를 재미있게 만드는 것입니다. 하드웨어의 각 비트마다 가장 효과적으로 활용할 수있는 트릭이 있습니다.

  3. 자신이 없으므로 here을 확인하십시오. 좋은데.
    편집 : 온보드 USB 소켓이있는 카트를 사용하면 약간 빠른 처리 시간을 얻을 수 있지만 PC와 NDS 간에는 SD 카드를 많이 바꿀 수 밖에 없습니다.

  4. 가장 좋은 자료는 libnds 예제이고 gbadev forums입니다.

7

약 1 년 전에 DS Lite에 대해 약간의 프로그래밍을했습니다. 내가 가진 주요 하드웨어 제한은 WiFi 하드웨어로 작업하고 있었다. 나는 DS-DS 통신이 당시에 자생 라이브러리와 불가능하다는 것을 발견했다. 나는 그것이 바뀌 었는지 확신하지 못한다. 또한 다른 장치에 대한 Ad-Hoc 연결을 구성 할 수 없음을 발견했습니다. 인프라 모드에서 802.11b 네트워크에 연결해야했고 SSID가 브로드 캐스트되어야했습니다. http://www.palib.info/wiki/doku.php?id=day1

  • DevKitPro (툴체인) : -에 http://nocash.emubase.de/gba.htm
  • Supercard 라이트 (하드웨어 http://www.devkitpro.org/
  • 없이 $의 GBA (DS 에뮬레이터) 개발을 위해

    나는

    Supercard Lite는 DS의 GBA 및 DS 슬롯을 사용해야하므로 권장하지 않습니다. 당시 유일한 선택이었습니다. 현재 R4와 같은 DS 슬롯 전용 솔루션이 있습니다. 나는 R4를 사용하고있는 친구가 있고, 나 자신을 사용하지는 않았지만 그것으로 꽤 좋은 성공을했습니다.

  • +0

    그래, dswifi는 여전히 인프라 모드에서만 작동하며 애드혹이 아닙니다. 하지만 다른 NDS와 대화 할 필요가 있다면, 그냥 원래의 802.11 패킷을 던질 수 있습니다. –

    2

    전 CycloDS Evolution을 가지고 있습니다. 나는 그것을 좋아합니다! DSOrganize은 DS와 함께 제공되기를 바라는 많은 것들을 추가하는 미니 OS와 비슷합니다. 실제 캘린더 앱과 같습니다!

    마이크 F의 # 3 주소를 지정하려면 실제로 FTP server for DS이 있습니다.이 번호는 파일을 DS에 무선으로 전송하는 데 사용할 수 있습니다. 내 네트워크가 WPA를 사용하고 DS가 WEP 만 지원하는 것 같기 때문에 직접 시도하지 않았습니다.

    1

    솔직히, 내가 대학에 임베디드 시스템 과정에 참석하는 동안 나는 닌텐도 DS와 사제 커뮤니티를 발견, 나는 내가 클래스와 하드웨어 - 프로그래밍 된 ATmega32 기반 키트 사이의 유사성을 실현 libnds를 통해 Nintendo DS의 수준 높은 개발을 시도해 보았습니다.

    저는 개인적으로 강한 C++ 배경에서 왔지만, 프로그램 한 주머니에서 뭔가를 가지고 걸어 다닐 수 있다는 것은 TI-83 Plus를 처음 접한 이후로 내 목표였습니다 계산기 ... 이제는 Nintendo DS 덕분에 그 목표를 실현할 수 있습니다.

    어쨌든 지난 몇 개월 동안 DS 개발에 많은 즐거움을 얻었 으면 좋겠다. 나는 당신의 노력에 행운이 있기를 바란다.

    1

    나는 DS보다 더 많은 GBA를 수행했다. 나는 합병증을 두 배로하기 때문에 GBA를 먼저 DS로 옮길 것을 권합니다. 3in1 크기의 ezflash V gba 카드는 좋은 카드입니다. 나는 NDS와 내가 다운로드 할 수있는 프로그램을 사용하여 카드에 쓴 gba 용 부트 로더를 가지고있다. 일단 부트 로더가 직렬 케이블을 사용 중이면 프로그램을 디버깅 할 수있을뿐만 아니라 RAM에로드 할 수 있습니다. 이 카드를 사용하면 카드의 램에로드 할 수 있으며 프리 페치 버퍼와 더 큰 프로그램을 활용할 수 있습니다. NDS의 경우 많은 카드를 사용해 보았습니다. 사이클로이드는 하루 하루 사용하기에 좋지만 개발을 위해서는별로 좋지 않습니다. 나는 Acekard 2가 더 좋다고 생각한다. 카드를 꺼내서 SD 카드를 꺼내 컴퓨터에로드하는 횟수를 생각해보십시오. 매우 고통스러운 당신은 slot0 카드를 꺼내지 않고도 얻을 수있는 sd 카드 슬롯이있는 카드를 원합니다. 사이클로이드는 그렇지 않습니다. NDS에 대한 아주 좋은 카드. 나는 그것이 acekard 2가하는 NDSi에서 작동한다고 생각하지 않는다. nds와 gba 모두 visualboyadance와 같은 시뮬레이터에 젖어있을 수 있습니다. 시뮬레이터에서 작동하는 프로그램은 실제 하드웨어에서는 작동하지 않으며 실제 하드웨어에서 작동하는 프로그램은 일반적으로 시뮬레이터에서 작동합니다 그래도. 개발 카드를 제거하고, 다시 프로그래밍하고, 교체하는 것은 매우 고통 스럽습니다. 부트 로더, wifi 또는 다른 방법으로 피할 수있는 가치가 있습니다.

    Arduinos는 재미 있고 흥미 롭습니다. 직렬 패드에 대한 lilypad와 usb는 필자가 권장하는 것으로, 납땜이 필요하지 않으며 큰 투자를하지 않고도 사용할 수 있습니다. 나는 armmite 프로를 더 좋아한다. arduino와 같은 발자국이지만 팔을 기반으로한다. (나는 lpc를 구입할뿐, 지금은 lpc 팬이 아니다.) 그리고 직렬 장비, 보통의 USB 케이블, 점퍼 (점퍼를 땜질하기 전까지는 아마도 종이 클립 만)를 구입할 필요가 없습니다. 방금 플래시를 지우고 내가 원하는 것을로드 할 수있게 해주는 코드 2 개를 더 주문했습니다. 작동하지 않기를 바랄뿐입니다. 나는 olimex sam7-h64와 h256 (헤더 보드 at91sam7s256)에 계속해서 매우 만족하고 있습니다. avr atmel은 좋은 개발자들과 매우 친숙합니다. Sparkfun은 위의 모든 것을 미국에서 찾을 수있는 좋은 곳입니다. Sam-ba는 Linux를 사용하는 경우 Linux 버전을 사용합니다. Windows 버전은 arduino 또는 armmite pro와 비슷한 수준의 ds 또는 gba보다 훨씬 쉽게 지우고 다시 프로그래밍 할 수 있습니다. 비슷한.

    이전의 발광 마이크로는 이제 좋은 보드를 가지고 있습니다. gba/nds와 같지만 다른 보드와 달리 디스플레이 및 기타 주변 장치가있어, USB는 프로그램하기 만하면됩니다. 엄지 모드에서만. GBA는 성능을 위해 엄지 손가락 모드를 선호하지만 어느 쪽이든 갈 수 있습니다. nds, 나는 기억하지 못한다. 버스의 넓이와 타이밍을 이해할 수는 없다. Nintendo와 그 값싼 썸을 아는 것이 아마 더 좋거나 빠를 것입니다. lm3s811 평가 보드가 너무 쉬웠으므로 1968 년은 나쁜 것이 아닙니다. 필자는 개발자가 소스에서 멀리 rtos 및 특정 컴파일러 제품군에 맞게 미리 빌드 된 라이브러리로 밀어 넣었습니다.

    +0

    죄송합니다, 잘못된 armmite pro 전원 및 USB 직렬에 작은 ftdi 보드가 필요하지 않습니다. 여전히 매력적인 가격으로. –