| Автор | Сообщение |
|---|
Kripton2035
Зарегистрирован: 19 июля 2001 Сообщений: 482 Помогали: 15 Местоположение: Земля
| 03 апреля 2006 8:28 Re: Project заменить CY7C64613 в ICD2 | | |
|
| | predrage писал: | Мои друзья меня не добиться успеха в программировании ICD2_4550_BOOT_0180.BIN в 4550. I'v пытался открыть файл с бен winpic 800 программу, но она провалилась. Я tryed, чтобы открыть его с опцией "все файлы" в разделе "Типы файлов", потому что не существует прямой поддержки бин файлов. ICprog, которые имеют поддержку (открыть бин-файлов), но не может программа 4550. На самом деле нет 4550 в списке устройств. Что я должен делать дальше? Любые предложения? Я только начинающий, но у меня добрая воля помочь. К сожалению о моей плохой английский. |
переименовать. BIN в. HEX и winpic откроет его! Иногда много файлов. BIN в действительности являются Intel. шестнадцатиричное! чтобы быть уверенными, откройте файл с записную книжку, если он содержит строки, начинающиеся с ":", а затем переименовали в. шестнадцатиричное, и открыть его с winpic .. если это мусор, а затем bin2hex должно быть использовано, чтобы открыть его. |
|
| Вернуться к началу | |
 |
narccizzo
Зарегистрирован: 20 января 2006 Сообщений: 173 Помогали: 4 Место проведения: Пацкуаро, Мичоакан, Мексика
| 03 апреля 2006 9:42 Re: Project заменить CY7C64613 в ICD2 | | |
|
| Эти два файла бен конвертируются в шестнадцатеричный, я открыл бин файлы с IC-прог программного Потом сохраните файл в шестнадцатеричном формате, если вы посмотрите на эти файлы, вы можете увидеть читаем строки "Микрочип технологии ICD2 USB Device icd2 USB" в адрес 0x0ee7 для boot.hex файл и ту же строку В 0x0b8e для os.hex файл, I DONT есть дизассемблер изучить более подробно этот файл но что-то говорит мне, что эти два файла все, что нам нужно.
BR Narccizzo
|
|
| Вернуться к началу | |
 |
Jay.slovak
Зарегистрирован: 23 марта 2006 Сообщений: 11
| 03 апреля 2006 11:17 Re: Проект заменить CY7C64613 в ICD2 | | |
|
| | narccizzo писал: | Эти два файла бен конвертируются в шестнадцатеричный, я открыл бин файлы с IC-прог программного Потом сохраните файл в шестнадцатеричном формате, если вы посмотрите на эти файлы, вы можете увидеть читаем строки "Микрочип технологии ICD2 USB Device icd2 USB" в адрес 0x0ee7 для boot.hex файл и ту же строку В 0x0b8e для os.hex файл, I DONT есть дизассемблер изучить более подробно этот файл но что-то говорит мне, что эти два файла все, что нам нужно.
BR Narccizzo |
Вы уверены, что у вас есть файлы преобразуются правильно? Если я импортировать их в MPLAB, кодекс не имеет смысла, все это просто переживает программы памяти и делаем NOPs. Ничего полезного, что происходит в обоих загрузки ОС и HEXs. Даже бит конфигурации различаются в обоих файлов! |
|
| Вернуться к началу | |
 |
Zedman
Зарегистрирован: 13 Окт 2003 Сообщений: 294 Помогали: 2
| 03 апреля 2006 11:19 Проект заменить CY7C64613 в ICD2 | | |
|
| Альберт,
ядро драйвер (ы) ожидать, кипарис свяжет на другой вид / PID когда firt взаимосвязаны, и после загрузчика системы обращения он FW будет снова, как еще один вид / PID поэтому другие системы переговорах с ним. Мы должны выполнить только второй. IAM @ работа и поэтому я не могу сделать что-либо здесь трудно ожидать thinkin ' ... |
|
| Вернуться к началу | |
 |
Сильвио
Зарегистрирован: 31 декабря 2001 Сообщений: 800 Помогали: 90
| 03 апреля 2006 11:31 Re: Проект заменить CY7C64613 в ICD2 | | | Теги: mplab протокол icd2 кипарис дизассемблер дизассемблер кипарис |
|
| Привет Zedman,
it's a must to understand what's under cover. Что касается CY шестнадцатиричное файл это не только вопрос хорошей дизассемблер который знает кипарис чип, но чтение 436 страниц EZ-USB FX TechRefManual, что это должны понять, что под прикрытием. И я не верю, вы время для этого. Тем не менее, если вы не знакомы с 8051 opcodes, парсинга кода займет некоторое время. (Я знаю, вы познакомились с них ПОС) with appropiate values from CY7C64613 registers 0x7800-0x7FFF but you'll definitely end up turning the pages of TechRefManual looking for definitions. Я могу заменить все случаи MOV DPTR, # LXXXX соответствующие значения из CY7C64613 регистров 0x7800-0x7FFF но вы обязательно в конечном итоге превратить страниц TechRefManual поисках определений. Кроме того, что она будет примерно, как трудно присвоить имена биты, которые установлены и четко изложены в программе до тех пор, пока они не отображаются в пространстве SFR (который заканчивается в 0 и 8). with MOV DPTR, #EP0CS but it's difficult to say SETB HSNAK due to the above reasons. Можно легко заменить MOV DPTR, # L7FB4 с MOV DPTR, # EP0CS но трудно сказать, SETB HSNAK связи с изложенным выше причинам.
and EP0STAL L which are affected in the bellow code at 0x03E2. Давайте рассмотрим пример, биты HSNAK и EP0STAL L, которые затронуты в ниже код на 0x03E2. | Код: | L03E2: LCALL L0FBE JNC L03EE MOV DPTR, # L7FB4 MOVX A, @ DPTR ORL A, # 01h; рода SETB EP0STALL MOVX @ DPTR, A L03EE: MOV DPTR, # L7FB4 MOVX A, @ DPTR ORL A, # 02h; рода SETB HSNAK MOVX @ DPTR, A RET
L0FBE: SETB C RET
|
Возьмем в качестве примера (CP_1.asm) код строки, начиная со смещения 0x0100 (подпрограмма вызывается из 0x05FA), первая строка кода используется немедленно ниже таблице вектор прерывания На RAM 0x7FE9 вы найдете 2 байт 8 байт USB SETUP пакетной передачи данных (см. стр. 215 table9-1), что означает bRequest области (см. таблицы 9-2).
| Код: | L0100: MOV DPTR, # L7FE9 MOVX A, @ DPTR JNZ L0109 LJMP L029B, если bRequest = GetStatus переход на 0x029B L0109: DEC A JNZ L010F LJMP L0317, если bRequest = Открытый возможность, переходить к 0x0317 L010F: ADD A, # 0FEh JNZ L0116 LJMP L038E, если bRequest = Функция Set, переход на 0x038E L0116: ADD A, # 0FBh JNZ L011D LJMP L0295, если bRequest = Получить конфигурации, переход на 0x0295 L011D: DEC A JNZ L0123 LJMP L028F, если bRequest = Set конфигурации, переход на 0x028F L0123: DEC A JNZ L0129 LJMP L0283, если bRequest = Получить интерфейс, переход на 0x0283 L0129: DEC A JNZ L012F LJMP L0289, если bRequest = Установить интерфейс, переход на 0x0289 L012F: ADD A, # 05h ЮЖД L0136 LJMP L03E2, если bRequest = никто из вышеперечисленных, а затем установить бит HSNAK и EP0STALL из EP0CS И контроль состояния и , затем на RET 0x05FD ; L0136: LCALL L0F7A, если bRequest = Получить Descriptor, LCALL 0x0F7A где JC L013E; нести бит установлен по умолчанию, так что переход на 0x013E LJMP L03EE, если на 0x0F7A нести будет 0 по умолчанию, установите битных HSNAK , из EP0CS контроля И статус регистрации и RET в 0x05FD ; L013E: MOV DPTR, # L7FEB; здесь, потому что bRequest был Получить Descriptor MOVX A, @ DPTR; таким образом, проверить WValueH области USB SETUP пакетной ADD A, # 0FEh ЮЖД L015F, если wValueH было 0x02 переход на 0x015F DEC A ЮЖД L0190, если wValueH было 0x03 переход на 0x0190 ADD A, # 02h ЮЖД L0150, если wValueH было 0x01 переход на 0x0150 LJMP L0279, если wValueh отличается ни 0x01 или 0x02 или 0x03 затем установите ; биты HSNAK и EP0STALL из EP0CS зарегистрироваться и RET в 0x05FD ; L0150: MOV A, 0Ch; здесь, потому что wValueH была 0x01, так что нагрузка SUDPTR глобальных USB зарегистрироваться MOV DPTR, # L7FD4; со значением 0x0C0D, а затем установить битных HSNAK из EP0CS и RET в 0x05FD MOVX @ DPTR, A MOV A, 0Dh MOV DPTR, # L7FD5 MOVX @ DPTR, A LJMP L03EE L015F: MOV DPTR, # L7FEA; посмотреть сейчас на wValueL сфере USB SETUP пакетной ; ; ; ; и так далее ...................
|
port2: Microchip MPLAB ICD2 Fw client Или это поиск таблице по смещению 0x0622, которые соответствуют Kripton2035 port2: Микрочип MPLAB ICD2 Fw клиента
| Код: | Таблица 5-9. Стандарт USB устройств Descriptor
RAM Офсетные Поле Значение Описание
0622 0x12 0 bLength Длина этого Descriptor = 18 байт 0623 0x01 1 bDescriptorType Descriptor = Тип устройства 0624 0x00 2 bcdUSB (L) USB спецификации версии 1.10 (L) 0625 0x01 3 bcdUSB (H) Спецификация USB версии 1.10 (H) 0626 0xFF 4 bDeviceClass устройств класса (FF является поставщиком специальности) 0627 0xFF 5 bDeviceSubClass устройств Подкатегории класса (FF является поставщиком специальности) 0628 0xFF 6 bDeviceProtocol Устройство протокола (FF является поставщиком специальности) 0629 0x40 7 bMaxPacketSize0 максимальный размер пакета для EP0 = 64 байт 062A 0xD8 8 idVendor (L) Производитель Код (L) Микрочип технологии = 04D8H 062B 0x04 9 idVendor (H) Производитель Код (H) 062C 0x01 10 idProduct (L) Product ID (L) ICD2 = 8001H 062D 0x80 11 idProduct (H) Product ID (H) 062E 0x03 12 bcdDevice (L) Устройство Выпуск номер (BCD, L) 062F 0x00 13 bcdDevice (H) устройств Выпуск номер (BCD, H) 0630 0x00 14 iManufacturer Производитель Индекс String = Отсутствует 0631 0x00 15 iProduct продукты Индекс String = Отсутствует 0632 0x00 16 iSerialNumber Серийный номер индекса String = Отсутствует 0633 0x01 17 bNumConfigurations Количество конфигураций в этот интерфейс = 1
Таблица 5-10. USB умолчанию Descriptor
RAM Офсетные Поле Значение Описание
0634 0x09 0 bLength Длина этого Descriptor = 9 байт 0635 0x02 1 bDescriptorType Descriptor Тип = Configuration 0636 0x74 2 wTotalLength (L) Общая длина (L) Включая интерфейс и конечная точка дескрипторы = 116 0637 0x00 3 wTotalLength (H) Общая длина (H) 0638 0x01 4 bNumInterfaces Количество интерфейсов в данной конфигурации 0639 0x01 5 bConfigurationValue Конфигурация значением, используемым Set_Configuration Запрос Выбор такой конфигурации 063A 0x00 6 iConfiguration Индекс String Описывая эту конфигурацию = Отсутствует 063B 0x80 7 bmAttributes атрибуты - Автобус-Powered, не Wakeup 063C 0x4B 8 MaxPower Максимальная мощность - 150 мА
Таблица 5-11. Интерфейс USB по умолчанию 0, заместитель Установка 0 Descriptor
RAM Офсетные Поле Значение Описание
063D 0x09 0 bLength Длина интерфейса Descriptor 063E 0x04 1 bDescriptorType Descriptor = Тип интерфейса 063F 0x00 2 bInterfaceNumber нуля Индекс этого интерфейса = 0 0640 0x00 3 bAlternateSetting Альтернативные Заданное значение = 0 0641 0x0E 4 bNumEndpoints Количество конечных точек в этот интерфейс (не считая ЕПВ) = 14 0642 0xFF 5 bInterfaceClass интерфейса класса = поставщика Конкретные 0643 0xFF 6 bInterfaceSubClass Интерфейс Подкатегории класс = поставщика Конкретные 0644 0xFF 7 bInterfaceProtocol Интерфейс протокола = поставщиков Конкретные 0645 0x00 8 iInterface Индекс String дескриптора для этого интерфейса = Отсутствует
Таблица 5-14. Интерфейс по умолчанию 0, заместитель Установка 1, балк точки дескрипторы
RAM Офсетные Поле Значение Описание
0646 0x07 0 bLength Длина этой точки Descriptor 0647 0x05 1 bDescriptor Тип дескриптора типа = конечная точка 0648 0x01 2 bEndpointAddress точки руководство (1 в) и адрес = OUT1 0649 0x02 3 bmAttributes XFR Тип = BULK 064A 0x40 4 wMaxPacketSize (L) максимальный размер пакета = 64 байт 064B 0x00 5 wMaxPacketSize (H) максимальный размер пакета - Высокое 064C 0x01 6 bInterval Опрос интервал в миллисекундах
064D 0x07 0 bLength Длина этой точки Descriptor 064E 0x05 1 bDescriptor Тип дескриптора типа = конечная точка 064F 0x02 2 bEndpointAddress точки руководство (1 в) и адрес = OUT2 0650 0x02 3 bmAttributes XFR Тип = BULK 0651 0x40 4 wMaxPacketSize (L) максимальный размер пакета = 64 байт 0652 0x00 5 wMaxPacketSize (H) максимальный размер пакета - Высокое 06:53 0x01 6 bInterval Опрос интервал в миллисекундах
0654 0x07 0 bLength Длина этой точки Descriptor 0655 0x05 1 bDescriptor Тип дескриптора типа = конечная точка 0656 0x03 2 bEndpointAddress точки руководство (1 в) и адрес = OUT3 0657 0x02 3 bmAttributes XFR Тип = BULK 06:58 0x40 4 wMaxPacketSize (L) максимальный размер пакета = 64 байт 0659 0x00 5 wMaxPacketSize (H) максимальный размер пакета - Высокое 065A 0x01 6 bInterval Опрос интервал в миллисекундах
065B 0x07 0 bLength Длина этой точки Descriptor 065C 0x05 1 bDescriptor Тип дескриптора типа = конечная точка 065D 0x04 2 bEndpointAddress точки руководство (1 в) и адрес = OUT4 065E 0x02 3 bmAttributes XFR Тип = BULK 065F 0x40 4 wMaxPacketSize (L) максимальный размер пакета = 64 байт 0660 0x00 5 wMaxPacketSize (H) максимальный размер пакета - Высокое 0661 0x01 6 bInterval Опрос интервал в миллисекундах
0662 0x07 0 bLength Длина этой точки Descriptor 0663 0x05 1 bDescriptor Тип дескриптора типа = конечная точка 0664 0x05 2 bEndpointAddress точки руководство (1 в) и адрес = OUT5 0665 0x02 3 bmAttributes XFR Тип = BULK 0666 0x40 4 wMaxPacketSize (L) максимальный размер пакета = 64 байт 0667 0x00 5 wMaxPacketSize (H) максимальный размер пакета - Высокое 0668 0x01 6 bInterval Опрос интервал в миллисекундах
0669 0x07 0 bLength Длина этой точки Descriptor 066A 0x05 1 bDescriptor Тип дескриптора типа = конечная точка 066B 0x06 2 bEndpointAddress точки руководство (1 в) и адрес = OUT6 066C 0x02 3 bmAttributes XFR Тип = BULK 066D 0x40 4 wMaxPacketSize (L) максимальный размер пакета = 64 байт 066E 0x00 5 wMaxPacketSize (H) максимальный размер пакета - Высокое 066F 0x01 6 bInterval Опрос интервал в миллисекундах
0670 0x07 0 bLength Длина этой точки Descriptor 0671 0x05 1 bDescriptor Тип дескриптора типа = конечная точка 0672 0x07 2 bEndpointAddress точки руководство (1 в) и адрес = OUT7 0673 0x02 3 bmAttributes XFR Тип = BULK 0674 0x40 4 wMaxPacketSize (L) максимальный размер пакета = 64 байт 0675 0x00 5 wMaxPacketSize (H) максимальный размер пакета - Высокое 0676 0x01 6 bInterval Опрос интервал в миллисекундах
RAM Офсетные Поле Значение Описание
0677 0x07 0 bLength Длина этой точки Descriptor 0678 0x05 1 bDescriptor Тип дескриптора типа = конечная точка 0679 0x81 2 bEndpointAddress точки руководство (1 в) и адрес = IN1 067A 0x02 3 bmAttributes XFR Тип = BULK 067B 0x40 4 wMaxPacketSize (L) максимальный размер пакета = 64 байт 067C 0x00 5 wMaxPacketSize (H) максимальный размер пакета - Высокое 067D 0x01 6 bInterval Опрос интервал в миллисекундах
067E 0x07 0 bLength Длина этой точки Descriptor 067F 0x05 1 bDescriptor Тип дескриптора типа = конечная точка 0680 0x82 2 bEndpointAddress точки руководство (1 в) и адрес = IN2 0681 0x02 3 bmAttributes XFR Тип = BULK 0682 0x40 4 wMaxPacketSize (L) максимальный размер пакета = 64 байт 0683 0x00 5 wMaxPacketSize (H) максимальный размер пакета - Высокое 0684 0x01 6 bInterval Опрос интервал в миллисекундах
0685 0x07 0 bLength Длина этой точки Descriptor 0686 0x05 1 bDescriptor Тип дескриптора типа = конечная точка 0687 0x83 2 bEndpointAddress точки руководство (1 в) и адрес = IN3 0688 0x02 3 bmAttributes XFR Тип = BULK 0689 0x40 4 wMaxPacketSize (L) максимальный размер пакета = 64 байт 068А 0x00 5 wMaxPacketSize (H) максимальный размер пакета - Высокое 068B 0x01 6 bInterval Опрос интервал в миллисекундах
068C 0x07 0 bLength Длина этой точки Descriptor 068D 0x05 1 bDescriptor Тип дескриптора типа = конечная точка 068E 0x84 2 bEndpointAddress точки руководство (1 в) и адрес = IN4 068F 0x02 3 bmAttributes XFR Тип = BULK 0690 0x40 4 wMaxPacketSize (L) максимальный размер пакета = 64 байт 0691 0x00 5 wMaxPacketSize (H) максимальный размер пакета - Высокое 0692 0x01 6 bInterval Опрос интервал в миллисекундах
0693 0x07 0 bLength Длина этой точки Descriptor 0694 0x05 1 bDescriptor Тип дескриптора типа = конечная точка 0695 0x85 2 bEndpointAddress точки руководство (1 в) и адрес = IN5 0696 0x02 3 bmAttributes XFR Тип = BULK 0697 0x40 4 wMaxPacketSize (L) максимальный размер пакета = 64 байт 0698 0x00 5 wMaxPacketSize (H) максимальный размер пакета - Высокое 0699 0x01 6 bInterval Опрос интервал в миллисекундах
069A 0x07 0 bLength Длина этой точки Descriptor 069B 0x05 1 bDescriptor Тип дескриптора типа = конечная точка 069C 0x86 2 bEndpointAddress точки руководство (1 в) и адрес = IN6 069D 0x02 3 bmAttributes XFR Тип = BULK 069E 0x40 4 wMaxPacketSize (L) максимальный размер пакета = 64 байт 069F 0x00 5 wMaxPacketSize (H) максимальный размер пакета - Высокое 06A0 0x01 6 bInterval Опрос интервал в миллисекундах
06A1 0x07 0 bLength Длина этой точки Descriptor 06A2 0x05 1 bDescriptor Тип дескриптора типа = конечная точка 06A3 0x87 2 bEndpointAddress точки руководство (1 в) и адрес = IN7 06A4 0x02 3 bmAttributes XFR Тип = BULK 06A5 0x40 4 wMaxPacketSize (L) максимальный размер пакета = 64 байт 06A6 0x00 5 wMaxPacketSize (H) максимальный размер пакета - Высокое 06A7 0x01 6 bInterval Опрос интервал в миллисекундах
который затем юникод виде, закончившийся нулевой строкой "Микрочип техники ICD2 USB Device"
|
Однако, если вы застряли в 4550 бен, я могу попробовать помочь путем добавления комментариев в CY АНМ файл. |
|
| Вернуться к началу | |
 |
Zedman
Зарегистрирован: 13 Окт 2003 Сообщений: 294 Помогали: 2
| 03 апреля 2006 17:10 Re: Проект заменить CY7C64613 в ICD2 | | | Теги: icd2.dll |
|
| Привет Сильвио,
спасибо за информацию, давно мне пришлось разобрать на бин файл из EPROM один чип. Я не даже не тип процессора, ни схемы. Но я должен был найти, как она занимается с карты памяти, и его данные. Я предположил, что в 8051 натурой чипа и попытался много disassemblers, и в конечном итоге с 80C542 (наклоняю Я помню, какой из них он точно) Я понял это из порта номера и кода, как сделки с отдельными порт булавки. Но это занимает 2 недели день и ночь работать Для меня, много чтения / отладка / обучения. Вот почему я хотел ассемблер, что способны сделать то, вы упомянули вместо меня ...  Еще раз спасибо Сильвио.
-----------------------------
IAM начинают считаем всех вас, в соответствии с бен файлов. Я сделал исследований в ICD2 DLL и выяснили, что она требует GETUSBDESCRIPTOR и проверяет номера в описателя, и если он совпадает с новой версией ICD2, чем я, подписанное в 4550 в моей описателя, чем это делает send4550image слово! А также Есть описатели в бин файлов совпадают с одним Kripton загружен. Одна вещь, я не понимаю, поэтому они поставляются с загрузочного образа? И почему ICD2.dll пытается скачать этот файл? Если я прихожу домой, я пытаюсь установить мою описатели в соответствии с одним я нашел в бин и постараемся MPLAB на нем.
Я думаю, что мы все ближе! 
Добавлено после 46 минут:
И есть волшебное дело в первой btyes из загрузочного бен: MCHP (Microchip?) Я искал его, если он впоследствии (после нагрузки) заменяет их с реальной отправной точкой GOTO или-й, но в ICD2.dll нет.
Добавлено через 3 часа 34 минут:
Посмотрите на это:
Я делал то, что я говорил ранее, просто установите версию номера на новые, и он надеется, MPLAB пытается отправить ОС! (Конечно, моя FW не является загрузчиком)
| Код: | MPLAB НДЖ 2 Готов Подключение к MPLAB НДЖ 2 ICD0289: Невозможно повторно программу ICD2 USB OS микропрограммой. ICD0021: Невозможно соединиться с MPLAB НДЖ 2 MPLAB НДЖ 2 Готов
|
Каким-то загрузчик должен работать, я попытаюсь сделать что-нибудь на ночь. |
|
| Вернуться к началу | |
 |
narccizzo
Зарегистрирован: 20 января 2006 Сообщений: 173 Помогали: 4 Место проведения: Пацкуаро, Мичоакан, Мексика
| 03 апреля 2006 18:43 Проект заменить CY7C64613 в ICD2 | | |
|
| Привет JaySlovak Нет, Im не уверен, я только открыл бин и сохранить его в шестнадцатеричный формат. |
|
| Вернуться к началу | |
 |
Jay.slovak
Зарегистрирован: 23 марта 2006 Сообщений: 11
| 03 апреля 2006 20:45 Re: Проект заменить CY7C64613 в ICD2 | | |
|
| | narccizzo писал: | Привет JaySlovak Нет, Im не уверен, я только открыл бин и сохранить его в шестнадцатеричный формат.  |
Да, это странно, как можно прочитать строку, просто код ничего не делает |
|
| Вернуться к началу | |
 |
Zedman
Зарегистрирован: 13 Окт 2003 Сообщений: 294 Помогали: 2
| 03 апреля 2006 22:25 Re: Проект заменить CY7C64613 в ICD2 | | | Теги: icd2.dll |
|
| Хорошие новости через 2 часа отладки,
ICD2.dll использует оба бен файлов. ОС файл хочет быть скачаны только для ICD2s новый продукт с серийным номером. Но когда вы измените идентификатор версии в файле OS.bin в * _FFFF.bin, чем он начнет проверять версию загрузчика с нетерпением:
| Код: | Подключение к MPLAB НДЖ 2 ICDWarn0062: USB-загрузки микропрограммы из ICD2 активен и обеспечение связи с ICD2. Это микропрограммы устарел и должен быть обновлен. Она не может быть обновлен при активной. Тем не менее, вы можете продолжать работать с текущей загрузки микропрограммы, если вы решите это сделать. Хотите продолжить?
|
Если я нажимаю "да", чем он пытается подключиться к ICD2 себя и зависает (у меня только 4550 установлена еще). Если я нажимаю НЕТ, чем кажется, он пытается его обновить но мы должны здесь загрузчик, как это, так что это сообщение появляется на экране:
| Код: | ICD0288: Невозможно повторно программу ICD2 USB загрузки микропрограммы. ICD0021: Невозможно соединиться с MPLAB НДЖ 2 MPLAB НДЖ 2 Готов
|
Хорошо, ребята, думаю, думаю, думать, как мы можем использовать этот бен получить рабочую загрузчика в 4550!!!
Добавлено через 2 минуты:
Я также составили выборку загрузчик с правильным VID / PID, но получили тот же результат, как с моим 4550.
Добавлено после 16 минут:
Это может быть, что мы не можем получить первоначальные первоначальный первоначальным:) части загрузчика, который загружается первым загрузчик, который загружает ОС ...
Добавлено через 5 минут:
Это время, когда следует rkodaira свалки его 4550 на уровне 0 загрузчик. (с большой надежде на то, что не защищен ...)
Rkodaira Вы нужны нам |
|
| Вернуться к началу | |
 |
albert22
Зарегистрирован: 20 июля 2004 Сообщений: 95 Помогали: 3
| 03 апреля 2006 22:46 Re: Проект заменить CY7C64613 в ICD2 | | |
|
| Я Анализируя распечатку о том, что я со мной в BL010101. и найти что-то. Кажется принять 5 команд ближайшие либо из PSP или USART. 0x55 выполнение кода, начиная с 0x0010. 0x56 шестнадцатеричным нагрузки (это, как представляется, имеют более subcommands) 0x5a посылает данные 0x01 0x01 0x03 (Версия о BL????) Две другие команды, просто включите ошибку и Занято светодиодов и висит в inffinite петли.
Следующие подпрограммы относятся к тому, что я назвал "нагрузка шестнадцатиричное" команду:
В другом на регулярной BL отправляет следующую строку 0x5b, "0810C9", 0x5d Другие ответы посылает embeded на следующие строки 0x5b ", 0A000", U, 0x31, U, 0x5d. (где U-видимому, 0x31, 0x34, 0x36 и 0x37).
Я didn't иметь больше времени для продолжения анализа. Я видел ни USB мониторинга, которые были размещены, так Im на кибер. Но я думаю, что эти данные должны быть упакованы в связи USB |
|
| Вернуться к началу | |
 |
Zedman
Зарегистрирован: 13 Окт 2003 Сообщений: 294 Помогали: 2
| 03 апреля 2006 23:30 Проект заменить CY7C64613 в ICD2 | | |
|
| Альберт,
Я проверил серийный комм по сравнению с USB, USB используется оболочка через серийный вещь. Кажется, он использует для контроля EP1 порта (это OUT и IN) и EP2 также данные порта, только в (МКБ-> ПК). |
|
| Вернуться к началу | |
 |
albert22
Зарегистрирован: 20 июля 2004 Сообщений: 95 Помогали: 3
| 05 апреля 2006 6:39 Re: Project заменить CY7C64613 в ICD2 | | |
|
| Вот мои успехи с BL Были не такие subcommands. Нагрузка шестнадцатиричное команда просто берет шестнадцатиричное записей и записывает данные в программу 2 байта памяти, в то время. Она проверяет наличие различных ошибок, в том числе в диапазоне адресов. Ап. избежать активизации в BL программы. Это подтверждает тот факт, что это всегда BL-резидентов на 877. В [0A000 ", U, 0x31, U]. (2 U является первым U 1), вряд ли следует рассматривать, поскольку отчет об ошибке. Ошибки относятся: плохая форма, контрольная, плохой диапазон адресов и EEPROM пишут ошибка . В обычных ждет 16 символов, начиная с 0x3c ('<') и заканчивающийся с 0x3e ('>'). этом 16 символов в заголовке содержат адреса, длины и контрольные суммы для данных, которые будут написаны на ASCII. Если заголовок исправить Ap. в BL ответы на "[0810C9]" Эти данные вместе после 0x7b Этот формат, как представляется, отличается от Intel шестнадцатеричный формат.
Zedman. Может быть, вы признали то вроде этого в RS232 Завтра я Wil быть в моем доме, и возможность установки жесткого диска, чтобы проверить журнал и посмотрите, если я могу быть чем-либо помочь. |
|
| Вернуться к началу | |
 |
Zedman
Зарегистрирован: 13 Окт 2003 Сообщений: 294 Помогали: 2
| 05 апреля 2006 12:17 Re: Проект заменить CY7C64613 в ICD2 | | | Теги: mplab протокол icd2 icd2.dll icd2w2k.sys mplbcomm.dll |
|
| Я застрял в этом USB вещь. И я грустно.
Я не знаю, что делать дальше. Я потратил много времени на отладку icd2.dll.
Проблема: Я не могу отправить хотя бы одного байта в MPLAB.
Я объяснить, что я нашел до сих пор, хотя никто не заинтересован в (просто хочет получить готовые вещи). (За исключением: Альберт, Kripton, rkodaira, Сильвио и парни в этой нити)
Таким образом, MPLAB общается с ICD2 следующим образом:
[MPLAB -> ICD2.dll -> MPLBCOMM.dll -> icd2w2k.sys ->] --- [ICD2 устройства]
Если вы выбираете тип подключения USB будет просить дескриптора устройства с ICD2 и проверяет версию продукта слова, если он 0x0003, чем это кипарис основан ICD2, если он 0x0010, чем что это 4550 основан один. Если 0x0010 найти, чем он говорит то, что я был размещен до этой операционной системы в ICD2 должен быть повышен. Это интересно, что если версия (0100), в имени файла в OS.bin изменен на FFFF, чем он пропустит этот шаг и проверяет версию загрузчика. Здесь мне пришлось залатать ICD2.dll получить попытке проверить файл BL.bin версия слишком, это жестко, что даже он установлен на FFFF обыкновению он попытается обновить, поэтому я его пропатчен (набор жестко FFFF снижения), поэтому в настоящее время говорит, что я слишком mentoined раньше: с бл версия слишком стар, но он не может быть обновлен при его активной.
Хорошо. Я сделал небольшой прог из выборки загрузчика, с правильным дескрипторов и пытаетесь общаться с MPLAB для расшифровки протокола и эмулировать BL в новом 4550 ICD2. ICD2, что использует Kripton, (кипарис версия) устанавливает 7 OUT / IN параметры, однако, согласно журналов она использует только EP1 для IN / OUT и EP2 в. (OUT означает PC-> Device) Кажется, он посылает USB конкретных команд и данных через EP1, и вернулся на EP1, и посылает байт readed с ICD2 в 877 через отдельные точки EP2 дюйм
Когда MPLAB пытается отправить й OS.bin повысить FW OS он издает getUSBdescriptor вызов ядра драйвер, и отправляет на 0x12 байт длинные команды, используя команду DeviceIoControl. Я отлаженный, она успешно прибыла на 4550. Тан MPLAB выдает GetStatus слово, и оно похоже на слово из параметров, которые он ожидает 0x08 байт данных обратно. Я создал мои буфера с 8 байт, а также установить право собственности на SIE. Но оно никогда не передает, что 8 байт обратно (он не появится в USBMon). Просто ждет. Там может быть много. Может быть, я й не в порядке с настройками 4550, но я старался ее с другой Progs и он работает, может послать байт обратно. Я знаю, принимающих должны передавать и в командном, чтобы отправить устройство в том, что она хочет. Но когда я отлаженный MBLBCOMM, я увидел, что DeviceIoControl команды проиграли! Я tought, что, возможно, некоторые разведывательные был построен в. Системы файл и он падает в пакет из-за ее неправильного содержания, но я думаю, он должен быть более высокий уровень задачи. Когда я прихожу домой я проверить GetLastError стоимости.
Каждый имеет какие-либо идеи, как я могу узнать, есть ли там был в пакете разосланы, и как я могу заниматься? |
|
| Вернуться к началу | |
 |
Kripton2035
Зарегистрирован: 19 июля 2001 Сообщений: 482 Помогали: 15 Местоположение: Земля
| 05 апреля 2006 16:59 Проект заменить CY7C64613 в ICD2 | | |
|
| может быть вам необходимо подключить 877 для PSP порт на 4550, чтобы узнать, что в ближайшие путем, и программы на 877 с загрузчика мы? может быть байтах вы ожидание из EP2 и так 877?
Вы хотите меня направить другой лог файл точное состояние? кстати, это обязательно нужно rokaida журнал с его 4550 icd2 ..
PS: Я не заинтересован в том, что проект .. Я только любопытно! У меня уже есть один USB icd2! |
|
| Вернуться к началу | |
 |
Zedman
Зарегистрирован: 13 Окт 2003 Сообщений: 294 Помогали: 2
| 05 апреля 2006 20:08 Проект заменить CY7C64613 в ICD2 | | |
|
| Благодаря Kripton,
Мы сообщим вам, когда мне нужно больше свалка , Это немного более сложным, чем просто проходя через байтах до 877 и обратно, то есть протокол, обертки от него. Что вы сказали, было очень полезным, но rkodeira обыкновение sacrify его новой ICD2 ... Если он будет, чем с дампа его ОС процесс обновления будет определить протокол хорошо ... |
|
| Вернуться к началу | |
 |
Kripton2035
Зарегистрирован: 19 июля 2001 Сообщений: 482 Помогали: 15 Местоположение: Земля
| 05 апреля 2006 22:09 Проект заменить CY7C64613 в ICD2 | | |
|
| | I DONT так думаю, что он нуждается в sacrify его icd2!! лишь некоторые свалки с usbmon как я .. надеюсь моя icd2 до сих пор работает!!! |
|
| Вернуться к началу | |
 |
albert22
Зарегистрирован: 20 июля 2004 Сообщений: 95 Помогали: 3
| 05 апреля 2006 22:16 Re: Проект заменить CY7C64613 в ICD2 | | | Теги: icd2 нагрузки шестнадцатиричное команду |
|
| Я не могу установить HHD монитор для просмотра журналов, потому что я только W98 на дому. Вы можете экспортировать дамп ОС для загрузки файла. TXT, для меня? ------- Как CY сбрасывает 877? Существует один сигнал (PIN-43) на базе Q1, чьи коллектора MCLR. Но это идет на разъем называется PROG. Теперь я понимаю, что этот сигнал должен перейти на 877 тоже. Мы должны знать, какие USB команда сбрасывает 877. Может быть, он находится в одной из конечных точек контроля? Я не знаете что такое функция этого PROG разъем. но дополнительные параметры могут быть связаны с ним. ---------- Один из ОС загружаются на ICD2-видимому, будут: ICD01020405.hex я попытался disassemby, но я не могу получить дизассемблер заменить шестнадцатиричное адресов с именем регистров. Это займет больше времени, чтобы понять, как она работает. Интересным фактом является то, что код начинается с 0x0010. Помните, что БЛ призывает этому адресу с выполнить команду.
В BL версия сообщили mplab является 01.01.01.00 Это хорошо с BL команды, которая отвечает 01,01,01,03 --------- Существует не DPot (MCP41xxxx) в бразильском МКБ. Как они Vpp? Большинство из клонов имеют фиксированную Vpp. Значит ли это означает, что бразильская МКБ является всего лишь клоном низкая стоимость, а не новый ICD2? Dont Я думаю, что микрочип пошла на определенный Vpp. Если есть еще один метод борьбы с Vpp, помимо DPot ему потребуется микропрограммой изменения НДЖ ОС. В старых ОС не будет работать в новой. Это может быть причиной, что DLL проверяет версию. |
|
| Вернуться к началу | |
 |
Zedman
Зарегистрирован: 13 Окт 2003 Сообщений: 294 Помогали: 2
| 05 апреля 2006 22:32 Проект заменить CY7C64613 в ICD2 | | | Теги: mplab протокол icd2 icd2w2k.sys icd2w2k скачать 4550 загрузчик написать icd2w2k.sys скачать скачать icd2w2k |
|
| Я не думаю, что мы должны заниматься все относительно схемы или протокола или соединения между 877 и 4550 еще. Я думаю, что все мы должны написан в 4550 бункеры поставляются с MPLAB. Мы должны написать загрузчик совместимы с icd2w2k.sys получить OS.bin загружается, и после этого мы можем scracth наши руководители, как 877 подключен.
Добавлено через 5 минут:
В ICD2br использует другой тип чипа, который генерирует Vpp. Rkodaira mentoined, проверьте эти должности ранее. |
|
| Вернуться к началу | |
 |
Сильвио
Зарегистрирован: 31 декабря 2001 Сообщений: 800 Помогали: 90
| 06 апреля 2006 2:36 Re: Project заменить CY7C64613 в ICD2 | | | tags: icd2w2k.sys icd2w2k download 4550 bootloader write icd2w2k.sys download download icd2w2k |
|
| | Zedman wrote: | We should write a bootloader compatible with the icd2w2k.sys to get the OS.bin downloaded.
|
Yes, this is the main reason for which I said that dissasembling CY fw it's useless as long as we have the OS and BL bin file provided by Microchip. 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 , 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
| 06 Apr 2006 4:36 Re: Project to replace CY7C64613 in the ICD2 | | | tags: mplab protocol icd2 |
|
| | Quote: | 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. | Quote: | | 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: | Quote: | | 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
| 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
| 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
| 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
| 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
| 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
| 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
| 06 Apr 2006 23:17 Re: Project to replace CY7C64613 in the ICD2 | | |
|
| | Quote: | | 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
| 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.
| Quote: | 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. 
-------------------
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... |
|
| Back to top | |
 |
Brem
Joined: 06 Apr 2006 Posts: 36
| 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
| 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 | |
 |