2008-09-28 18 views
25

पर प्रोग्रामिंग मैं this पहले उत्तर पढ़ रहा था और मुझे एम्बेडेड डिवाइस प्रोग्राम करने के लिए सीखने के लिए निंटेंडो डीएस लाइट खरीदने में दिलचस्पी मिली। डीएस पर बाहर जाने और छेड़छाड़ करने से पहले मेरे पास कुछ प्रश्न थे:एक निंटेंडो डीएस

  1. क्या आप प्रोग्राम कर सकते हैं इस पर कोई प्रतिबंध है? मैंने जो पोस्ट पहले संकेत दिया था वह कहता था कि वहां नहीं थे, लेकिन स्पष्टीकरण अच्छा होगा।

  2. क्या मैं एक आर्डिनो (या इसी तरह) खरीदने और उस मार्ग पर जाने से बेहतर होगा? मुझे डीएस पसंद है क्योंकि इसमें पहले से ही बहुत सारे हार्डवेयर हैं।

  3. मैं साइक्लोड्स ईवो कार्ड प्राप्त करने के बारे में सोच रहा हूं, क्या होमब्री के लिए एक बेहतर विकल्प है?

  4. डीएस विकास के बारे में जानने के लिए सबसे अच्छे संसाधन क्या हैं?

आपके समय के लिए धन्यवाद, आप उस पर एक डी एस और कार्यक्रम है, तो मैं तुम्हें अपनी राय सुनना अच्छा लगेगा, या वैकल्पिक रूप यदि आप एक बेहतर विचार है, मैं यह भी सुनना चाहते हैं।

धन्यवाद =]

उत्तर

19
  1. नहीं, वास्तव में नहीं हार्डवेयर की है कि परे एक सीमा के बहुत है, और यहां तक ​​कि काफी प्रयास के साथ दूर किया जा सकता। क्वैक को डीएस को पोर्ट किया गया है, उदाहरण के लिए, और प्रोसेसर दोनों का उपयोग करने वाले कण गेम बनाए गए हैं। पर भी चर्चा हुई है कि कैसे का उपयोग करके उच्च गुणवत्ता वाले 3 डी दृश्यों को डबल पास रेंडरर का उपयोग करें। GBADev forums के निंटेंडो डीएस अनुभाग पर कई संसाधन हैं।

  2. I कहेंगे कि डीएस एम्बेडेड सिस्टम विकास के लिए उत्कृष्ट मार्ग है; वहाँ एक बड़ा और सक्रिय समुदाय है जो उत्तर प्रश्नों के लिए तैयार है और समर्थन प्रदान करता है, और इस तरह के हार्डवेयर में इतना हार्डवेयर बनाया गया है। यह बचाता है जब आप परीक्षण पर सिस्टम बनाने का समय बचाते हैं।

  3. CycloDS विकास एक अच्छा कार्ड है और काफी आम है, इसलिए यह मुश्किल नहीं होना चाहिए - अगर पर सभी आवश्यक - अन्य कार्ड के साथ अपने homebrew संगत बनाने के लिए। हालांकि, ध्यान रखें कि अन्य लोकप्रिय विकल्प हैं M3 लाइन और आर 4 लाइन, जो बहुत अधिक हैं।मेरे पास एक टीटीडीएस है, और यह अच्छी तरह से काम करता है, लेकिन बॉक्स से बाहर नहीं है। मैं reccommend अन्य तीन का उल्लेख किया होगा।

  4. शुरुआत डी एस devving का सवाल है, मैं करूंगा सिफारिश devkitPro की examples फ़ोल्डर में मिलता बुनियादी उदाहरण देख रही है और GBA tutorial TONC, जो अवधारणाओं कि दोनों GBA और डी एस में किया जाता है के कई शामिल किया गया है पढ़ने विकास। एक और डीएस उन्मुख ट्यूटोरियल, Patater's Introduction to Nintendo DS Programming, डीएस दुनिया में शुरुआती पर पहुंचने में मदद करेगा। very comprehensive documentation spec for the GBA and DS known as GBATek भी है।

3

1,2, या 3. लेकिन संसाधन मैं GBA प्रोग्रामिंग के लिए उपयोग भी डी एस जानकारी है के बारे में कुछ कह नहीं सकते:

http://nocash.emubase.de/gbatek.htm (और यह एक गहरी नीचे तकनीकी है spec दस्तावेज़, लेकिन मुझे इसके लिए यह पसंद है)

इसके अलावा: http://www.devkitpro.org/ संकलक और सामान के लिए।

4

मैंने डीएस पर कोई प्रोग्रामिंग नहीं किया है, लेकिन मैंने जीबीए (गेम बॉय एडवांस्ड) पर कुछ विकास किया है। यदि आप जो करना चाहते हैं, वह सीखें कि एम्बेडेड डिवाइस कैसे प्रोग्राम करें, यह आपके लिए एक अच्छा विकल्प हो सकता है (और निश्चित रूप से एक सस्ता)। यहां एक निःशुल्क पुस्तक भी है जिसे आप ऑनलाइन प्राप्त कर सकते हैं: Programming the Nintendo Gameboy Advanced। मैं जीबीए का सुझाव देता हूं, जैसा कि मैंने देखा है, इसके लिए कार्यक्रम कैसे सीखना है, इसके लिए ऑनलाइन बहुत सारे संसाधन हैं। एक दोष यह है कि इसमें वाईफाई नहीं है, जिसका मतलब है कि आप डीएस के लिए जितनी अच्छी चीजें करेंगे उतनी अच्छी चीजें नहीं कर पाएंगे, लेकिन यह निश्चित रूप से एक शुरुआत है!

3
  1. प्रतिबंध हार्डवेयर प्रतिबंध हैं - 4 एमबी रैम है, 3 डी हार्डवेयर प्रति फ्रेम एक्स पॉली को संभाल सकता है और इसी तरह। इसके अलावा, यह केवल हार्डवेयर का एक गुच्छा है जो आप कर सकते हैं जो आप चाहते हैं। टूलचेन सी/सी ++ और असेंबलर (एआरएम) का समर्थन करता है।

  2. हार्डवेयर की विविधता यह है कि मुझे यह भी पसंद है। पहेली के प्रत्येक टुकड़े के साथ पकड़ने के लिए जो डीएस को मजेदार बनाता है - हार्डवेयर के प्रत्येक बिट में इसका अधिक से अधिक लाभ उठाने के लिए चाल का अपना सेट होता है।

  3. मेरे पास कोई नहीं है, इसलिए मुझे लगता है कि बस here देखें। हालांकि अच्छा लग रहा है।
    संपादित करें: एकमात्र नाइट जिसे मैं चुनता हूं वह यह है कि आप पीसी और एनडीएस के बीच एसडी कार्ड को स्वैप कर देंगे, जबकि ऑनबोर्ड यूएसबी सॉकेट वाला एक कार्ट आपको थोड़ा तेजी से बदलाव देगा।

  4. सर्वोत्तम संसाधन libnds उदाहरण हैं, और फिर gbadev forums

7

मैंने लगभग 1 साल पहले डीएस लाइट पर थोड़ा प्रोग्रामिंग किया है। वाईफ़ाई हार्डवेयर के साथ काम कर रहे प्रमुख हार्डवेयर सीमा। मैंने पाया कि उस समय होमब्रू पुस्तकालयों के साथ डीएस-डीएस संचार संभव नहीं था। मुझे यकीन नहीं है कि क्या यह बदल गया है। मैंने यह भी पाया कि आप किसी अन्य डिवाइस पर एड-होक कनेक्शन नहीं बना सकते। मुझे बुनियादी ढांचे मोड में 802.11 बी नेटवर्क से कनेक्ट करना पड़ा और एसएसआईडी को प्रसारित करना पड़ा। http://www.palib.info/wiki/doku.php?id=day1

  • DevKitPro (toolchain):: - http://nocash.emubase.de/gba.htm
  • Supercard लाइट (करने के लिए हार्डवेयर http://www.devkitpro.org/
  • कोई $ GBA (डी एस एम्यूलेटर)

    विकास करने के लिए मैं

    • PALib (हेल्पर लाइब्रेरी) का इस्तेमाल किया होमब्री अनुप्रयोग चलाएं) - http://www.realhotstuff.com/-c-32_81.html

    मैं सुपरकार्ड लाइट की अनुशंसा नहीं करता क्योंकि इसे डीएस के जीबीए और डीएस स्लॉट के उपयोग की आवश्यकता होती है। उस समय यह एकमात्र विकल्प था। डीएस स्लॉट केवल आर 4 जैसे समाधान हैं। मेरे पास एक दोस्त है जो आर 4 का उपयोग कर रहा है और इसके साथ बहुत अच्छी सफलता है, हालांकि मैंने इसे स्वयं नहीं इस्तेमाल किया है।

  • +0

    हाँ, dswifi अभी भी बुनियादी ढांचा-मोड है, कोई विज्ञापन नहीं है। लेकिन अगर आप केवल अन्य एनडीएस से बात करने की ज़रूरत है, तो आप * कच्चे 802.11 पैकेट को फेंक सकते हैं। –

    2

    मुझे दूसरे दिन साइक्लोड्स इवोल्यूशन मिला, और मैं इसे प्यार कर रहा हूं! DSOrganize एक मिनी-ओएस की तरह है जो डीएस के साथ आने वाले सामानों का एक गुच्छा जोड़ता है, जैसे वास्तविक कैलेंडर ऐप!

    माइक एफ के # 3 को संबोधित करने के लिए, वास्तव में FTP server for DS है, जिसका उपयोग आप अपने डीएस को वायरलेस रूप से फ़ाइलों को स्थानांतरित करने के लिए कर सकते हैं। हालांकि मैंने इसे स्वयं नहीं किया है, क्योंकि मेरा नेटवर्क डब्ल्यूपीए का उपयोग करता है और डीएस केवल WEP का समर्थन करता है।

    1

    ईमानदारी से, मैं Nintendo DS और homebrew समुदाय जब मैं कॉलेज में एक एम्बेडेड सिस्टम्स पाठ्यक्रम में भाग लेने गई थी, और मैं ATmega32 आधारित किट के बीच समानता मैं वर्ग और हार्डवेयर के लिए प्रोग्रामिंग अहसास हो गया कि निबंधों के माध्यम से निंटेंडो डीएस के स्तर के विकास, और मैं झुका हुआ था।

    व्यक्तिगत रूप से, मैं एक मजबूत सी ++ पृष्ठभूमि से आया हूं, लेकिन मेरी जेब में कुछ के साथ घूमने में सक्षम होने के कारण मैंने प्रोग्राम किया है क्योंकि मुझे पहले टीआई -83 प्लस पर हाथ मिला है कैलकुलेटर ... अब मैं निंटेंडो डीएस के कारण उस लक्ष्य को महसूस करने में सक्षम हूं।

    वैसे भी, मुझे उम्मीद है कि पिछले कुछ महीनों में मेरे पास डीएस विकास में बहुत मज़ा आता है, और मैं आपके प्रयासों पर भाग्य चाहता हूं।

    1

    मैंने डीएस से अधिक जीबीए किया है। मैं पहले जीबीए की सिफारिश करता हूं और फिर डीएस तक बढ़ता हूं क्योंकि यह जटिलता को दोगुना करता है। Ezflash वी gba आकार 3 में 3 एक अच्छा कार्ड है। मेरे पास जीबीए के लिए बूटलोडर है जिसे मैंने एनडीएस का उपयोग करके कार्ड में लिखा था और एक प्रोग्राम जिसे मैंने डाउनलोड किया था, जिसे मैं ऑफ हाथ का नाम याद नहीं कर सकता। एक बार बूटलोडर एक सीरियल केबल काम कर रहा था और मुझे प्रोग्राम डीबग करने के साथ-साथ उन्हें राम में लोड करने देता है। वह कार्ड आपको कार्ड पर रैम में लोड करने की अनुमति देता है और प्रीफेच बफर और एक बड़ा कार्यक्रम का लाभ उठाकर वहां से चलाता है। एनडीएस के लिए मैंने कई कार्डों की कोशिश की है। साइक्लोड दिन-प्रतिदिन उपयोग के लिए अच्छा है, लेकिन विकास के लिए इतना ज्यादा नहीं है। मुझे लगता है कि मुझे एस्कर्ड 2 बेहतर, या आर 4 पसंद आया। उस कार्ड के बारे में सोचें जब आप कार्ड खींचते हैं और एसडी कार्ड खींचते हैं और इसे कंप्यूटर में लोड करते हैं। बहुत दर्दनाक आप एक एसडी कार्ड स्लॉट वाला कार्ड चाहते हैं जिसे आप स्लॉट 0 कार्ड को खींचने के बिना प्राप्त कर सकते हैं। चक्रवात यह नहीं है। एनडीएस के लिए हालांकि एक बहुत अच्छा कार्ड। मुझे नहीं लगता कि यह एनडीएसआई पर काम करता है जहां एस्कर्ड 2 करता है। दोनों nds और gba के लिए आप अपने पैरों को विजुअलबैडवेंस जैसे सिमुलेटर के साथ गीला कर सकते हैं, वे पूरी तरह से सटीक नहीं हैं और बहुत आम हैं कि सिम्युलेटर पर काम करने वाले प्रोग्राम वास्तविक हार्डवेयर पर काम नहीं करेंगे, वास्तविक हार्डवेयर पर काम करने वाले प्रोग्राम आमतौर पर सिम्युलेटर पर काम करेंगे हालांकि। विकास कार्ड को हटाने, पुन: प्रोग्रामिंग और प्रतिस्थापन बहुत दर्दनाक, बूटलोडर्स, वाईफ़ाई, या किसी भी अन्य तरीके से आप इससे बच सकते हैं।

    Arduinos मजेदार और रोचक हैं, लिलीपैड और सीरियल चीज़ के लिए यूएसबी एक है जो मैं अनुशंसा करता हूं, कोई सोल्डरिंग आवश्यक नहीं है और आप बड़े निवेश के लिए उपयोग करना शुरू कर सकते हैं। मुझे armmite समर्थक पसंद है, arduino पदचिह्न की तरह लेकिन हाथ आधारित (केवल एक ही एलपीसी मैं खरीदूँगा, अभी एक एलपीसी प्रशंसक नहीं)। और आपको धारावाहिक चीज़ खरीदने की ज़रूरत नहीं है, केवल एक सामान्य यूएसबी केबल और एक जम्पर (अच्छी तरह से एक पेपर क्लिप जब तक आप एक जम्पर पर सोल्डर नहीं)। मैंने अभी दो और अब तक मेरे कोड का आदेश दिया है जो कि शिप किए गए फ्लैश को मिटा देता है और जो कुछ भी मैं चाहता हूं उसे लोड करने की इजाजत देता है, उसे समझना होगा। मैं olimex sam7-h64 और h256 (हेडर बोर्ड at91sam7s256) से बहुत खुश हूं, क्योंकि एवीआर एटमेल अच्छे दस्तावेज़ों के साथ बहुत डेवलपर अनुकूल है। संयुक्त राज्य अमेरिका में उपरोक्त सभी को खोजने के लिए स्पार्कफुन एक अच्छी जगह है। सैम-बीए में अब लिनक्स संस्करण है यदि आप लिनक्स का उपयोग करते हैं, तो विंडोज़ संस्करण थोड़ी देर के लिए वहां रहा था, मिटिनो या आर्मीइट समर्थक के बराबर, डीएस या जीबीए से कहीं अधिक आसान, मिटाने और पुन: प्रोग्राम करने के लिए काफी आसान था। समान।

    पूर्व में लुमेनरी माइक्रो अब टीआई स्टालेरिस के कुछ अच्छे बोर्ड हैं। जीबीए/nds की तरह, लेकिन अन्य बोर्डों के विपरीत मैंने उल्लेख किया कि वहां प्रदर्शित करने के लिए डिस्प्ले और अन्य परिधीय हैं, यूएसबी आपको प्रोग्राम करने की ज़रूरत है। हालांकि अंगूठे मोड हालांकि। जीबीए प्रदर्शन के लिए अंगूठे मोड पसंद करता है लेकिन किसी भी तरह से जा सकता है। nds, मुझे याद नहीं है, बसों और उनके समय की चौड़ाई को समझने के लिए अब तक कभी नहीं मिला है। निंटेंडो को जानना और उनकी सस्ताता अंगूठी शायद बेहतर/तेज है। lm3s811 eval बोर्ड ईंट के लिए बहुत आसान था, 1 9 68 खराब नहीं है। मुझे यह पसंद नहीं है कि वे डेवलपर्स को स्रोत से और आरटीओ और विशिष्ट कंपाइलर सूट के अनुरूप पूर्व-निर्मित पुस्तकालयों में दूर कर रहे थे।

    +0

    क्षमा करें, armmite समर्थक गलत है बिजली के लिए छोटे ftdi बोर्ड और यूएसबी के लिए धारावाहिक की आवश्यकता है। यहां तक ​​कि अभी भी एक आकर्षक कीमत के साथ। –