नियम | हाल के पोस्ट | विषय आरएसएस | खोज | रजिस्टर | में प्रवेश करें

परियोजना के ICD2 में CY7C64613 की जगह


गोटो पृष्ठ पिछला 1, 2, 3, 4 ... 59, 60, 61 अगला
पृष्ठ पर चलें:

Post new topic Reply to topic EDAboard.com फोरम सूचकांक -> Microcontrollers -> परियोजना की ICD2 में CY7C64613 की जगह
अरबी संस्करण बल्गेरियन् संस्करण कातालान संस्करण चेक संस्करण डैनीश संस्करण जर्मन संस्करण ग्रीक संस्करण अंग्रेजी संस्करण स्पेनिश संस्करण फिनिश संस्करण फ्रेंच संस्करण हिन्दी संस्करण क्रोएशन् संस्करण इन्डोनेशियाई संस्करण इतालवी संस्करण हिब्रू संस्करण जापानी संस्करण कोरियाई संस्करण लीथुनियन संस्करण लाटवियन् संस्करण डच संस्करण नार्वे संस्करण पॉलिश संस्करण पुर्तगाली संस्करण रोमानियाई संस्करण रूसी संस्करण स्लोवाक संस्करण स्लोवेनियन् संस्करण सर्बियाई संस्करण स्विडिश संस्करण तागालोग संस्करण यूक्रेनी संस्करण वियेतनामी संस्करण चीनी संस्करण
लेखक संदेश
Kripton2035



में शामिल हो: 19 जुलाई 2001
डाक: 482
मदद: 15
स्थान: पृथ्वी


Post 03 अप्रैल 2006 8:28 रे: परियोजना के ICD2 में CY7C64613 की जगह

predrage लिखा है:
मेरे दोस्त मुझे ICD2_4550_BOOT_0180.BIN प्रोग्रामिंग में 4550 में सफल नहीं हुए. I'v
winpic 800 सॉफ्टवेयर के साथ बिन फ़ाइल खोलने की कोशिश की लेकिन वह असफल रहा. क्योंकि वहाँ बिन फ़ाइलों के लिए कोई सीधा समर्थन है मैं विकल्प "में सभी प्रकार की फ़ाइल फ़ाइलें" "के साथ इसे खोलने के लिए" tryed. ICprog कि समर्थन (बिन फाइलों को खोलने के लिए किया है), पर नहीं कर सकता कार्यक्रम 4550. वास्तव में कोई 4550 डिवाइस की सूची में है. मैं आगे क्या करना चाहिए? कोई सुझाव? मैं तो सिर्फ एक शुरुआत कर रहा हूँ लेकिन मैं मदद करने के लिए अच्छा है.
मेरा बुरा अंग्रेजी के बारे में क्षमा करें.


के. बिन rename. हेक्स और यह खुलेगा winpic!
कभी कभी फ़ाइलों का एक बहुत कुछ कर रहे हैं. वास्तविकता में बिन Intel हैं. हेक्स!
अगर यह लाइनें "के साथ शुरू होता है, खुला Notepad के साथ फाइल, ज़रूर हो:" फिर भी नाम परिवर्तित करने के लिए. हेक्स और winpic .. के साथ खुला अगर यह कचरा है, तो एक bin2hex इसे खोलने के लिए इस्तेमाल किया जाना चाहिए.
वापस शीर्ष पर
narccizzo



में शामिल हो: 20 जनवरी 2006
डाक: 173
मदद: 4
स्थान: PATZCUARO, MICHOACAN, मेक्सिको


Post 03 अप्रैल 2006 9:42 रे: परियोजना के ICD2 में CY7C64613 की जगह

ये दो फ़ाइलों बिन हेक्स में परिवर्तित कर रहे हैं, मैं इस के साथ बिन फ़ाइलों को खोला है
आईसी मैं हेक्स प्रारूप में फाइल को बचाने ठेला सॉफ्टवेयर तो, अगर आप "" इस boot.hex फ़ाइल का पता 0x0ee7 में और एक ही तार माइक्रोचिप Tecnology ICD2 USB device icd2 USB एक पठनीय स्ट्रिंग देख सकते इन फ़ाइलों को एक बार देख ले इस के लिए 0x0b8e में
os.hex फ़ाइल, मैं न अधिक विस्तार से इस फाइल को तलाशने के लिए, लेकिन कुछ मुझसे कहता एक disassembler है कि इन दो फ़ाइलों सभी की जरूरत है कि हम कर रहे हैं.

BR
Narccizzo


क्षमा करें, लेकिन आप में इस लगाव को देखने के लिए प्रवेश की आवश्यकता

वापस शीर्ष पर
Jay.slovak



में शामिल हो: 23 मार्च 2006
डाक: 11


Post 03 अप्रैल 2006 11:17 रे: परियोजना के ICD2 में CY7C64613 की जगह

narccizzo लिखा है:
ये दो फ़ाइलों बिन हेक्स में परिवर्तित कर रहे हैं, मैं इस के साथ बिन फ़ाइलों को खोला है
आईसी मैं हेक्स प्रारूप में फाइल को बचाने ठेला सॉफ्टवेयर तो, अगर आप "" इस boot.hex फ़ाइल का पता 0x0ee7 में और एक ही तार माइक्रोचिप Tecnology ICD2 USB device icd2 USB एक पठनीय स्ट्रिंग देख सकते इन फ़ाइलों को एक बार देख ले इस के लिए 0x0b8e में
os.hex फ़ाइल, मैं न अधिक विस्तार से इस फाइल को तलाशने के लिए, लेकिन कुछ मुझसे कहता एक disassembler है कि इन दो फ़ाइलों सभी की जरूरत है कि हम कर रहे हैं.

BR
Narccizzo


क्या आप सही फ़ाइलें परिवर्तित किया है यकीन है? अगर मैं MPLAB में उन्हें आयात, कोड, यह सब तो सिर्फ कार्यक्रम की स्मृति के माध्यम से जा रहा है करता है और NOPs कर मतलब नहीं है. कुछ उपयोगी दोनों बूट और ओएस HEXs में हो रहा है. Config फाइल भी बिट दोनों में अलग अलग हैं!
वापस शीर्ष पर
Zedman



में शामिल हो: 13 अक्टूबर 2003
डाक: 294
मदद: 2


Post 03 अप्रैल 2006 11:19 परियोजना के ICD2 में CY7C64613 को बदलने के लिए

अल्बर्ट,

इस कर्नेल ड्राइवर (नों) को उम्मीद है, सरू एक अलग vid पर कनेक्ट करेगा / pid जब जुड़ा है, और firt के भारक SYS डाउनलोड इसे एक और vid के रूप में फिर होगा यह परिवार कल्याण / इसे करने के लिए अन्य SYS वार्ता इतना pid के बाद. हम केवल एक दूसरे को लागू करने के लिए किया है.
Iam @ काम तो मैं यहाँ अपेक्षा कुछ भी नहीं कर सकते सोच 'हार्ड रोलिंग आंखें ...
वापस शीर्ष पर
silvio



में शामिल हो: 31 दिसम्बर 2001
डाक: 800
मदद: 90


Post 03 अप्रैल 2006 11:31 रे: परियोजना के ICD2 में CY7C64613 की जगह
टैग: mplab प्रोटोकॉल icd2 सरू disassembler disassembler सरू

हाय Zedman,

it's a must to understand what's under cover. के बारे में यह न केवल जो सरू चिप जानता अच्छा disassembler की बात है फ़ाइल हेक्स, पर 436 पृष्ठों की पढ़ने EZ-USB FX TechRefManual यह एक चाहिए क्या कवर के नीचे है समझने के लिए है CY.
और मैं तुम्हें इस बात के लिए समय है पर विश्वास नहीं है. फिर भी, तुम 8051 opcodes से परिचित नहीं हैं, तो कोड की पार्सिंग अगर कुछ समय लगेगा. (मैं तुम्हें PIC लोगों के साथ familar हो) पता
with appropiate values from CY7C64613 registers 0x7800-0x7FFF but you'll definitely end up turning the pages of TechRefManual looking for definitions. मैं, CY7C64613 रजिस्टरों 0x7800 से उचित मूल्य के साथ # LXXXX MOV DPTR के सभी घटना की जगह ले सकता है 0x7FFF लेकिन आप निश्चित रूप से TechRefManual के पन्नों परिभाषा की तलाश में बदल अंत करेंगे.
है कि यह किसी कैसे जो सेट हो या फिर लंबे समय के रूप में कार्यक्रम में स्पष्ट रूप में वे SFR अंतरिक्ष में मैप नहीं कर रहे हैं बिट के नाम आवंटित करने के लिए मुश्किल होगा इसके अलावा (जो में समाप्त होता है 0 या 8).
with MOV DPTR, #EP0CS but it's difficult to say SETB HSNAK due to the above reasons. यह MOV DPTR को बदलने के लिए, MOV DPTR, # EP0CS के साथ # L7FB4 आसान है लेकिन यह SETB HSNAK उपरोक्त कारणों से कहना मुश्किल है.

and EP0STAL L which are affected in the bellow code at 0x03E2. है जो 0x03E2 पर कोड bellow में HSNAK और EP0STAL एल प्रभावित हैं उदाहरण बिट लेते हैं.
कोड:

L03E2: LCALL L0FBE
JNC L03EE
MOV DPTR, # L7FB4
MOVX एक, DPTR @
ORL एक, # 01h; SETB EP0STALL किसी तरह का
MOVX @ DPTR, एक
L03EE: MOV DPTR, # L7FB4
MOVX एक, DPTR @
ORL एक, # 02h; SETB HSNAK किसी तरह का
MOVX @ DPTR, एक
गीला करना

L0FBE: SETB सी
गीला करना


(उदाहरण CP_1.asm) कोड की लाइनों 0x0100 ऑफसेट (एक उपनेमका 0x05FA से बुलाया से शुरू), पहला कोड लाइन immediatelly मेज अन्तरायक सदिश bellow उपयोग के लिए ले लो
राम 0x7FE9 में तुम, () तालिका 9-2 देखें bRequest क्षेत्र अर्थ के 8 बाइट की USB Setup पैकेट डेटा (पृष्ठ 215 table9 देख-1) 2. बाइट मिल सकती है.


कोड:

L0100: MOV DPTR, # L7FE9
MOVX एक, DPTR @
JNZ L0109
LJMP L029B, अगर bRequest = GetStatus कूद 0x029B करने के लिए
L0109: डीईसी एक
JNZ L010F
LJMP L0317, अगर bRequest = साफ़ फ़ीचर, कूदने के लिए 0x0317
L010F: # 0FEh एक जोड़ें
JNZ L0116
LJMP L038E, अगर bRequest = सेट फ़ीचर, कूदने के लिए 0x038E
L0116: # 0FBh एक जोड़ें
JNZ L011D
LJMP L0295, अगर bRequest विन्यास, कूदने के लिए 0x0295 जाओ =
L011D: डीईसी एक
JNZ L0123
LJMP L028F, अगर bRequest = सेट विन्यास, कूदने के लिए 0x028F
L0123: डीईसी एक
JNZ L0129
LJMP L0283, अगर bRequest अंतरफलक, कूदने के लिए 0x0283 जाओ =
L0129: डीईसी एक
JNZ L012F
LJMP L0289, अगर bRequest = सेट अंतरफलक, कूदने के लिए 0x0289
L012F: # 05h एक जोड़ें
JZ L0136
LJMP L03E2, अगर की bRequest = कोई भी ऊपर है, तो HSNAK बिट सेट
और EP0STALL EP0CS नियंत्रण एवं स्थिति रजिस्टर और का
; 0x05FD पर तो भिगोरना
;
L0136: LCALL L0F7A, अगर bRequest, LCALL 0x0F7A जहां Descriptor जाओ =
JC L013E; सा डिफ़ॉल्ट रूप से, तो 0x013E कूद करने के लिए सेट कर दिया जाता है कैरी
LJMP L03EE; 0x0F7A उठाने पर अगर 0 डिफ़ॉल्ट द्वारा, किया जाएगा सा HSNAK सेट
; EP0CS नियंत्रण एवं स्थिति रजिस्टर और भिगोरना में 0x05FD
;
L013E: MOV DPTR, # L7FEB, क्योंकि यहाँ bRequest एक Descriptor जाओ था
MOVX एक, DPTR @; इस प्रकार, यूएसबी Setup पैकेट के WValueH क्षेत्र की जाँच करें
जोड़ें एक, # 0FEh
JZ L015F, अगर wValueH 0x02 कूद करने के लिए 0x015F था
डीईसी एक
JZ L0190, अगर wValueH 0x03 कूद करने के लिए 0x0190 था
जोड़ें एक, # 02h
JZ L0150, अगर wValueH 0x01 कूद करने के लिए 0x0150 था
LJMP L0279, अगर wValueh या तो 0x01 या 0x02 या तो 0x03 का सेट अलग है
; बिट HSNAK और EP0STALL EP0CS रजिस्टर और भिगोरना में 0x05FD
;
L0150: MOV एक, 0Ch, क्योंकि यहाँ wValueH 0x01, इसलिए वैश्विक यूएसबी रजिस्टर SUDPTR भार था
MOV DPTR, # L7FD4; मूल्य 0x0C0D, के साथ तो 0x05FD पर EP0CS और भिगोरना का सा HSNAK सेट
MOVX @ DPTR, एक
MOV एक, 0Dh
MOV DPTR, # L7FD5
MOVX @ DPTR, एक
LJMP L03EE
L015F: MOV DPTR, # L7FEA, अब यूएसबी Setup पैकेट के wValueL क्षेत्र को देखो
;
;
;
;
और इतना ................... पर


port2: Microchip MPLAB ICD2 Fw client या ओफ़्सेट 0x0622 जो Kripton2035 port2: माइक्रोचिप MPLAB ICD2 परिवार कल्याण ग्राहक मैच में यह देखने की मेज


कोड:

तालिका 5-9. USB डिफ़ॉल्ट डिवाइस Descriptor

राम मान ऑफसेट फील्ड विवरण

इस Descriptor = 18 बाइट्स के 0622 0x12 0 bLength लम्बाई
0623 0x01 1 bDescriptorType Descriptor प्रकार = डिवाइस
0624 0x00 2 bcdUSB (एल) USB विनिर्देशन संस्करणः 1.10 (एल)
0625 0x01 3 bcdUSB (एच) USB विनिर्देशन संस्करणः 1.10 (एच)
0626 0xFF 4 bDeviceClass डिवाइस कक्षा (FF विक्रेता-विशिष्ट है)
0627 0xFF 5 bDeviceSubClass डिवाइस उप कक्षा (FF विक्रेता-विशिष्ट है)
0628 0xFF 6 bDeviceProtocol डिवाइस प्रोटोकॉल (FF विक्रेता-विशिष्ट है)
EP0 = 64 bytes के लिए 0629 0x40 7 bMaxPacketSize0 अधिकतम पैकेट का आकार
062A 0xD8 8 idVendor (एल) विक्रेता आईडी (एल) माइक्रोचिप टेक्नोलॉजी = 04D8H
062B 0x04 9 idVendor (एच) विक्रेता आईडी (एच)
062C 0x01 10 idProduct (एल) उत्पाद आईडी (एल) ICD2 = 8001H
062D 0x80 11 idProduct (एच) उत्पाद आईडी (एच)
062E 0x03 12 bcdDevice (एल) डिवाइस रिलीज संख्या (BCD, एल)
062F 0x00 13 bcdDevice (एच) डिवाइस रिलीज संख्या (BCD, एच)
0630 0x00 14 iManufacturer निर्माता सूचकांक स्ट्रिन्ग = कोई नहीं
0631 0x00 15 iProduct उत्पाद सूचकांक स्ट्रिन्ग = कोई नहीं
0632 0x00 16 iSerialNumber सीरियल नंबर सूचकांक स्ट्रिन्ग = कोई नहीं
0633 0x01 17 bNumConfigurations संख्या configurations के इस अंतरफलक = 1 में

टैबिल 5-10. USB डिफ़ॉल्ट विन्यास Descriptor

राम मान ऑफसेट फील्ड विवरण

इस Descriptor = 9 बाइट्स के 0634 0x09 0 bLength लम्बाई
0635 0x02 1 bDescriptorType Descriptor प्रकार = विन्यास
0636 0x74 2 (एल) कुल लम्बाई (एल) शामिल अंतरफलक और Endpoint Descriptors = 116 wTotalLength
0637 0x00 3 (एच) कुल लम्बाई (एच) wTotalLength
0638 0x01 4 bNumInterfaces संख्या इंटरफेस के इस विन्यास में
0639 0x01 5 bConfigurationValue विन्यास मान Set_Configuration अनुरोध द्वारा चयन करने के लिए इस विन्यास प्रयुक्त
063A 0x00 6 iConfiguration सूचकांक स्ट्रिंग के इस विन्यास = कोई नहीं बताते
063B 0x80 7 bmAttributes गुण - बस-Powered, नहीं Wakeup
063C 0x4B 8 MaxPower अधिकतम विद्युत - 150 MA

टैबिल 5-11. USB डिफ़ॉल्ट अंतरफलक 0, वैकल्पिक 0 Setting Descriptor

राम मान ऑफसेट फील्ड विवरण

इस अंतरफलक Descriptor के 063D 0x09 0 bLength लम्बाई
063E 0x04 1 bDescriptorType Descriptor प्रकार = अंतरफलक
इस अंतरफलक = 0 के 063F 0x00 2 bInterfaceNumber शून्य आधारित सूचकांक
0640 0x00 3 bAlternateSetting वैकल्पिक वैल्यू = 0 Setting
0641 0x0E 4 bNumEndpoints संख्या Endpoints के इस अंतरफलक में (नहीं) = 14 EPO रखती
0642 0xFF 5 bInterfaceClass अंतरफलक कक्षा = विक्रेता विशिष्ट
0643 0xFF 6 bInterfaceSubClass अंतरफलक उप वर्ग = विक्रेता विशिष्ट
0644 0xFF 7 bInterfaceProtocol अंतरफलक प्रोटोकॉल = विक्रेता विशिष्ट
इस अंतरफलक = कोई नहीं के लिए स्ट्रिंग Descriptor को 0645 0x00 8 iInterface सूचकांक

टैबिल 5-14. डिफ़ॉल्ट अंतरफलक 0, वैकल्पिक 1 सेटिंग, थोक Endpoint Descriptors

राम मान ऑफसेट फील्ड विवरण

इस Endpoint Descriptor के 0646 0x07 0 bLength लम्बाई
0647 0x05 1 bDescriptor प्रकार Descriptor प्रकार = Endpoint
0648 0x01 2 bEndpointAddress Endpoint निर्देशन (1 में) और पता = OUT1 है
0649 0x02 3 XFR प्रकार = बल्क bmAttributes
064A 0x40 4 wMaxPacketSize (एल) अधिकतम पैकेट का आकार = 64 बाइट्स
064B 0x00 5 wMaxPacketSize (एच) अधिकतम पैकेट का आकार - उच्च
064C 0x01 6 bInterval polling interval milliseconds में

इस Endpoint Descriptor के 064D 0x07 0 bLength लम्बाई
064E 0x05 1 bDescriptor प्रकार Descriptor प्रकार = Endpoint
064F 0x02 2 bEndpointAddress Endpoint निर्देशन (1 में) और पता = OUT2 है
0650 0x02 3 XFR प्रकार = बल्क bmAttributes
0651 0x40 4 wMaxPacketSize (एल) अधिकतम पैकेट का आकार = 64 बाइट्स
0652 0x00 5 wMaxPacketSize (एच) अधिकतम पैकेट का आकार - उच्च
0653 0x01 6 bInterval polling interval milliseconds में

इस Endpoint Descriptor के 0654 0x07 0 bLength लम्बाई
0655 0x05 1 bDescriptor प्रकार Descriptor प्रकार = Endpoint
0656 0x03 2 bEndpointAddress Endpoint निर्देशन (1 में) और पता = OUT3 है
0657 0x02 3 XFR प्रकार = बल्क bmAttributes
0658 0x40 4 wMaxPacketSize (एल) अधिकतम पैकेट का आकार = 64 बाइट्स
0659 0x00 5 wMaxPacketSize (एच) अधिकतम पैकेट का आकार - उच्च
065A 0x01 6 bInterval polling interval milliseconds में

इस Endpoint Descriptor के 065B 0x07 0 bLength लम्बाई
065C 0x05 1 bDescriptor प्रकार Descriptor प्रकार = Endpoint
065D 0x04 2 bEndpointAddress Endpoint निर्देशन (1 में) और पता = OUT4 है
065E 0x02 3 XFR प्रकार = बल्क bmAttributes
065F 0x40 4 wMaxPacketSize (एल) अधिकतम पैकेट का आकार = 64 बाइट्स
0660 0x00 5 wMaxPacketSize (एच) अधिकतम पैकेट का आकार - उच्च
0661 0x01 6 bInterval polling interval milliseconds में

इस Endpoint Descriptor के 0662 0x07 0 bLength लम्बाई
0663 0x05 1 bDescriptor प्रकार Descriptor प्रकार = Endpoint
0664 0x05 2 bEndpointAddress Endpoint निर्देशन (1 में) और पता = OUT5 है
0665 0x02 3 XFR प्रकार = बल्क bmAttributes
0666 0x40 4 wMaxPacketSize (एल) अधिकतम पैकेट का आकार = 64 बाइट्स
0667 0x00 5 wMaxPacketSize (एच) अधिकतम पैकेट का आकार - उच्च
0668 0x01 6 bInterval polling interval milliseconds में

इस Endpoint Descriptor के 0669 0x07 0 bLength लम्बाई
066A 0x05 1 bDescriptor प्रकार Descriptor प्रकार = Endpoint
066B 0x06 2 bEndpointAddress Endpoint निर्देशन (1 में) और पता = OUT6 है
066C 0x02 3 XFR प्रकार = बल्क bmAttributes
066D 0x40 4 wMaxPacketSize (एल) अधिकतम पैकेट का आकार = 64 बाइट्स
066E 0x00 5 wMaxPacketSize (एच) अधिकतम पैकेट का आकार - उच्च
066F 0x01 6 bInterval polling interval milliseconds में

इस Endpoint Descriptor के 0670 0x07 0 bLength लम्बाई
0671 0x05 1 bDescriptor प्रकार Descriptor प्रकार = Endpoint
0672 0x07 2 bEndpointAddress Endpoint निर्देशन (1 में) और पता = OUT7 है
0673 0x02 3 XFR प्रकार = बल्क bmAttributes
0674 0x40 4 wMaxPacketSize (एल) अधिकतम पैकेट का आकार = 64 बाइट्स
0675 0x00 5 wMaxPacketSize (एच) अधिकतम पैकेट का आकार - उच्च
0676 0x01 6 bInterval polling interval milliseconds में

राम मान ऑफसेट फील्ड विवरण

इस Endpoint Descriptor के 0677 0x07 0 bLength लम्बाई
0678 0x05 1 bDescriptor प्रकार Descriptor प्रकार = Endpoint
0679 0x81 2 bEndpointAddress Endpoint निर्देशन (1 में) और पता = IN1 है
067A 0x02 3 XFR प्रकार = बल्क bmAttributes
067B 0x40 4 wMaxPacketSize (एल) अधिकतम पैकेट का आकार = 64 बाइट्स
067C 0x00 5 wMaxPacketSize (एच) अधिकतम पैकेट का आकार - उच्च
067D 0x01 6 bInterval polling interval milliseconds में

इस Endpoint Descriptor के 067E 0x07 0 bLength लम्बाई
067F 0x05 1 bDescriptor प्रकार Descriptor प्रकार = Endpoint
0680 0x82 2 bEndpointAddress Endpoint निर्देशन (1 में) और पता = IN2 है
0681 0x02 3 XFR प्रकार = बल्क bmAttributes
0682 0x40 4 wMaxPacketSize (एल) अधिकतम पैकेट का आकार = 64 बाइट्स
0683 0x00 5 wMaxPacketSize (एच) अधिकतम पैकेट का आकार - उच्च
0684 0x01 6 bInterval polling interval milliseconds में

इस Endpoint Descriptor के 0685 0x07 0 bLength लम्बाई
0686 0x05 1 bDescriptor प्रकार Descriptor प्रकार = Endpoint
0687 0x83 2 bEndpointAddress Endpoint निर्देशन (1 में) और पता = IN3 है
0688 0x02 3 XFR प्रकार = बल्क bmAttributes
0689 0x40 4 wMaxPacketSize (एल) अधिकतम पैकेट का आकार = 64 बाइट्स
068A 0x00 5 wMaxPacketSize (एच) अधिकतम पैकेट का आकार - उच्च
068B 0x01 6 bInterval polling interval milliseconds में

इस Endpoint Descriptor के 068C 0x07 0 bLength लम्बाई
068D 0x05 1 bDescriptor प्रकार Descriptor प्रकार = Endpoint
068E 0x84 2 bEndpointAddress Endpoint निर्देशन (1 में) और पता = IN4 है
068F 0x02 3 XFR प्रकार = बल्क bmAttributes
0690 0x40 4 wMaxPacketSize (एल) अधिकतम पैकेट का आकार = 64 बाइट्स
0691 0x00 5 wMaxPacketSize (एच) अधिकतम पैकेट का आकार - उच्च
0692 0x01 6 bInterval polling interval milliseconds में

इस Endpoint Descriptor के 0693 0x07 0 bLength लम्बाई
0694 0x05 1 bDescriptor प्रकार Descriptor प्रकार = Endpoint
0695 0x85 2 bEndpointAddress Endpoint निर्देशन (1 में) और पता = IN5 है
0696 0x02 3 XFR प्रकार = बल्क bmAttributes
0697 0x40 4 wMaxPacketSize (एल) अधिकतम पैकेट का आकार = 64 बाइट्स
0698 0x00 5 wMaxPacketSize (एच) अधिकतम पैकेट का आकार - उच्च
0699 0x01 6 bInterval polling interval milliseconds में

इस Endpoint Descriptor के 069A 0x07 0 bLength लम्बाई
069B 0x05 1 bDescriptor प्रकार Descriptor प्रकार = Endpoint
069C 0x86 2 bEndpointAddress Endpoint निर्देशन (1 में) और पता = IN6 है
069D 0x02 3 XFR प्रकार = बल्क bmAttributes
069E 0x40 4 wMaxPacketSize (एल) अधिकतम पैकेट का आकार = 64 बाइट्स
069F 0x00 5 wMaxPacketSize (एच) अधिकतम पैकेट का आकार - उच्च
06A0 0x01 6 bInterval polling interval milliseconds में

इस Endpoint Descriptor के 06A1 0x07 0 bLength लम्बाई
06A2 0x05 1 bDescriptor प्रकार Descriptor प्रकार = Endpoint
06A3 0x87 2 bEndpointAddress Endpoint निर्देशन (1 में) और पता = IN7 है
06A4 0x02 3 XFR प्रकार = बल्क bmAttributes
06A5 0x40 4 wMaxPacketSize (एल) अधिकतम पैकेट का आकार = 64 बाइट्स
06A6 0x00 5 wMaxPacketSize (एच) अधिकतम पैकेट का आकार - उच्च
06A7 0x01 6 bInterval polling interval milliseconds में

जो फिर शून्य के यूनिकोड रूप से तार बाद समाप्त हो गया है
"माइक्रोचिप टेक्नोलॉजी ICD2 USB device"



लेकिन अगर तुम बिन 4550 से अटक जाते हैं, मैं CY asm फाइल में टिप्पणियाँ जोड़ कर मदद करने की कोशिश कर सकते हैं.
वापस शीर्ष पर
Zedman



में शामिल हो: 13 अक्टूबर 2003
डाक: 294
मदद: 2


Post 03 अप्रैल 2006 17:10 रे: परियोजना के ICD2 में CY7C64613 की जगह
टैग: icd2.dll

हाय Silvio,

इस infos के लिए धन्यवाद, बहुत समय पहले मैं एक बिन एक eprom चिप से आ रही फ़ाइल पार्स करने के लिए किया था. मैं भी नहीं नहीं प्रोसेसर के प्रकार और न ही सर्किट किया. लेकिन मैं यह कैसे एक स्मृति कार्ड के साथ सौदों खोजने के लिए किया था, और यह आंकड़ा है.
मैं यह चिप की 8051 किस्म के संभाला और disassemblers का एक बहुत कोशिश की, और एक 80C542 के साथ (मुझे कठबोली एक बिल्कुल) मैं पोर्ट संख्या से और यह पता चल गया था, जो यह याद को समाप्त कैसे व्यक्तिगत बंदरगाह पिन कोड के साथ संबंधित है.
लेकिन यह काम 2 सप्ताह के दिन और रात लिया तटस्थ मुझे पढ़ने के लिए बहुत / Debugging / सीखने.
यही कारण है कि मैं क्या तुम मेरी जगह उल्लेख किया है कि काम करने में सक्षम है एक कोडांतरक चाहता है ... बहुत खुश
एक बार फिर धन्यवाद Silvio.

-----------------------------

Iam शुरू, बिन फाइल के अनुसार आप सब पर विश्वास करने के लिए. मैं ICD2 DLL में एक शोध किया और कहा कि यह फोन पता चला कि विवरणक में GETUSBDESCRIPTOR और चेक संख्या और अगर यह नया संस्करण ICD2 मैचों की तुलना में यह एक send4550image कॉल करता है की तुलना में मैं अपनी 4550 की विवरणक में हस्ताक्षर किए गए!
और वहाँ भी बिन में descriptors रहे एक Kripton के समान फ़ाइलें अपलोड.
मुझे लगता है कि क्यों वे बूट छवि की आपूर्ति की है एक बात समझ में नहीं आता?
और क्यों ICD2.dll इस फाइल को डाउनलोड करने का प्रयास करता है? अगर मैं घर जाओ, मैं एक मैं बिन में है और पाया इस पर MPLAB कोशिश करेंगे मैच के लिए मेरे descriptors सेट करने की कोशिश करेंगे.

मुझे लगता है कि हम करीब हो रहे हैं लगता है! ठंडा

जोड़े गए 46 मिनट के बाद:

और वहाँ की बूट बिन के पहले btyes में एक जादू की बात: MCHP (माइक्रोचिप?) है
अगर यह बाद में है मैं इसे करने के लिए, (लोड होने के बाद) असली प्रवेश बिंदु गोटो या सेंट के साथ है, लेकिन ये ICD2.dll में नहीं की जगह खोजा है.

जोड़े गए 3 घंटे 34 मिनट के बाद:

ये देखो:

मुझे लगता है मैं पहले, सिर्फ नये यह उम्मीद और MPLAB के ओएस भेजने की कोशिश करने के लिए संस्करण संख्या निर्धारित क्या कहा था! (बेशक मेरे परिवार कल्याण एक बूट लोडर) नहीं है

कोड:

MPLAB ICD 2 तैयार
MPLAB ICD 2 करने के लिए कनेक्ट
ICD0289: पुन: करने के लिए कार्यक्रम ICD2 USB ओएस firmware में असमर्थ.
ICD0021: MPLAB ICD 2 के साथ कनेक्ट करने में असमर्थ
MPLAB ICD 2 तैयार


किसी को बूट लोडर का काम करना चाहिए, मैं रात में कुछ करने की कोशिश करेंगे.
वापस शीर्ष पर
narccizzo



में शामिल हो: 20 जनवरी 2006
डाक: 173
मदद: 4
स्थान: PATZCUARO, MICHOACAN, मेक्सिको


Post 03 अप्रैल 2006 18:43 परियोजना के ICD2 में CY7C64613 को बदलने के लिए

हाय JaySlovak
नहीं, Im यकीन है कि नहीं, मैं केवल बिन खोला और हेक्स प्रारूप में इसे सहेजें. उदास
वापस शीर्ष पर
Jay.slovak



में शामिल हो: 23 मार्च 2006
डाक: 11


Post 03 अप्रैल 2006 20:45 रे: परियोजना के ICD2 में CY7C64613 की जगह

narccizzo लिखा है:
हाय JaySlovak
नहीं, Im यकीन है कि नहीं, मैं केवल बिन खोला और हेक्स प्रारूप में इसे सहेजें. उदास


के रूप में स्ट्रिंग पठनीय है हाँ, यह सिर्फ कोड अजीब है कुछ भी नहीं है उदास
वापस शीर्ष पर
Zedman



में शामिल हो: 13 अक्टूबर 2003
डाक: 294
मदद: 2


Post 03 अप्रैल 2006 22:25 रे: परियोजना के ICD2 में CY7C64613 की जगह
टैग: icd2.dll

समाचार debugging को 2 घंटे के बाद, अच्छा

ICD2.dll BOTH बिन फ़ाइलों का उपयोग करता है. इस ओएस फ़ाइल नए उत्पाद सीरियल नंबर के साथ ICD2s ही डाउनलोड किया जा करना चाहते हैं.
की तुलना में यह bootloader संस्करण लगती की जाँच करने के लिए शुरू हो लेकिन जब तुम इस संस्करण OS.bin की फ़ाइलनाम में * _FFFF.bin आईडी को संशोधित करने के लिए:

कोड:

MPLAB ICD 2 करने के लिए कनेक्ट
ICDWarn0062: इस ICD2 की USB बूट फर्मवेयर सक्रिय है और ICD2 के साथ संचार प्रदान करते हैं. यह फर्मवेयर के बाहर का है, तारीख और अद्यतन किया जाना चाहिए. जबकि सक्रिय यह अद्यतन नहीं किया जा सकता है. लेकिन, आप अगर आप ऐसा करने के लिए चुन मौजूदा बूट फर्मवेयर के साथ काम करना जारी रख सकते हैं. क्या आप जारी रखना चाहते हैं?


अगर मैं यहाँ हाँ प्रेस की तुलना में यह ICD2 करने के लिए खुद को कनेक्ट करने की कोशिश करता है और freezes (मेरे पास सिर्फ 4550 स्थापित अभी तक).
अगर मैं नहीं प्रेस की तुलना में यह अद्यतन करने की कोशिश करता है, लेकिन हम यहाँ है, तो यह संदेश प्रकट होता है इस तरह से एक bootloader आवश्यकता लगता है:

कोड:

ICD0288: पुन: करने के लिए कार्यक्रम ICD2 USB बूट firmware में असमर्थ.
ICD0021: MPLAB ICD 2 के साथ कनेक्ट करने में असमर्थ
MPLAB ICD 2 तैयार


ठीक है दोस्तों, लगता है कि हम कैसे एक 4550 में एक काम bootloader प्राप्त करने के लिए कि बिन का उपयोग कर सकते हैं लगता है कि लगता है!

जोड़े गए 2 मिनट के बाद:

मैं यह भी सही VID के साथ नमूना bootloader संकलित / PID लेकिन मेरा 4550 से एक ही तरह के परिणाम मिला है.

जोड़े गए 16 मिनट के बाद:

यह, कि हम जो भार पहली bootloader जो भार के OS के bootloader की प्रारंभिक प्रारंभिक प्रारंभिक:) भाग नहीं मिल सकता ... हो सकता है

जोड़ा गया 5 मिनट के बाद:

यह तब होता है जब rkodaira का 0 स्तर bootloader के लिए अपने 4550 सन्निक्षेप चाहिए का समय है. वह संरक्षित नहीं है एक बड़ी आशा (साथ ...)

Rkodaira हमें तुम्हारी ज़रूरत है मुस्कान
वापस शीर्ष पर
albert22



में शामिल हो: 20 जुलाई 2004
डाक: 95
मदद: 3


Post 03 अप्रैल 2006 22:46 रे: परियोजना के ICD2 में CY7C64613 की जगह

मैं मैं मुझे BL010101 के साथ किया है कि एक प्रिंटआउट का विश्लेषण किया गया है. और कुछ चीज़ें मिल.
यह या तो PSP या USART से 5 आज्ञाओं आ स्वीकार करने के लिए लगता है.
0x55 Execute कोड 0x0010 में शुरू.
0x56 लोड हेक्स (यह एक और अधिक subcommands है) लगता है
0x5a 0x01 0x01 0x03 (संस्करणः के डेटा भेजता है कि बीएल????)
दो अन्य आज्ञाओं अभी त्रुटि और व्यस्त एल ई डी पर बारी और एक inffinite पाश में लटका हुआ है.

निम्नलिखित routines मैं "लोड हेक्स" कमांड क्या कहते से संबंधित हैं:

एक और ने बीएल निम्न स्ट्रिंग 0x5b भेजता दिनचर्या में, "0810C9", 0x5d
अन्य उत्तर निम्न स्ट्रिंग 0x5b में embeded भेजता है, "0A000", यू, 0x31, यू, 0x5d. (जहाँ यू 0x31, 0x34, 0x36 और 0x37 होने) लगता है.

मैं विश्लेषण के साथ जारी रखने के लिए है ज्यादा समय didn't. मैं न तो उस पोस्ट किया गया है यूएसबी निगरानी देखा क्योंकि Im एक साइबर पर. लेकिन मैं इस डेटा को USB संचार में पैक किया जाना चाहिए लगता है
वापस शीर्ष पर
Zedman



में शामिल हो: 13 अक्टूबर 2003
डाक: 294
मदद: 2


Post 03 अप्रैल 2006 23:30 परियोजना के ICD2 में CY7C64613 को बदलने के लिए

अल्बर्ट,

मैं USB बनाम धारावाहिक कॉम जाँच, यूएसबी एक आवरण गर्त धारावाहिक बात का उपयोग करता है.
यह EP1 नियंत्रण के लिए बंदरगाह का उपयोग करता है (और में) है और डेटा बंदरगाह के रूप में EP2 ही में (icd-> पीसी) लगता है.
वापस शीर्ष पर
albert22



में शामिल हो: 20 जुलाई 2004
डाक: 95
मदद: 3


Post 05 अप्रैल 2006 6:39 रे: परियोजना के ICD2 में CY7C64613 की जगह

यहाँ बीएल के साथ मेरी अग्रिम कर रहे हैं
ऐसी कोई subcommands थे. इस लोड हेक्स आदेश सिर्फ हेक्स रिकॉर्ड लेता है और इस कार्यक्रम स्मृति 2 बाइट्स के लिए एक समय पर डेटा लिखते हैं. पते की सीमा सहित विभिन्न त्रुटियों के लिए यह जांचता है. पी. इस बीएल कार्यक्रम में कदम से बचने के लिए. यह है कि बीएल को 877 पर allways निवासी है की पुष्टि करता है.
क्योंकि यह एक त्रुटि रिपोर्ट है [0A000 ", यू, 0x31, यू]. (इस 2. यू पहले यू 1) है संभावना नहीं है देखा जाना चाहिए. त्रुटियाँ शामिल हैं: बुरा स्वरूप, checksum, बुरा पता रेंज और EEPROM त्रुटि लिखना .
इस दिनचर्या 16 अक्षरों का एक 0x3c ('<') के साथ शुरू करने के लिए इंतजार कर रहा है और अंत एक 0x3e ('>'). के साथ यह 16 अक्षरों का शीर्षक ASCII में लिखा होना करने के लिए पता, लंबाई और checksum डेटा के लिए होते हैं.
हेडर है सही पी यदि. "के साथ बीएल जवाब [0810C9]"
एक 0x7b के बाद यह डेटा cames
यह प्रारूप एक Intel हेक्स प्रारूप से अलग हो रहा है.

Zedman.
मई आप इस तरह के RS232 में कुछ पहचान होनी
कल मैं अपने घर और सक्षम होना wil में लॉग की जाँच करने के लिए hdd स्थापित करने के लिए है और यदि मैं किसी भी मदद की जा सकती है देखते हैं.
वापस शीर्ष पर
Zedman



में शामिल हो: 13 अक्टूबर 2003
डाक: 294
मदद: 2


Post 05 अप्रैल 2006 12:17 रे: परियोजना के ICD2 में CY7C64613 की जगह
टैग: mplab प्रोटोकॉल icd2 icd2.dll icd2w2k.sys mplbcomm.dll

मैं इस बात से USB चिपक कर रहा हूँ. और मैं दुखी हूँ.

मैं वास्तव में आगे क्या करना नहीं जानते. मैं icd2.dll Debugging बहुत समय बिताया.

समस्या यह है: मैं यह भी एक बाइट वापस MPLAB करने के लिए नहीं भेज सकते हैं.

मुझे लगता है मैं अब तक क्या मिला, हालांकि कोई नहीं वास्तव में रुचि (अभी खत्म बात हथियाना चाहता हूँ) समझाता हूँ. (सिवाय: अल्बर्ट, Kripton, rkodaira, silvio और इस धागे में लोग)

इसलिए, ICD2 इस तरह के साथ MPLAB संचार:

[MPLAB -> ICD2.dll -> MPLBCOMM.dll -> icd2w2k.sys ->] --- [ICD2 उपकरण]

की तुलना में यह एक Cypress आधारित ICD2 है अगर यह 0x0003 की तुलना में यह 4550 पर आधारित एक है अगर यह 0x0010 है अगर आप, यह ICD2 और चेक उत्पाद संस्करण के लिए शब्द से डिवाइस विवरणक पूछेंगे यूएसबी प्रकार कनेक्शन चुनें. की तुलना में यह मुझे पता है कि ICD2 में ओएस उन्नत बनाया जाना चाहिए जो पहले नियुक्त किया गया है कहते हैं कि अगर 0x0010 मिला. ऐसा लगता है कि अगर संस्करण (0100) के OS.bin के फ़ाइलनाम की तुलना में यह कदम है और जाँच के bootloader संस्करण skips FFFF को संशोधित किया गया है दिलचस्प है. यहाँ मैं यह भी BL.bin फाइल के संस्करण की जाँच करने के लिए प्रयास करने ICD2.dll पैच करने के लिए किया था, यह भी है कि यह FFFF इसे अपग्रेड करने की कोशिश अभ्यस्त करने के लिए सेट है, इसलिए मैं इसे (कम करने के लिए FFFF hardcoded सेट समझौता) तो अब hardcoded है मैं भी करने से पहले क्या mentoined: इस बीएल संस्करण भी पुरानी है, लेकिन जब यह सक्रिय है वह उन्नत नहीं हो सकता कहते हैं.

ठीक है. मैं नमूना bootloader से, सही descriptors के साथ एक छोटा सा धक्का दिया और व्यवस्था और प्रोटोकॉल decrypt करने के लिए नए 4550 ICD2 में बीएल का अनुकरण करने के लिए MPLAB के साथ बातचीत करने की कोशिश कर रहा.
ICD2 कि Kripton, (सरू संस्करण) 7 OUT / में Endpoints सेट, का उपयोग करता है, लेकिन करने के लिए यह केवल EP1 के लिए इस्तेमाल करता है लॉग अनुसार में / बाहर और EP2 में करने के लिए. (OUT पीसी का मतलब-> डिवाइस)
यह EP1 बाहर के माध्यम से, और पीठ में EP1 पर, USB विशिष्ट आज्ञाओं और डेटा भेजता है और बाइट्स से readed भेजता लगता है कि ICD2 के 877 अलग endpoint EP2 अंदर के माध्यम से

जब MPLAB में परिवार नियोजन को उन्नत करने के लिए वें OS.bin भेजने की कोशिश करता है यह कर्नेल चालक को एक getUSBdescriptor कॉल मुद्दों, OS और लंबे DeviceIOControl कमांड का प्रयोग कर कमान एक 0x12 बाइट्स बाहर भेजता है. मैं debugged, यह सफलतापूर्वक 4550 से आता है.
MPLAB मुद्दों को एक GetStatus फोन Than, और यह फोन मानकों से उम्मीद है कि यह लगता है डेटा की 0x08 बाइट्स वापस.
मैं 8 बाइट के साथ, मेरे बफर की स्थापना की और Sie के स्वामित्व निर्धारित किया है. लेकिन यह है कि 8 बाइट वापस (यह USBMon में प्रकट नहीं होता है) भेजता है ही नहीं. बस इंतजार कर रहा है.
बहुत सी बातें की जा सकती है.
शायद मैं सेंट 4550 की स्थापना के साथ गलत है, लेकिन मैं एक और progs के साथ की कोशिश की और यह काम करता है, वापस बाइट्स भेज सकते हैं.
मैं मेजबान और में आदेश को डिवाइस यह क्या चाहता है में भेज देना चाहिए भेजने पता है.
लेकिन जब मैं MBLBCOMM debugged, मुझे लगता है कि इस DeviceIOControl कमांड असफल देखा!
मुझे लगता है कि शायद कुछ खुफिया की. SYS फ़ाइल में बनाया गया था और यह गलत है क्योंकि यह सामग्री के पैकेट बूँदें tought, लेकिन मैं इसे एक उच्च स्तरीय कार्य होना चाहिए.
जब मैं घर मैं Getlasterror के मूल्य देखता हूँ मिलता है.


अगर वहाँ एक पैकेट में, या बाहर भेजा मैं कैसे जारी कर सकती थी कोई भी मैं कैसे देख सकता है किसी भी विचार किया है?
वापस शीर्ष पर
Kripton2035



में शामिल हो: 19 जुलाई 2001
डाक: 482
मदद: 15
स्थान: पृथ्वी


Post 05 अप्रैल 2006 16:59 परियोजना के ICD2 में CY7C64613 को बदलने के लिए

तुम क्या हो, के माध्यम से आ रहा है और कार्यक्रम को 877 के हम हैं bootloader के साथ देखने के लिए 4550 के एक 877 के लिए PSP पोर्ट कनेक्ट मई चाहिए? आप EP2 से आया और इतनी 877 प्रतीक्षा कर रहे हैं कि बाइट हो सकता है?

क्या आप मुझे एक सटीक स्थिति का एक और लॉग फाइल भेजने के लिए चाहते हो? यह तुम्हारे साथ एक rokaida प्रवेश की आवश्यकता जरूर है जिस तरह से उसकी 4550 icd2 ..

पुनश्च: मुझे लगता है कि परियोजना में कोई दिलचस्पी नहीं है .. मुस्कान मैं सिर्फ उत्सुक हूँ! मैं पहले से ही एक USB icd2 है! मुस्कान
वापस शीर्ष पर
Zedman



में शामिल हो: 13 अक्टूबर 2003
डाक: 294
मदद: 2


Post 05 अप्रैल 2006 20:08 परियोजना के ICD2 में CY7C64613 को बदलने के लिए

धन्यवाद Kripton,

मैं जब मैं और डंप की जरूरत है आपको सूचित करेंगे मुस्कान , यह सिर्फ बाइट के माध्यम से 877 के लिए और वापस पारित की तुलना में थोड़ा अधिक जटिल है, यह उस पर एक प्रोटोकॉल आवरण है.
आप क्या ने कहा कि बहुत है, लेकिन सहायक था rkodeira अभ्यस्त नए ICD2 अपने ब्रांड sacrify ... मुस्कान अगर वह हैं, तो यह की सन्निक्षेप के साथ की तुलना में ओएस अद्यतन प्रक्रिया की अच्छी तरह से प्रोटोकॉल को परिभाषित होता ...
वापस शीर्ष पर
Kripton2035



में शामिल हो: 19 जुलाई 2001
डाक: 482
मदद: 15
स्थान: पृथ्वी


Post 05 अप्रैल 2006 22:09 परियोजना के ICD2 में CY7C64613 को बदलने के लिए

अच्छी तरह से मुझे लगता है कि वह अपने icd2 sacrify करने की जरूरत है लगता है न!! usbmon के साथ ही कुछ म्लानता जैसे मैंने किया था .. उम्मीद है कि मेरी icd2 अभी भी काम कर रहा है!
वापस शीर्ष पर
albert22



में शामिल हो: 20 जुलाई 2004
डाक: 95
मदद: 3


Post 05 अप्रैल 2006 22:16 रे: परियोजना के ICD2 में CY7C64613 की जगह
टैग: icd2 लोड हेक्स आदेश

मैं क्योंकि मैं सिर्फ घर पर w98 है HHD इस लॉग देखने के लिए मॉनिटर स्थापित नहीं कर सकता.
तुम एक. TXT को ओएस डाउनलोड की एक सन्निक्षेप निर्यात कर सकते हैं, मेरे लिए?
-------
कैसे CY ने 877 RESETS?
एक के आधार पर करने के लिए Q1 जिसका कलेक्टर MCLR है (पिन 43) संकेत है. लेकिन यह एक संबंधक को जाता है ठेला बुलाया. मैं अब कि इस संकेत को 877 से भी जाना चाहिए एहसास.
हम जो USB कमांड जानने की जरूरत है कि इस 877 RESETS. मई यह एक नियंत्रण endpoints में किया जा रहा है?
मैं क्या यह ठेला संबंधक का समारोह है नहीं जानता. लेकिन अतिरिक्त endpoints इसे से संबंधित हो सकता है.
----------
एक ओएस के ICD2 करने के लिए लोड की जा रही है: ICD01020405.hex मैं इसे disassemby करने की कोशिश की है लेकिन मैं रजिस्टरों के नाम के साथ हेक्स पते के स्थान के लिए disassembler प्राप्त नहीं कर सकते. यह पता करने के लिए और अधिक समय लगेगा कि यह कैसे काम करता है.
एक दिलचस्प तथ्य यह है कि कोड 0x0010 में शुरू हो रहा है. यह है कि बीएल के आदेश पर अमल करने के साथ इस पते फोन याद रखें.

इस बीएल संस्करण mplab द्वारा रिपोर्ट 01.01.01.00 यह काफी अच्छी तरह से जो 01,01,01,03 जवाब में बीएल कमांड जाता है
---------
कोई DPot (MCP41xxxx) ब्राजील ICD में है. वे कैसे Vpp सेट करते हैं?
इस क्लोनों से अधिकांश एक तय Vpp है. इसका मतलब यह है कि ब्राजील के ICD सिर्फ एक कम लागत क्लोन और न नए ICD2 है क्या? मुझे लगता है कि एक माइक्रोचिप तय vpp के लिए गया था लगता है न. अगर वहाँ है, दूसरे को DPot की तुलना में यह ICD ओएस के फर्मवेयर बदलाव की आवश्यकता होगी ने vpp को नियंत्रित करने का एक और तरीका है. बूढ़े ओएस नए एक में काम नहीं होगा. यही कारण है कि DLL के संस्करण की जाँच कर रहा है हो सकता है.
वापस शीर्ष पर
Zedman



में शामिल हो: 13 अक्टूबर 2003
डाक: 294
मदद: 2


Post 05 अप्रैल 2006 22:32 परियोजना के ICD2 में CY7C64613 को बदलने के लिए
टैग: mplab प्रोटोकॉल icd2 icd2w2k.sys icd2w2k 4550 bootloader लिखें icd2w2k.sys डाउनलोड डाउनलोड icd2w2k डाउनलोड

मुझे लगता है कि हम कुछ भी अभी तक सर्किट या प्रोटोकॉल या 877 और 4550 के बीच संबंध के बारे में के साथ सौदा चाहिए नहीं लगता है. मुझे लगता है सभी हम 4550 bins MPLAB से आपूर्ति में लिखा है की जरूरत है.
हम एक को icd2w2k.sys के साथ संगत bootloader के OS.bin डाउनलोड, और प्राप्त करने के बाद कि हम कैसे 877 जुड़ा हुआ है हमारे सिर scracth कर सकते लिखना चाहिए.

जोड़ा गया 5 मिनट के बाद:

ICD2br में जो Vpp उत्पन्न चिप का एक और प्रकार का उपयोग करता है. Rkodaira, इससे पहले इस पद की जाँच mentoined.
वापस शीर्ष पर
silvio



में शामिल हो: 31 दिसम्बर 2001
डाक: 800
मदद: 90


Post 06 अप्रैल 2006 2:36 रे: परियोजना के ICD2 में CY7C64613 की जगह
टैग: icd2w2k.sys 4550 bootloader लिखें icd2w2k.sys डाउनलोड डाउनलोड icd2w2k डाउनलोड icd2w2k

Zedman लिखा है:

हम एक को icd2w2k.sys के साथ संगत bootloader के OS.bin पाने के लिए लिखना चाहिए डाउनलोड.


हाँ, यह है जिसके लिए मुझे लगता है कि dissasembling CY इसे के रूप में हम ओएस और बीएल बिन माइक्रोचिप द्वारा प्रदान की गई फ़ाइल है जब तक बेकार है परिवार कल्याण ने कहा कि मुख्य कारण है. To start coding from scratch for 4550 and simulate the CY fw would be time consuming and worthless.
That's I appreciate zedman's efforts.

However sometimes I can't help myself to ask this stupid question : If the BL cannot be upgraded while it's active, what was Microchip's ICD2 designers approach for upgrade ? In parallel programmer before soldering 4550 ? Or through ICSP with a clean bin image downloaded after boot block erased ?
If rkodaira will find that CPB and EBTRB bits are cleared Crying or Very sad , then how can OS.bin be loaded in 4550 ? I start asking like you : why did they supplied the boot image ?
Or, as Jay.slovak said "the string is readable, just the code does nothing" because it's encrypted and makes sense only for original boot code.
So, the only solution is to simulate the 4550's bootloader and get the mirror bin image of OS ?
Back to top
albert22



Joined: 20 Jul 2004
Posts: 95
Helped: 3


Post 06 Apr 2006 4:36 Re: Project to replace CY7C64613 in the ICD2
tags: mplab protocol icd2

उद्धरण:
In ICD2br uses another kind of chip which generates the Vpp. Rkodaira mentoined, check the posts before.

I didnt mean the MIC2175, which is a switching regulator as the MC34063. I was aiming at the DPOT and specifically to its I2C interfase because it requires the support of the firmware in the 877 to set the correct Vpp voltage. As I said before if the new ICD2 relies in other component to change the Vdd, all the firmware needs to change.

May be Rkodaira could check ithe circuit associated with pin 3 (FB) of the MIC2172 to see if vpp can be controlled or it is fixed.

Let me make my statement a little clear. If the Brazilian ICD has no control of Vpp it is highly probable that it is just a clone. In that case there is no warranty that the real new ICD2 is based on a 4550 and a 877. It could be just a 4450 alone for example (why not) in that case the following statement would not be true.
उद्धरण:
I think ALL we need is written in the 4550 bins supplied with MPLAB.

As we dont know for sure the arquitecture of the new ICD we need to emulate the CY. However chances are that the 4550BINs will still be usefull to solve the USB protocol. I tried to disassemble it today but found nothing coherent yet.

To the question:
उद्धरण:
why did they supplied the boot image ?

They supplied the BL010101.hex which needs to be programmed at the factory for the ICD to work.[/quote]
Back to top
Zedman



Joined: 13 Oct 2003
Posts: 294
Helped: 2


Post 06 Apr 2006 11:48 Re: Project to replace CY7C64613 in the ICD2
tags: icd2 load hex command

Silvio,

the BL cannot be upgraded thing was a little trick. Actually MPLAB is set to check the BL's version against 0xFFFF, and if 0xFFFF (it's only a word) is lower than it will try to upgrade the bootloader. So it wont ever get here, because larger number than 0xFFFF cannot be set on a word. So I patched it to skip this test and try to do it, but anyway it's a BUILT IN function in MPLAB! It CAN update the boot image too. I just patched the version check out.
But think: it's not accidentaly set to 0xFFFF, they may not want to use this function yet.
According to the OS.bin file, if the product version is 0x0010 than it's downloaded all the time. Maybe 0x0010 is the BL's version only, and set to lower when OS will run in it! The OS.bin's version is also checked against 0xFFFF. If it's equals to 0xFFFF it's starts the checking for the BOOT.bin file as I mentoined above.

I'll check how it handles the active check when it complains about "it cannot be upgraded while active".

Another strange thing is if the original bootloader handles the decryption of the OS.bin image, than it will be a nice thing to clone... Anyway there is no processing on the .bin files in the software as I saw.

the DeviceIOControl command returns 0x57: The parameter is incorrect. (ERROR_INVALID_PARAMETER)

If we get the OS.bin downloaded than we can read it back with another icd2 and see how it works.

Albert,

they wont change the 877 firmware. They have a lot of hexs supplied with MPLAB should work with both versions. They may do minor changes, but thats all.
Sorry I misunderstood that DPOT thing.
The question "Why they supplied the boot image?" I asked was for the 4550_boot.bin file.
Back to top
rkodaira



Joined: 08 Jun 2004
Posts: 332
Helped: 54
Location: Sao Paulo - Brasil


Post 06 Apr 2006 14:19 Re: Project to replace CY7C64613 in the ICD2

Hi guys !

Bad news. I could not install the USB monitor in my PC with Windows98SE, because it doesnīt accept to be installed. I think it (if installed) wouldnīt make any damage to my ICD2, but i could not test it.

About the Vpp control, I think that there is only the high voltage generator for Vpp and there is another way to control this voltage. I donīt know if the DG411 has this role, and there is a power mosfet also in the circuit.

I donīt think my clone is the new ICD2 from Microchip. I suppose the local manufacturer only made a clone using more available parts and making some changes in the firmware to adequate the new parts. Sorry I cannot make any attempt to read the 18F4550 contents.

Added after 15 minutes:

One more thing:

I tried to build the PICKIT2 programmer (onlu the basic part: the PIC, crystal and some connections) some weeks ago. It has the schematic and "all" the software available for download in the Microchip pages. I bought some 18F2550 and programmed with the firmware provided. I installed the programmer software and connected the hardware to the USB port. The PC recognized it once but the software did not. I think that there is something missing in the package, that blocks the programmer to communicate with the software. Could be the same case be happening with the hex files provided for the ICD2 ? Or in other words: Microchip doesīt provide the complete code for the ICD2.
Back to top
albert22



Joined: 20 Jul 2004
Posts: 95
Helped: 3


Post 06 Apr 2006 18:26 Re: Project to replace CY7C64613 in the ICD2

Please
Can somebody export to .txt the USB log files captured by HDD monitor?
I cannot install this soft at my home. Otherwise Ill have to wait until next week to read them on my PC at work. I am now studying the protocol between the CY and the 877 OS.
If they are too big. A connect log, and a program log would be nice.
Thanks
Back to top
Kripton2035



Joined: 19 Jul 2001
Posts: 482
Helped: 15
Location: Earth


Post 06 Apr 2006 19:31 Re: Project to replace CY7C64613 in the ICD2

rkodaira wrote:
Hi guys !
Bad news. I could not install the USB monitor in my PC with Windows98SE, because it doesnīt accept to be installed. I think it (if installed) wouldnīt make any damage to my ICD2, but i could not test it.


may be you can try this one : they say it works under w98...
http://www.perisoft.net/bushound/

zedman needs a log of a real 4550... my cypress clone doesnt give all he needs...
Back to top
Zedman



Joined: 13 Oct 2003
Posts: 294
Helped: 2


Post 06 Apr 2006 20:14 Project to replace CY7C64613 in the ICD2

It can be exported from USBMon to HTML format, but I have only serial ICD2.
Back to top
Brem



Joined: 06 Apr 2006
Posts: 36


Post 06 Apr 2006 20:22 Re: Project to replace CY7C64613 in the ICD2
tags: mplab protocol icd2 icd2 load hex command

Hi group,

Zedman drew my attention to this thread. I find it very interesting.

Last winter my hobby project was to build an ICD clone on a 2455/2550. I used the CDC firmware for RS232 emulation to connect to MPLAB. I disassambled the 877 firmware and made it more readable with a VB program. As far as I can tell the protocol CY<->877 and the protocol RS232<->877 are the same. There are no USB specific things in the 877 firmware.

I'll try to explain what I learned of the protocol.

MPLAB starts a connection by sending a 'Z'. ICD should reply with some kind of version nr in binary: 0x01,0x01,0x03.

Now MPLAB sends a
'V' if it wants to connect to the bootloader, ICD should reply with a 'v'
'U' if it wants to connect to the OS, ICD should reply 'u'

Next is the version of the ICD hardware, this has to be compatible with the old ICD1, so its different from all other commands: MPLAB send '$7F00\r', ICD replies '02' for ICD2

From here on all commands are send in packets in the form: '<', packet len, command, [params], checksum, '>'
all items are sent in hex, packet length is including the <>. An example: '<0801C9>', len=8, cmd=1 (GETFIRMWAREVERSION), no params, checksum=0xC9

Reply's to commands are in the same form, except packed in []. Reply to the above example would be: '[0E0102630102]', len=14, cmd=1 (GETFIRMWAREVERSION), param 2.99.1, checksum=0x02.

Large chunks of data are sent in {} packets : {data [,data..], checksum}. For example the write program command:
MPLAB: <184300005DC000000120FF>, len 24, cmd=0x43 (WRITEPROGRAM), program size= 0x05DC, start address=0x0120, checksum = 0xFF
ICD: [0843CF], len 8, cmd 0x43, checksum 0xCF
MPLAB: {FF3FFF3F.....3C} , data data data.., checksum-0x3C
ICD: [0843CF], ack cmd 0x43 again



I used the information from this thread to connect my existing program with the real ICD USB Driver. I got so far that I receive the GETFIRMWAREVERSION command, but my response seems not to be understood. It sends the same command again and then hangs (?) .
Back to top
albert22



Joined: 20 Jul 2004
Posts: 95
Helped: 3


Post 06 Apr 2006 23:17 Re: Project to replace CY7C64613 in the ICD2

उद्धरण:
It can be exported from USBMon to HTML format, but I have only serial ICD2.

Zedman may be you can open the log files that had been posted here and export them to html. No need to have the USB ICD2.

Brem,
Great. I was just at the routines that handle connection with the ICD once the OS is loaded. Thanks.
Back to top
Zedman



Joined: 13 Oct 2003
Posts: 294
Helped: 2


Post 06 Apr 2006 23:29 Re: Project to replace CY7C64613 in the ICD2
tags: mplbcomm.dll

Hey Brem!

nice to see you here!
Thanks for the infos on the protocol.

उद्धरण:

I used the information from this thread to connect my existing program with the real ICD USB Driver. I got so far that I receive the GETFIRMWAREVERSION command, but my response seems not to be understood. It sends the same command again and then hangs (?) .



would you please explain this a bit more? What's that mean you response is not understood? You got an usb packet starting with 0x01, replied it succesfully and just the content was wrong?

Please explain this, because as you can see from the thread Iam stuck with the replying. Crying or Very sad

-------------------

Iam now trying an alternate way to **** with the replying thing, I wrote a small program in Delphi to test if the reply works, getting the same results yet but it's faster than switching the programmer in mplab while using it too.

here is the proc (values got from disassembled/debugged MPLBCOMM.dll):
Code:

procedure TForm1.Button1Click(Sender: TObject);
var hnd: cardinal;
InBuffer: array[0..3] of byte;
OutBuffer: array[0..17] of byte;
bytesReturned: cardinal;
a: integer;
begin
hnd:=CreateFile('\\.\i3kmc-0', $C0000000, 2, 0, 3, 0, 0);

if hnd <> INVALID_HANDLE_VALUE then
begin
// get usb descriptor
for a:=0 to 3 do InBuffer[a]:=0; for a:=0 to 17 do OutBuffer[a]:=0; bytesReturned:=0;
if (DeviceIoControl(hnd, $0A4122404, @InBuffer, 4, @OutBuffer, $12, bytesReturned, nil)) then
begin
Memo1.Lines.Add('1 OK');
end;

// write command
for a:=0 to 3 do InBuffer[a]:=0; for a:=0 to 17 do OutBuffer[a]:=0; bytesReturned:=0;
OutBuffer[0]:=3;
if (DeviceIoControl(hnd, $0A4122451, @InBuffer, 4, @OutBuffer, $12, bytesReturned, nil)) then
begin
Memo1.Lines.Add('2 OK');
end;

// get status
for a:=0 to 3 do InBuffer[a]:=0; for a:=0 to 17 do OutBuffer[a]:=0; bytesReturned:=0;
InBuffer[0]:=7;
if (DeviceIoControl(hnd, $0A412244E, @InBuffer, 4, @OutBuffer, 0, bytesReturned, nil)) then
begin
Memo1.Lines.Add('3 OK');
end;
Memo1.Lines.Add('- done.');
end;
end;



the 3rd DeviceIOControl returns failed.

I can't even remeber how my wife look like... Neutral
Back to top
Brem



Joined: 06 Apr 2006
Posts: 36


Post 07 Apr 2006 0:31 Re: Project to replace CY7C64613 in the ICD2

Hi Zedman,

Besides some recognizable data like the 'Z', the 'U' and <0801C9>, I receive packets I don't understand. They are all 18 bytes long, 1st char is 0x00,0x01 or 0x02, 2nd char seems to be some kind of seq.nr, 3rd byte a length.

First packet received is:
HOST->DEV: 02 C1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
I reply with 8 x 0
DEV->HOST: 00 00 00 00 00 00 00 00 00
Second packet received is:
HOST->DEV: 01 C2 01 00 00 00 00 00 00 00 C9 00 00 00 00 00 00 00
Here the first byte 0x01 seems to mean "data incoming", 3rd bytes undicates length. I dont send reply on this packet.
Next rcvd is a singe 'Z', I reply with the hardware version
HOST->DEV: 5A
DEV->HOST: 01 01 03
Next again a packet starting with 0x02, same reply
HOST->DEV: 02 C1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
DEV->HOST: 00 00 00 00 00 00 00 00 00
then a "data incoming" packet folowed by a 'U', connect to OS
HOST-DEV: 01 C2 01 00 00 00 00 00 00 00 C9 00 00 00 00 00 00 00
HOST-DEV: 55
Now MPLAB seems to want 8 bytes so I send a 'u' with 7 zeros
DEV->HOST: 75 00 00 00 00 00 00 00

Now comes the tricky part. A packet starting with 0x02 means MPLAB wants data on EP2.
HOST-DEV: 02 C3 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
DEV-HOST (on EP2!!): 75
DEV-HOST (on EP1): 00 00 00 00 00 00 00 00

And here I get stuck at the moment. MPLAB sends a <0801C9> but my response is ignored. I think from here on the ICD should send all data over EP2.
Back to top
Zedman



Joined: 13 Oct 2003
Posts: 294
Helped: 2


Post 07 Apr 2006 10:51 Project to replace CY7C64613 in the ICD2

Brem,

Iam a lamer. PLEASE TELL ME how do you reply?
How the hell does it work for you?
What am I missing?
If I set up the shared ram with 0s set the Cnt to 8 and set UOWN bit to SIE, MPLAB wont send me ANY more data, and UOWN never get cleared!!
But from this I see u managed it to work!!!

HELP ME PLEASE!

Code:

HOST->DEV: 02 C1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
I reply with 8 x 0
DEV->HOST: 00 00 00 00 00 00 00 00 00
Back to top
Post new topic Reply to topic EDAboard.com Forum Index -> Microcontrollers -> Project to replace CY7C64613 in the ICD2
Page 3 of 61 All times are GMT 2 Hours
Goto page Previous 1 , 2 , 3 , 4 ... 59 , 60 , 61 Next
Jump to page:


Abuse || Administrator || Moderators || Support us || sitemap
topic RSS