zltigo 0 30 марта, 2010 Опубликовано 30 марта, 2010 · Жалоба потому что процессор, инклюды и макросы в них у меня другие.) Естественно другие. Я бы вообще не стал заморачиваться - ну в чем-то другом проблема, ибо работает reinvoke и всегда работала. Что у Вас написано - не вычитывал, но в глаза бросилось, что с портом Вы работаете через FastIO - я бы вернул его в обычный режим и работал "штатно". Дальше у этого контроллера развитая система тактирования - ее тоже надо возвращать обратно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dreamer_0x01 0 30 марта, 2010 Опубликовано 30 марта, 2010 (изменено) · Жалоба ну в чем-то другом проблема, ибо работает reinvoke и всегда работала. Да уж, попадалово... Анализирую ситуацию - почему-то всегда успешно проходит автобод, запрос версии загрузчика и т.д. Даже "портить" программу получается. Проблемы возникают именно на стадии записи во флеш. Подумал вот что. Каким образом программа-прошиватель ожидает ответ от процессора во время такой команды? По таймауту, или по состоянии линии CTS/RTS. Дело в том, что у меня эти линии не подключены, и можно предположить, что они используются при работе прошивателя. Однако, все же странно, почему в случае запуска сразу при включении запись флеша проходит нормально. Вы работаете через FastIO - я бы вернул его в обычный режим и работал "штатно" Я его использую для порта 2, так как для портов 0 и 1 в инклюдах соответствующие макросы есть, а для номеров 2 и выше - только FIOXXX. Изменено 30 марта, 2010 пользователем Dreamer Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 0 30 марта, 2010 Опубликовано 30 марта, 2010 · Жалоба по состоянии линии CTS/RTS. Все взаимодействие четко описано в документации. Я его использую для порта 2 Да, это я ошибся :( Проблемы возникают именно на стадии записи во флеш. Уже писал после рассмотрения лога. ПРОБЛЕМЫ в Вашем случае происходят при пересылке информации в RAM LPC2000. Программатор получает ошибочное эхо и потом, в конце блока ругань LPC на неверную контрольную сумму. Повторяю, банальные сбои в UART. До работы с Flash дело не доходит вообще. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dreamer_0x01 0 31 марта, 2010 Опубликовано 31 марта, 2010 (изменено) · Жалоба Все взаимодействие четко описано в документации. Читал. Вычитал, что загрузчик использует управление протоколом XON/XOFF. Но в этом случае меня смущает, зачем ваша программа при запуске делает вот это? Entering to LPC2000 Bootloader DTR(1) RTS(1) DTR(0) RTS(1) DTR(0) RTS(0) Или я что-то опять не дочитал? Если так, просьба ткнуть носом в нужное место. Повторяю, банальные сбои в UART. Если это так, как лучше ити сбои найти? В проводах все нормально, так как при ресете работает и штатный прошиватель, и пересылка данных из моей программы, причем на самых разных, больших и маленьких скоростях. Есть, правда, еще одно НО - СОМ-порт у меня не честный, а в виде usb-схемки на контроллере Silicon Labs CP2103. И там могут быть достаточно большие задержки между соседними байтами, так как у нее есть свои внутренние буферы. Изменено 31 марта, 2010 пользователем Dreamer Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 0 31 марта, 2010 Опубликовано 31 марта, 2010 · Жалоба Но в этом случае меня смущает, зачем ваша программа при запуске делает вот это? Делает, впрочем как и мейджик, если Вы ей сказали (ключ -ctrl x ) что на них висят Reset и "перемычка" загрузчика. Или я что-то опять не дочитал? Если так, просьба ткнуть носом в нужное место. описание подключения филипсофских программаторов. могут быть достаточно большие задержки между соседними байтами. У всех так. Таймауты у меня в секундах, а в штатных утилитах помнится есть и настройка задержек. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться