|
Кто работал с flash magic?, Вопросы по программированию |
|
|
|
May 10 2007, 10:55
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 29-01-07
Пользователь №: 24 850

|
У кого нибудь есть удачный опыт программирования lpc9xx с помощью данной программы без доп. оборудования, т.е. исключительно через сом-порт и драйвер 232? В описании к программе написано, что надо соединить выводы rts и dts с ножками reset и vdd,(ну и уарт,разумеется) для перевода мк в режим программирования подается три импульса на резет после подачи питания. Насколько я понимаю, это должна делать программа(есть даже соответствующий чекбокс в настройках: use dtr and rts to enter in isp mode).однако на осцилографе этих импульсв нет, соответственно, связи с мк тоже, Знающие, внесите ясность.
|
|
|
|
|
May 10 2007, 11:52
|

Знающий
   
Группа: Свой
Сообщений: 578
Регистрация: 7-11-06
Из: Хабаровск
Пользователь №: 22 044

|
Не знаю, насколько я понял это дело правильно, но у меня картина была такой. Выписал Кейловскую плату с LPC935, она комплектовалась uVision3 для программирования и Flash Magic. Для программирования через Flash Magic нужно было правильно сделать установки в uVission - указать номер COM-порта и т.д. Само программирование шло без сучка и задоринки, НО. В LPC935 и LPC936, которыми была укомплектована плата, обнаружился странный глюк в этом модуле - асинхронном передатчике. Во-первых, все попытки установить связь по COM-порту с чем-либо: компьютером или другим микроконтроллером не имели результата. Имеется в виду, не программирование Flash, а работа чисто из твоего приложения. Стал разбираться, запрограммировал контроллер на цикл по Tx, т.е., по выходу из COM-порта и обнаружил, что скважность сигнала не соответствует стандарту на этот порт. На обоих микросхемах, которые пришли с платой: LPC935 и LPC936. Так и не понял, то ли это недоработка Филипса на всю серию, то ли какая-нибудь первая ревизия с браком. Кстати, в остальном микроконтроллер довольно продвинутый, но, увы. Из-за этого глюка пришлось его забросить подальше в угол. Если есть желание, могу скинуть или разместить здесь принципиальную схему этой Кейловской платы, там действительно схема для программирования довольно мудрёная.
Сообщение отредактировал repairDV - May 10 2007, 11:56
--------------------
Маленький нанайца. А-а. А-а. Оморочком плыл. Маленький проточка. Осетра ловил.
|
|
|
|
|
May 10 2007, 13:14
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 29-01-07
Пользователь №: 24 850

|
Цитата(repairDV @ May 10 2007, 15:52)  Если есть желание, могу скинуть или разместить здесь принципиальную схему этой Кейловской платы, там действительно схема для программирования довольно мудрёная. Да, с удовольствием гляну на эту схемку
|
|
|
|
|
May 10 2007, 13:44
|

Знающий
   
Группа: Свой
Сообщений: 578
Регистрация: 7-11-06
Из: Хабаровск
Пользователь №: 22 044

|
Кстати, у этого микроконтроллера обнаружился ещё один серьёзный глюк. Причём, как я понял, не только я с этим столкнулся, потому, что потом чисто случайно в инете наткнулся на сайт немецких электронщиков, там был раздел по LPC9xx, и были приведены примеры программ, в которых также учитывался этот глюк. А именно: микроконтроллер почему-то не выходит на прерывание по окончанию выборки АЦП. У них выход из положения был, как и у меня: просто программа постоянно контролировала появление флага окончания выборки в регистре флагов, после этого считывала результат из АЦП. На диске с платой была ещё такая продвинутая вещь, которая называлась "Коде Архитект". Т.е., программа, которая сразу выдавала текст исходника для всяких вариантов работы. Из-за этого я даже не стал читать даташит на этот контроллер, потому, что не было необходимости. Ибо был уже готовый код для любого твоего прибамбаха.
--------------------
Маленький нанайца. А-а. А-а. Оморочком плыл. Маленький проточка. Осетра ловил.
|
|
|
|
|
May 10 2007, 20:54
|

Шаман
     
Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221

|
Цитата(alexeiB @ May 10 2007, 13:55)  У кого нибудь есть удачный опыт программирования lpc9xx с помощью данной программы без доп. оборудования, т.е. исключительно через сом-порт и драйвер 232? В описании к программе написано, что надо соединить выводы rts и dts с ножками reset и vdd,(ну и уарт,разумеется) для перевода мк в режим программирования подается три импульса на резет после подачи питания. Насколько я понимаю, это должна делать программа(есть даже соответствующий чекбокс в настройках: use dtr and rts to enter in isp mode).однако на осцилографе этих импульсв нет, соответственно, связи с мк тоже, Знающие, внесите ясность. Есть опыт программирования этой утилитой семейства LPC2xxx. Не думаю, чтобы была принципиальная разница. ПРоверьте работоспособность rts и dts в Вашем COM порте.
|
|
|
|
|
May 11 2007, 05:22
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 29-01-07
Пользователь №: 24 850

|
Цитата(IgorKossak @ May 11 2007, 00:54)  Есть опыт программирования этой утилитой семейства LPC2xxx. Не думаю, чтобы была принципиальная разница. ПРоверьте работоспособность rts и dts в Вашем COM порте. COm работает, уровни dtr и rts меняются, однако, тех самых трёх импульсов нет. Скорее всего, для этого процессора вход в режим программирования реализован на этой самой кейловской плате.
|
|
|
|
|
May 11 2007, 05:51
|
Участник

Группа: Свой
Сообщений: 63
Регистрация: 3-05-05
Пользователь №: 4 696

|
Делали программатор по приведенной схеме для LPC922 - усе работало. Кроме того на сайте FlashMagic-а есть раздел ресурсов http://www.flashmagictool.com/resources.html ,где приводятся и схемки альтернативных программаторов. В конце-концов в состав программы включили команду перевода в режим программирования, которая меняла вектор загрузки и выполняла сброс, после чего шьем по RS232 без rts и dts. По поводу CodeArchitect вот ссылка, если кому интересно http://www.codearchitect.org/.
|
|
|
|
|
May 12 2007, 17:31
|
Группа: Новичок
Сообщений: 1
Регистрация: 4-10-05
Пользователь №: 9 223

|
Цитата(alexeiB @ May 10 2007, 14:55)  У кого нибудь есть удачный опыт программирования lpc9xx с помощью данной программы...? Для микросхем от lpc920 и выше по ISP проблем не возникает (если не затёрт загрузчик!). Для микросхем от lpc901 до lpc917 (программируются исключительно по ICP) и выше требуется мост. Подробнее в статье "Вопросы программирования микроконтроллеров LPC9хх фирмы Philips" в журнале "Современная электроника" № 5 за 2005г. или http://www.irvas.net/Article1.htm.
|
|
|
|
|
Jul 24 2007, 18:02
|

Группа: Новичок
Сообщений: 8
Регистрация: 29-03-07
Пользователь №: 26 616

|
Цитата(avia @ May 12 2007, 21:31)  Для микросхем от lpc920 и выше по ISP проблем не возникает (если не затёрт загрузчик!). Для микросхем от lpc901 до lpc917 (программируются исключительно по ICP) и выше требуется мост. Подробнее в статье "Вопросы программирования микроконтроллеров LPC9хх фирмы Philips" в журнале "Современная электроника" № 5 за 2005г. или http://www.irvas.net/Article1.htm. Собрал я ICP-ISP программатор для этих тараканов по схеме с того же журнала "Современная электроника" №5 за 2005г. Для прошивки микроконтроллера LPC921F я не делал промежуточный вариант ICP-программатора, а впаял его на место, только забросил провод Reset. По началу всё шло хорошо - даже дым после первого включения, как обычно это у меня бывает, не пошол. Сигнатуру 15DD0B Flash Magic показал. Указал стираемыми блоки 1,2,3, нолёвый (как предупреждали) не трогал. После старта прошивки файлом prog90x.hex в низу окна программы Flash Magic сообщения о очистке блоков начались (как и надо было) с очистки блока 1 и т. д. По окончании прошивки проверил сигнатуру, а там FF FF FF.  Повторно прошить таракан не удалось - программа загрузчик в блоке 0 испарилась. Перепроверил всё и повторил процедуру на следующей жертве. Результат тотже. Жалко. Подскажите ламеру с кривыми руками что делать дальше. P.S. Может у кого есть описание паралельного программирования для этих микроконтроллеров, попробую оживить своих жмуриков.
|
|
|
|
|
Sep 3 2007, 08:45
|

Частый гость
 
Группа: Участник
Сообщений: 174
Регистрация: 8-12-06
Из: Волгоград
Пользователь №: 23 286

|
Цитата(repairDV @ May 11 2007, 09:39)  Так что - заказывайте на Терре плату и используйте её как программатор. Правда, серия всё-таки, по-моему, неудачная. Если только Филлипс не устранил свои глюки. Из сообщения вижу что вы приобретали MCB900 в Терре. А есть ещё где-нибудь недорогие платы?
--------------------
"Батарейки в комплект не входят" :P
|
|
|
|
|
Sep 3 2007, 13:09
|
Участник

Группа: Свой
Сообщений: 51
Регистрация: 21-07-04
Из: Таганрог
Пользователь №: 348

|
По умолчанию статус бит запрограммирован на старт загрузчика, так что первое программирование на скорости 7200 должно проходить при отключенных ДТР и ДСТ, я так шью LPC922/ а на вкладке secyriti, нужно обязательно галочку поставить, чтоб не тер начальный загрузчик, он кстати в самом старшем блоке....
|
|
|
|
|
Nov 29 2007, 05:38
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 1-12-04
Пользователь №: 1 267

|
Для сведения: Анализ исходника ISP-ICP моста (v1.6 с сайта www.lpctool.com) показал, что команды стирания сектора и стирания страницы перепутаны. Т.е. Flash Magic выдает правильные команды, а мост их путает.
Сообщение отредактировал Tech - Nov 29 2007, 05:52
|
|
|
|
|
Sep 16 2009, 18:25
|

старший лаборант
     
Группа: Свой
Сообщений: 2 702
Регистрация: 30-09-05
Из: ЮЗЖД
Пользователь №: 9 097

|
Дабы не плодить лишние сущности, поднял старую тему. Проделав некоторую работу на досуге, решил, что результат "продать нельзя подарить". В прикреплённом архиве бюджетный (<$10 вместе с БП) ISP/ICP мост, позволяющий программировать LPC900 в несколько раз быстрее, чем упомянутые ранее, благодаря использованию страничной записи вместо побайтной и повышению скорости обмена по RS-232. Есть пока что некоторые ограничения. Критика охотно принимается.  Кому интересны исходники - вышлю по почте, разница с оригиналом там минимальная. (Надо же, на картинках тактовая частота странная... конечно же, 7,3728 МГц, очепятался  ) (upd) Изгаляюсь дальше. Избавляюсь от выключателя, т.к. в одном из моих мостов после месяца интенсивной эксплуатации он уже не контачит. Если не пользовать ISP, 74HC02 можно безнаказанно исключить, а сигналом RTS включать питание контроллера, и тем самым запускать режим ICP (устанавливается в "Advanced Options - hardware config", верхняя "галочка" снимается, нижняя устанавливается, после этого на всё время обращения Flash magic к контроллеру RTS падает в 0). Можно и DTR, вроде без разницы. Или оба вместе, чтобы совсем верняк. Ставим p-n-p ключик и уменьшаем задержку в программе моста с 500 мс до некоего разумного значения... в основном оно зависит от переходных процессов в программируемом устройстве. Хотя явно красивше будет RTS на INT1 контроллера запустить, чтобы каждый раз его не выключать, а только программируемый чип. Но там опять придётся софт моста править. Иду от первого ко второму. Этот вариант тоже опубликую, USB - уже нет, но там вроде и так всё будет на поверхности, FT232, CP2102 или что-то в этом духе.  Сегодня пришло письмецо с яхугрупс, какую-то серийную марахайку в качестве моста приспособили, вместо MCB900... зачем?  Вдогонку. Есть шансы, что программа моста "влезет" в 2 кБ, если на асме переписать, и тем самым можно будет применить контроллер с меньшим числом лап, но на это вряд ли пойду, недосуг. Дальнейшие планы - сотворить аналог Flash Magic только под LPC900 и тем самым уйти от морально напрягающего "Non production use only" и счётчика прошивок одинаковых файлов. Ну, "non" на "for" я, конечно, менял, для приколу.
--------------------
Китайская комплектация - европейское качество! ;)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|