|
Failed to autobaud (ISP), SK-MLPC2478 + Flash Magic |
|
|
|
Sep 19 2009, 19:32
|

Местный
  
Группа: Свой
Сообщений: 466
Регистрация: 23-07-07
Из: Киев
Пользователь №: 29 297

|
Цитата Так читайте его С НАЧАЛА, а не с середины. Почитал. В основном разобрался. Но есть кое-какие уточняющие вопросы: 1)Исходное состояние - память очищенна -> контроллер ждёт "?" Посылаю "?" -> отвечает "Synchronized" Посылаю "Synchronized" -> отвечает "ОК" Посылаю "ОК" -> отвечает "ОК" Дальше согласно документации нужно отправить тактовую частоту то ли платы... вообщем посылаю 12000 он мне в ответ какие-то иероглифы. Пробую сразу команды - выполняются. Получается никакое значение частоты посылать не нужно. Непонятно. Почему так? Цитата ...In response to this host should send the same string ("Synchronized<CR><LF>"). The auto-baud routine looks at the received characters to verify synchronization. If synchronization is verified then "OK<CR><LF>" string is sent to the host. Host should respond by sending the crystal frequency (in kHz) at which the part is running. For example, if the part is running at 10 MHz , the response from the host should be "10000<CR><LF>". "OK<CR><LF>" string is sent to the host after receiving the crystal frequency. If synchronization is not verified then the auto-baud routine waits again for a synchronization character. For auto-baud to work correctly in case of user invoked ISP, the CCLK frequency should be greater than or equal to 10 MHz И ещё - если я ошибся при вводе слова Synchronized или ещё где-то - он мне в ответ какие-то иероглифы посылает и дальше никак не реагирует. Помогает только перезапуск терминала и всё сначала. Что это вообще за иероглифы? И нужно всё сначала или можно что-то ввести и он продолжит? 2)<CR><LF> - символ возврата каретки и сивмол новой строки. В документации написано, что каждая команда должна ими завершаться. Возврат каретки это при нажатии Enter, а навую строку как? У меня работает просто с одним нажатием Enter. 3)А встроеным в ОС Win XP терминалом можно тоже самое проделать? Он правда вроде не может сигналы RTS и DTS генерировать. Но если память будет очищена - контроллер будет сам ждать команд и ему не нужно будет делать ресет и P2.10 в 0 устанавливать. А будет программа - то не получиться (так как не может генерировать сигналы RTS, DTS) Я пробовал - у меня не получилось. Пишу знак вопроса - никак не реагирует. Нажимаю "правка-передать главному компьютеру" - появляется слово "Synchronized". Пишу в ответ "Synchronized" и нажимаю "правка-передать главному компьютеру" - ничего не происходит. Энтер тоже не помагает. На этом и застопорился. 4)В Flash Magic есть такие выражения - Assert RTS, Deassert DTS. Как это переводиться? В словаре смотрел (утверждать; заявлять, объявлять, декларировать, провозглашать, обеспечивать, отстаивать, защищать (свои права и т. п.); доказывать) - есть перевод, но сути выражений не понял. Больше всего подходит обеспечивать, но что имеется ввиду?
|
|
|
|
|
Sep 19 2009, 20:06
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(Владимир_КПИ @ Sep 20 2009, 01:32)  2)<CR><LF> - символ возврата каретки и сивмол новой строки. В документации написано, что каждая команда должна ими завершаться. Возврат каретки это при нажатии Enter, а навую строку как? У меня работает просто с одним нажатием Enter. В настройках программы-терминала обычно есть опция дополнять <CR> кодом <LF> или не дополнять. Цитата(Владимир_КПИ @ Sep 20 2009, 01:32)  3)А встроеным в ОС Win XP терминалом можно тоже самое проделать? Можно, но установить перемычку, запускающую BootLoader, и сбросить контроллер, вам придется вручную. Цитата(Владимир_КПИ @ Sep 20 2009, 01:32)  4)В Flash Magic есть такие выражения - Assert RTS, Deassert DTS. Как это переводиться? Разработчики программы в Германии обитают, им простительно  Смысл Assert и Deassert - активировать сигнал и деактивировать сигнал. Причем, следует учесть, что "активировать" совсем не означает однозначно "установить в лог.1". Зависит от схемотехники преобразователя уровней. По умолчанию (после инициализации COM-порта) сигналы RTS и DTR установлены, что соответствует их неактивному состоянию.
|
|
|
|
|
Sep 20 2009, 12:26
|

Местный
  
Группа: Свой
Сообщений: 466
Регистрация: 23-07-07
Из: Киев
Пользователь №: 29 297

|
Цитата Именно этому контроллеру не нужно - у него есть собственный генератор, которым и пользуется загрузчик. Это была вырезка из datasheet`а "LPC24xx User manual". Тогда получается для LPC2468 частоту задавать нужно, а для LPC2478 нет. Цитата В настройках программы-терминала обычно есть опция дополнять <CR> кодом <LF> или не дополнять. Вот она:
Когда наводиш на выбор пишет - "Select the characters to be send or received for a new line". Перевожу - "выбирите символы отправляемые или получаемые для новой линии". Насколько я понимаю - какие символы будут посылаться при нажатии Enter - "<CR>" или "<CR><LF>" Странно, но работает при обоих вариантах.Цитата Возвра́т каре́тки (англ. Carriage Return, CR) — управляющий символ ASCII 0x0D, при выводе которого курсор перемещается к левому краю поля, не меняя высоту. Этот управляющий символ вводится клавишей «Enter». Нажимая клавишу Enter в терминале/текстовом редакторе у меня (как и большинства пользоватетей MS Word`а) происходит не просто возврат каретки, а возврат каретки + подача новой строки. Непонятно. Цитата Можно, но установить перемычку, запускающую BootLoader, и сбросить контроллер, вам придется вручную. Кнопка сброса есть. А вот перемычки такой на плате нет. Схема. Цитата Разработчики программы в Германии обитают, им простительно Смысл Assert и Deassert - активировать сигнал и деактивировать сигнал. Причем, следует учесть, что "активировать" совсем не означает однозначно "установить в лог.1". Зависит от схемотехники преобразователя уровней. По умолчанию (после инициализации COM-порта) сигналы RTS и DTR установлены, что соответствует их неактивному состоянию. Насколько я понял - если поставить Assert - на ножке COM-порта будет лог. 0, если - Deassert - лог. 1 Если дальше схемотехника другая - сигналы могут быть инверсными. Зачем тогда использовать понятия активный/неактивный... Провёл эксперимент: записал тестовую программу в МК, запустил терминал, послал "?" - > ответа не последовало. Непонятно почему так. Ведь сигналы RTS и DTR должны быть установлены по умолчанию. Только когда я поставил галочку изменить поведение порта и выставил Deassert DTR, Assert RTS - мне в ответ выдало Synchronized (при других комбинациях Assert/Deassert - также не отвечает.)
|
|
|
|
|
Sep 20 2009, 13:37
|

Местный
  
Группа: Свой
Сообщений: 466
Регистрация: 23-07-07
Из: Киев
Пользователь №: 29 297

|
Цитата Учите язык, читайте не слова и обрывки фраз из середины а разделы целиком. Как раз читал раздел с самого начала. Datasheet посвящён LPC24хх. Странно было бы писать в нём не о LPC24xx. Раз написано - значит так и должно быть. Вот datasheet на LPC21xx/22xx. Там тоже самое написано. Было бы логичней для LPC21xx/22xx указать, что нужно указывать частоту, а для LPC23xx/24xx упустить это.
|
|
|
|
|
Sep 20 2009, 18:53
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Владимир_КПИ @ Sep 20 2009, 16:37)  Как раз читал раздел с самого начала. Смотрел в книгу видел ф..... Цитата When ISP mode is entered after a power on reset, the IRC and PLL are used to generate CCLK of 14.748 MHz. This may not be the case when ISP is invoked by the user application. Посему либо указывайте эту частоту, либо не указывайте вообще. Если изменили источник тактирования, или он неизвестен, как у LPC21xxx тогда, естественно надо задавать, если он не 10 (кажется) Mhz, как прописано в загрузчике по умолчанию. Эту цифирь в загрузчике можно поменять.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|