Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPC2368
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Страницы: 1, 2, 3
TJ27
Сорри за дурацкий вопрос, но:
если я сделаю fullerase, я bootloader затираю или нет?

Мне надо перед прожигом целевой проги очистить флешку, за исключением бутлоадера
srg_co
Нет.
zltigo
V0.28.11...V0.29.0 Из общеполезных вещей только поддержка альтернативного варианта входа
в синхронизацию появившегося, очевидно, в некоторых новых версиях загрузчиков. Симптом - сообщение "No answer on 'Synchronized'" при попытке подключения.
Спасибо TanT за присланый лог!

Так, как выяснилось, это не единственное расхождение sad.gif в поведнии загрузчиков.
Правки продолжаются...
Результат V0.29.0
zltigo
Все еще не "слава богу" sad.gif Еще найдены несовметимости - не проходили команды типа "Unlock", "Erase"..... Добавлено.
V0.29.0
vesago
А AT200 случаем патчить в прошивке сигнатуру по адресу 0x14 не может? Имею ввиду возможность патча непосредственно файла прошивки.
HARMHARM
Цитата(vesago @ Mar 16 2009, 16:54) *
А AT200 случаем патчить в прошивке сигнатуру по адресу 0x14 не может? Имею ввиду возможность патча непосредственно файла прошивки.

Нет, патчит только непосредственно загружаемые данные..
vesago
спасибо, понятно - патч я уже скачал здесь. Просто хотелось сократить число тулзов.
HARMHARM
Вопрос в тему - есть ли exit status у at200 ? Было бы очень удобно получать 0 если все задачи удачно завершились, и не 0 если ошибка или Ctrl-C...
zltigo
Цитата(HARMHARM @ Jun 22 2009, 04:19) *
Вопрос в тему - есть ли exit status у at200 ? Было бы очень удобно получать 0 если все задачи удачно завершились, и не 0 если ошибка или Ctrl-C...

Есть. Только с одним исключением - 0x4000 может встретится это тоже нормальный выход без ошибки, но из ситуаций когда ничего полезного не делали, например, запустили с ключем -help.
zltigo
AT200 V0.30.1
-Исправлена ошибка с полным стиранием, при установленной защите для LPC23xx/24xx. Спасибо первому наступившему
на эту ошибку Grape;
-Добавлены мелкие чипы из LPC23xx серии;
-Выход по [F10] убран, зато к [Ctrl+X] добавлен [Alt+X];
-Для ручного запуска вместо [F9] теперь [Ctrl+F9];
-Остальные изменения к работе со штатным загрузчиком отношения не имеют.
IgorKossak
zltigo, не сложно ли будет добавить семейство LPC17xx?
Возникла необходимость с ними работать.
zltigo
Цитата(IgorKossak @ Feb 6 2010, 14:45) *
zltigo, не сложно ли будет добавить семейство LPC17xx?

Полагаю, что не сложно, только живьем нет, но теоретически могу. Для младших с 32K Flash, можно подобный LPC джокером -LPC2xxx задать.
А так вообще, забью вечерком табличку и для LPC13/17

Теоретически добавил 19 чипов LPC11xx/LPC13xx/LPC17xx
полный список, как обычно, при запуске с ключем `-list`

За IgorKossak - проверка и логи, если что smile.gif

Внимание! Облом - с Cortex пока работать не будет sad.gif - через несколько часов подправлю еще несколько мест. Кроме банального изменения таблиц надо еще место контрольной суммы менять, начальный адрес RAM, команды отличаются, может и что еще найду...
zltigo
Версия 0.31.1 - можно пробовать на кортексах.
- области RAM под буфера соответствует LPC1xxx
- запуск загруженного в LPC1xxx приложения в THUMB режиме
- контрольная сумма векторов для LPC1xxx в правильном месте
- до кучи еще LPC2109 и несколько экзотических romless добавлены.
zltigo
Версия 0.31.3. Так не знаю sad.gif, пробовал-ли кто-то на Cortex-ах предыдущую.
Добавлено:
- отображение версии Windows;
- увеличение буферов за COM портом терминала;
- ключик для изменения Code Read Protect Level `-crp <0|1|2>` с контролем содержимого (не запишет поверх кода, как это делает родная утилита) контроль производится на значения 0x00000000, 0xFFFFFFFF, CRP1, CRP2, CRP3 по адресу 0x1FC. CRP3 от греха подальше не устанавливатся - только отключается, или меняется;
- в ожидании нажатия 'AnyKey' убрана безумная загрузка процессора.
bseyur
Попробовал, наконец, сегодня на Cortex-е LPC1758. Прошить не смог. smile3046.gif
Использовал следующую командную строку:

Цитата
at200 COM6 -baud 115200 -osc 24000 -ctrl 1 -l log.txt -crp 2 -flash AutosndLPC1758.hex


Лог-файл отсутствует (не нашел нигде), поэтому привожу вывод командной строки:

Цитата
at200 COM6 -baud 115200 -osc 24000 -ctrl 1 -l log.txt -crp 2 -flash AutosndLPC1758.hex
AT200/AES ISP/Terminal for LPC2/1000 V0.31.3 by I.Zalts. Windows 6.1
Set Boot Control mode: 1
Log output to:`log.txt`
Set CRP Level: 2
HEX file: [Ctrl+F9] AutosndLPC1758.hex
Serial Port: COM6 Baud: 115200
Oscilator: 24000KHz
Entering to LPCxxxx Bootloader -Ok
Bootcode: 4.1.0
Chip ID: LPC1758 512KB ROM/64KB SRAM (ID:620838711/0x25013F37)
File : 'AutosndLPC1758.hex' -Loaded
Load Address: 00000000
Run Address Found: 000052A5
End of File
Image size: 28884. Data Aligned to 4096 Bytes (28884->32768)
Code Protect: CRP2 Enabled
Sector 00
Wrong answer on Erase-Command (Sector 0)
Error:
Press AnyKey to Exit


При указании директивы -detect сигнатура успешно считывается. В момент запуска уровень crp2 уже стоял на чипе, возможно, в этом-то и заключается проблема. На "чистом" чипе пока проверить не могу.
Помимо прочего, еще один непрятный момент. Выполнение идет слишком долго, между стадиями "вхождение в бутлоадер", "чтение ID чипа" и, собственно, "начала прошивки" наблиюдаются паузы от 15 до 25 секунд.

ОС: Windows 7

P.S. Благодарю за программку. Прошивку с помощью ком. строки нахожу весьма удобным. Вот только довести бы ее до ума. rolleyes.gif

Update: Указал директиву -fullerase - прошивка налалась. Но шьет ооооочень долго, в час по чайной ложке. sad.gif
Ячейка CRP размеслилась неверно, для lpc17xx адрес - 2FC.
zltigo
Цитата(bseyur @ May 30 2010, 08:46) *
При указании директивы -detect сигнатура успешно считывается. В момент запуска уровень crp2 уже стоял на чипе, возможно, в этом-то и заключается проблема.

Да в этом. Надо стирать перед программированием.
Цитата
Update: Указал директиву -fullerase - прошивка налалась.

Так и задумывалось smile.gif
Цитата
Но шьет ооооочень долго, в час по чайной ложке. sad.gif

Для начала уберите указание частоты кварца - оно неверное - загрузчик LPC1xxx работает на внутреннем 14.746MHz она и стоит по
умолчанию. -ctrl и боды тоже по умолчанию указанным Вами соответствуют.
На Win7 не работаю, но вроде никто на скорость не жаловался. Завтра на работе возьму ноутбук с семеркой и посмотрю сам. Вообще там голый WinAPI - трудно что-нибудь неправильно написать. Есть только маленький прибамбасик с увеличением размеров буферов (это не для целей LPC загрузчика ) который идет только на NT-образных Win - для этого введено определение версии Win.
Цитата
Ячейка CRP размеслилась неверно, для lpc17xx адрес - 2FC.

Ой! Прсмотрел sad.gif в документации. Исправленная версия в приложении.

Цитата(bseyur @ May 30 2010, 08:46) *
Лог-файл отсутствует (не нашел нигде), поэтому привожу вывод командной строки:

Лог файл это терминальный и он таки создается в текущей директории, или где укажете, но лога загрузки в нем нет. Надо sad.gif переназначить вывод.
bseyur
Цитата(zltigo @ May 30 2010, 14:57) *
Для начала уберите указание частоты кварца - оно неверное - загрузчик LPC1xxx работает на внутреннем 14.746MHz она и стоит по
умолчанию. -ctrl и боды тоже по умолчанию указанным Вами соответствуют.

Сделал в соответствии с Вашими рекомендациями. Проблема со скоростью осталась...
Картина такая. На платке-программаторе стоят светодиоды, которые загораются во время передачи данных. Во время отправки очередной порции светодиоды моргнут, затем пауза в примерно пол-минуты, затем снова и т.д. Не поленился проделать те же дейтвия на ноутбуке с WinXP - прошивается так же медленно. smile3046.gif Может, это как-то связано с типом процессора?
Прошивается программа верно, CRP заработал. После завершения прошивки команда запуска выполняется с ошибкой:
Цитата
Now launching <0052a5> the brand new code....Failed: Error:
Press AnyKey to Exit

И еще, Win7 определяется как версия 6.1. blink.gif Думаю, что это неправильно, т.к. обычно эти номером обозначается Vista. WinXP - 5.x соответственно.

Цитата(zltigo @ May 30 2010, 14:57) *
Лог файл это терминальный и он таки создается в текущей директории, или где укажете, но лога загрузки в нем нет. Надо sad.gif переназначить вывод.

Увы, лога нет ни в текущей директории (где находится hex-файл), ни в папке с at200.exe (к приложению обращаюсь через path), ни в корне...

Цитата(vallav @ May 30 2010, 15:25) *
...

bb-offtopic.gif
zltigo
Цитата(bseyur @ May 30 2010, 11:18) *
ноутбуке с WinXP - прошивается так же медленно. smile3046.gif

Ну тогда совсем не ведаю, что творится. Может кто еще попробует. Тогда хоть какое-то направление для мыслей появится.
Цитата
Тем не менее, прошивается программа верно. После завершения прошивки команда запуска выполняется с ошибкой:

А программа при этом запускается, или только после reset?
Что-то там со строкой ответа в этом загрузчике не то sad.gif
Давайте включим отладку. Делаем так:
Код
at200 COM6 -debug 4 -flash AutosndLPC1758.hex > debug.txt

Ждем.... ждем... сколько там у Вас все шьется и запускается. Прерываем и выкладываем сюда результат debug.txt
Цитата
И еще, Win7 определяется как версия 6.1. blink.gif Думаю, что это неправильно, т.к. обычно эти номером обозначается Vista. WinXP - 5.x соответственно.

Нет. Vista 6.0
http://msdn.microsoft.com/en-us/library/ms...3(v=VS.85).aspx

Цитата
Увы, лога нет ни...

Повторяю еще раз - лог для ТЕРМИНАЛЬНОГО ввда/вывода. Не для загрузчика. Для лога загрузчика переназначить вывод в файл, как
показано выше.
В приложении немножко подправленный AT200
P.S.
А вообще-то команду 'G' для Corteх после загрузки надо херить sad.gif. Указатель стека некому устанавливать,так что только в общем случае только через сброс. Для сброса, если нет доступа можно попробовать watchdog недокументированной командой 'T' запустить.
Но пока жду лога.
bseyur
Вот, пожалуйста...


Нажмите для просмотра прикрепленного файла
zltigo
Цитата(bseyur @ May 30 2010, 13:16) *
Вот, пожалуйста...

Отличный лог. Ругается ошибкой номер 13 (разборку ошибок совершенствую - будет показывать )
13: "Address is not on word boundary (ADDR_ERROR)"
Таки и действительно адрес для Corteх странный - нечетный. Сейчас сделаю
- сброс младшего бита адреса, похоже он лишний, ибо в команде "G" уже передаю ключик "Thumb"
- ключик для отключения команды "G" и замены ее на попытку сбросить (причины в предыдущем письме)
- допишу разборку ошибок, дабы ответы этого загрузчика тоже понимала и расшифровывала. И попробуем....
bseyur
Можно ведь просто ножкой DTR дернуть для сброса, как делается в FlashMagic... или это не вариант?
zltigo
Сделано. Версия 0.31.6
- Добавлен ключик `-reset`. Отменяет после загрузки переход по стартовому адресу указанному в HEX файле и делает аппаратный сброс.
Если нет поддержки апаратного сброса ( не -ctrl 1|3 ) то пытается задействовать watchdog (не документированная команда).
- Корректная разборка строк с кодами ошибок, и в том случае, если в строке отсутствуют пары CR/LF
- Обнуление младшего бита адреса в команде 'G' для Cortex

Цитата(bseyur @ May 30 2010, 14:03) *
Можно ведь просто ножкой DTR дернуть для сброса, как делается в FlashMagic... или это не вариант?

Вариант, если есть этот проводок smile.gif. Лично я обычно уже не использую - в пустой заливается свой загрузчик и все. Если что, то из вторичного загрузчика есть запуcк родного. Собственно по ключу -reset пытается сбросить всеми способами.
bseyur
Прошил. Собственно сброс состоялся, видел, как DTR дернулся.

Нажмите для просмотра прикрепленного файла
zltigo
Цитата(bseyur @ May 30 2010, 15:04) *
Прошил. Собственно сброс состоялся, видел, как DTR дернулся.

Дык самое итересное глянуть реакцию на G. Что будет без -reset.

Цитата(bseyur @ May 30 2010, 15:14) *
Знаю, сейчас пытаюсь создать эту ситуацию.

Ну если ситуация ушла, и G тоже заработало, то все относительно нормально, только надо помнить, что по G Вы до, например, старта приложения своим загрузчиком, или до установки стеков, например, операционной системой, работаете в стеке оставшемся от первичного загрузчика. Так-то сейчас хочу просто глянуть на исполнение команды и, пожалуй, надо закрыть это дело для Cortex.
bseyur
Цитата(zltigo @ May 30 2010, 20:27) *
Ну если ситуация ушла, и G тоже заработало, то все относительно нормально, только надо помнить, что по G Вы до, например, старта приложения своим загрузчиком, или до установки стеков, например, операционной системой, работаете в стеке оставшемся от первичного загрузчика. Так-то сейчас хочу просто глянуть на исполнение команды и, пожалуй, надо закрыть это дело для Cortex.


Да, G заработало, отсоединил аппаратный reset для надежности. Но для меня (при наличии сброса через DTR) это было не главное. Все же основная проблема в большом времени прошивки, непонятными паузами после каждой транзакции... sad.gif
Попробую завтра замутить тест на ARM7 - сообщу результат.

Нажмите для просмотра прикрепленного файла
zltigo
Цитата(bseyur @ May 30 2010, 15:42) *
Все же основная проблема в большом времени прошивки, непонятными паузами после каждой транзакции... sad.gif

А в каком месте присланного лога он "тормозит"? Что называете транзакцией?

P.S.
Кажется понял в чем дело. Загрузчик опять выдает чуть другой формат ответной строки и прием строки, например на передачу контрольной суммы отрабатывает у меня по 5 секундному таймауту. Сейчас вычитаю и постараюсь решить эту проблему с изменением формата раз и навсегда, а то уже у LPC23/24XX дважды меняли, блин. У кого там руки чешутся, местами то CR/LF, то CR, то LF распихивать и менять периодически. LPC железа под рукой у меня сейчас никакого нет, но попробую не сломать старое.

P.P.S.
Все. Версия 0.31.7 изменен подсчет ответных строк - понимает 4 формата smile.gif. Таймаут иcчез. bseyur проверил. Спасибо!
zuy
Попробовал для LPC1114. Простая прошивка длиной до одного сектора.
Вот такой лог получил:
Цитата
AT200/AES ISP/Terminal for LPC2/1000 V0.31.7 by I.Zalts. Windows 6.0
Erase all FLASH!
HEX file: [Ctrl+F9] loader_ipd3.hex
Serial Port: COM4 Baud: 115200
Oscilator: 12000KHz
Entering to LPCxxxx Bootloader -Ok
Bootcode: 7.0.0
Chip ID: LPC1114 32KB ROM/4KB SRAM Rev:201 (ID:71585835/0x0444502B)

Erased Sectors 0..7
File : 'loader_ipd3.hex' -Loaded
Linear Address: 00000000
Load Address: 00000000
Run Address Found: 000000C1
End of File
Image size: 3784. Data Aligned to 2048 Bytes (3784->4096)
CRC patched: EFFFF40F -> 00000000
Sector 00.................................................
Wrong answer on Copy-Command
Byte count is not multiple of 4 or is not a permitted value (COUNT_ERROR)
Press AnyKey to Exit

Я где-то накосячил, или в прошивальшике проблема?
FlashMagic прошивает этот же файл нормально.
zltigo
QUOTE (zuy @ Nov 12 2010, 23:00) *
Я где-то накосячил, или в прошивальшике проблема?
FlashMagic прошивает этот же файл нормально.

Умозрительно полагаю, что проблема такая: с одной стороны компилятор для Corteх совершенно справедливо может генерить прошивку кратную 16 битам а не 32. С другой стороны встроенный загрузчик по старой привычке ругается на размер не кратный 32. Видимо Magic этот момент патчит. Я сейчас в пути. Доберусь до дома - тоже сделаю заплаточку...

FPGA
Цитата(zltigo @ May 30 2010, 21:03) *
А в каком месте присланного лога он "тормозит"? Что называете транзакцией?

P.S.
Кажется понял в чем дело. Загрузчик опять выдает чуть другой формат ответной строки и прием строки, например на передачу контрольной суммы отрабатывает у меня по 5 секундному таймауту. Сейчас вычитаю и постараюсь решить эту проблему с изменением формата раз и навсегда, а то уже у LPC23/24XX дважды меняли, блин. У кого там руки чешутся, местами то CR/LF, то CR, то LF распихивать и менять периодически. LPC железа под рукой у меня сейчас никакого нет, но попробую не сломать старое.

P.P.S.
Все. Версия 0.31.7 изменен подсчет ответных строк - понимает 4 формата sm.gif. Таймаут иcчез. bseyur проверил. Спасибо!

Хотелось бы уточнить, версия 0.31.7 на сегодня последняя или есть обновления? Если есть, то где можно скачать свежую версию? Спасибо за ответ.
zltigo
QUOTE (FPGA @ Feb 21 2011, 05:00) *
Хотелось бы уточнить, версия 0.31.7 на сегодня последняя или есть обновления?

Есть, небольшие, в основном относящиеся не к режиму программирования через штатный загрузчик.
Крайняя - в приложении. Если есть какие проблемы-идеи - скажите.
FPGA
Цитата(zltigo @ Feb 21 2011, 11:55) *
Есть, небольшие, в основном относящиеся не к режиму программирования через штатный загрузчик.
Крайняя - в приложении. Если есть какие проблемы-идеи - скажите.

Спасибо, Zltigo! Если появятся мысли или проблемы, отпишусь в этой теме.
vmp
Подскажите, а есть утилита, которая позволяет шить в LPC17xx не HEX, а binary файл? Разумеется, в режиме командной строки.
zltigo
QUOTE (vmp @ Feb 28 2011, 18:31) *
Подскажите, а есть утилита, которая позволяет шить в LPC17xx не HEX, а binary файл? Разумеется, в режиме командной строки.

Там в терминале есть небольшой обработчик скрипта который позволяет в том числе заливать через вторичный загрузчик еще один формат похожий на HEX (больше блоки, дополнительные форматы и команды, CRC32, коммментарии,....):
CODE
// xxxxxx
// V0.53.1 xxxxxx
//----------------------------------------------------------------------------
$aesfile
:21289209DCEB68805D92E3687BB8ECBB01A336463B400F0AA0ECE00907B3F5CB7B94904.....
:212A4FB04073540F67DF36C753D559A21F3331B0E1D03C545BBC5862055447186F......

......

Но заливки сырых бинарников нет и не будет - за полной бесконтрольностью. Любой бинарный файл конвертируется в HEX c указанием стартового адреса и вперед..
vmp
Цитата(zltigo @ Feb 28 2011, 23:10) *
Но заливки сырых бинарников нет и не будет

Спасибо. На всякий случай, если кому-то еще понадобится - есть утилита lpc21isp, которая может шить и хексы, и бинарники.
http://sourceforge.net/projects/lpc21isp/
Шьет LPC17xx, в исходниках, собирается под линукс и под винды (MS Visual C).
zltigo
QUOTE (vmp @ Mar 1 2011, 10:24) *
Спасибо. На всякий случай, если кому-то еще понадобится - есть утилита lpc21isp....

Знаю, знаю пользовался ей до тех пор пока не http://electronix.ru/forum/index.php?showtopic=13201 потом еще были грабельки и я отправился в свободное плавание от исходников "Aeolus Development" которые использовал и создатель lpc21isp превратив их местами в кашу sad.gif. Но даже более важной причиной было желание иметь устраивающую меня консоль со скриптиками. На данный момент прошивка через штатный загрузчик LPC это необходимая, но побочная функция AT200.
HARMHARM
Попались в руки LPC11C14FBD48/301.
Код
Bootcode: 7.1.0
Chip  ID: Unknown Device (ID:339742763/0x1440102B)

Надпись на чипе:
Код
LPC11C14F
/301
S62102
ZSD10
121AY

Аналогичен LPC1114FBD48/301, добавлен только CAN-контроллер. Карта памяти такая же.

UPD: Кстати, у at200 в описании написано про Joker: -LPC2<XXX>... Хотя -LPС1114 тоже работает. Интересно, EM773 тоже так зашьется? cool.gif
zltigo
QUOTE (HARMHARM @ Jun 7 2011, 17:44) *
Попались в руки LPC11C14FBD48/301.

Добавил.
QUOTE
UPD: Кстати, у at200 в описании написано про Joker: -LPC2<XXX>... Хотя -LPС1114 тоже работает. Интересно, EM773 тоже так зашьется? cool.gif

Да, работает. Берутся 4 цифры после LPC. Описание оставшееся во времен только 2xxxx подправил.
HARMHARM
Цитата(HARMHARM @ Jun 7 2011, 17:44) *
Интересно, EM773 тоже так зашьется? cool.gif

Код
Bootcode: 7.0.0
Chip  ID: LPC1114 32KB ROM/8KB SRAM Rev:301 (ID:71569451/0x0444102B)

Надпись на чипе:
Код
EM773F
SN4370
ZSD10
160AY

zltigo
QUOTE (HARMHARM @ Jul 2 2011, 06:09) *
CODE
Bootcode: 7.0.0
Chip  ID: LPC1114 32KB ROM/8KB SRAM Rev:301 (ID:71569451/0x0444102B)

Ну если он распознается, как помянутый выше LPC, то не думаю, что сохранив идентификаторы зачем-то поменяли протокол загрузки. Может там чего закрыли, например, защитили еще какую-нибудь область, кроме собственно первичного бутового загрузчика. Но это все решается штатными средствами.
HARMHARM
Вероятно, я не ясно выразился. Все шьется и работает нормально. EM773 от LPC1114 отличается тем, что из одного из 16-битных таймеров и АЦП путем нехитрых манипуляций сделали электросчетчик. Работа с ним через библиотеку с закрытым исходным кодом, эта периферия не описана.
zuy
Цитата(zltigo @ Mar 1 2011, 12:13) *
Знаю, знаю пользовался ей до тех пор пока не http://electronix.ru/forum/index.php?showtopic=13201 потом еще были грабельки и я отправился в свободное плавание от исходников "Aeolus Development" которые использовал и создатель lpc21isp превратив их местами в кашу sad.gif. Но даже более важной причиной было желание иметь устраивающую меня консоль со скриптиками. На данный момент прошивка через штатный загрузчик LPC это необходимая, но побочная функция AT200.

Я правильно понял, что вы в основном используете АТ200 в связки со своим бутлоадером?
Если да, то какая максимальная скорость заливки у вас получилась?
У меня при скорости уарта 1 MBit/s примерно 20 КB/s прошивается.
zltigo
QUOTE (zuy @ Jul 3 2011, 18:48) *
Я правильно понял, что вы в основном используете АТ200 в связки со своим бутлоадером?

Да.
QUOTE
Если да, то какая максимальная скорость заливки у вас получилась?

Не помню. Кроме того, зависит от типа контроллера и от конкретного экземпляра, поскольку ограничивается она в том числе и скоростью записи во Flash - чувствуются паузы на запись, особенно между блоками памяти.
И это при том, что льется чаще всего шифрованный поток. Вторичный загрузчик, правда, обычно работает уже на полной тактовой частоте.
HARMHARM
Еще свежачок, LPC1114FBD48/302:
Код
Bootcode: 7.1.0
Chip  ID: Unknown Device (ID:624955435/0x2540102B)

Надпись на чипе:
Код
LPC1114F
/302
00.105
ZSD11
161B

Ага, вычитал в UM10398 (только отсутствующие в -list):
Код
0x2516 D02B = LPC1111FHN33/102
0x2516 902B = LPC1111FHN33/202
0x2524 D02B = LPC1112FHN33/102
0x2524 902B = LPC1112FHN33/202
0x2532 902B = LPC1113FHN33/202
0x2532 102B = LPC1113FHN33/302
0x2532 102B = LPC1113FBD48/302
0x2540 902B = LPC1114FHN33/202
0x2540 102B = LPC1114FHN33/302
0x2540 102B = LPC1114FBD48/302
0x2540 102B = LPC1114FA44/302
0x1421 102B = LPC11C12/FBD48/301
0x1431 102B = LPC11C22/FBD48/301
0X1430 102B = LPC11C24/FBD48/301
zltigo
QUOTE (HARMHARM @ Jul 14 2011, 17:52) *
Ага, вычитал в UM10398 (только отсутствующие в -list):

Семимильными шагами шагают sm.gif. Добавлю.
M_Andrey
Прошу помощи. Не могу прошить LPC1768 ни FlashMagic-ом ни AT200, через JTAG шьется нормально.

FlashMagic пишет:
Operation Failed. Failed to autobaud - step 1.
или
Unable to connect at the specified baud rate. (failed to autobaud - step 2) Reset the hardware into ISP mode again.

AT200:
Entering to LPCxxxx Bootloader -Ok
No answer on `Synchronized`
-Ok

COM-порт исправный, даже можно войти в бутлодер через терминалку.
При нажатии '?' пишет Synchronized. Правда потом пишет какую-то чушь, но если после неудачной связи через AT200 сразу войти в терминалку, то на '?' отвечает OK, на 'J' => 0<CR> 637615927<CR>, на 'K' => 0<CR> 2<CR> 4<CR>, на 'N' => 0<CR> 218960402<CR> 1397755043<CR> 1275760118<CR> 4110417920, на 'U 23130' => 0.

Вот лог работы программы (at200 com1 -debug 8 -LPC1768 -flash Eth_sw_24.hex -reset):

CODE
AT200/AES ISP/Terminal for LPC2000/1000 V0.32.1 by I.Zalts. Windows 5.1

Turn on debug level: 08

Joker: LPC1768

HEX file: [Ctrl+F9] Eth_sw_24.hex

Log output to:`at200log.txt`

Reset forced

Serial Port: COM1 Baud: 115200

Oscilator: 14746KHz

COM1 opened...

Entering to LPCxxxx Bootloader

DTR(1) RTS(1)

DTR(0) RTS(1)

DTR(0) RTS(0)

S(l= 1)'?'

R(l=14)'Synchronized(0D)(0A)'

A(l=14)'Synchronized(0D)(0A)'

-Ok

S(l=14)'Synchronized(0D)(0A)'

R(l= 8)'}(FF)_(FF)(FF)=-5'

R(l= 2)')(FF)'

A(l=10)'}(FF)_(FF)(FF)=-5)(FF)'

No answer on `Synchronized`

DTR(1) RTS(1)

DTR(0) RTS(1)

DTR(0) RTS(0)

S(l= 1)'?'

R(l=14)'Synchronized(0D)(0A)'

A(l=14)'Synchronized(0D)(0A)'

-Ok

S(l=14)'Synchronized(0D)(0A)'

R(l= 8)'}(FF)_(FF)(BF)=-5'

R(l= 2)')(FF)'

A(l=10)'}(FF)_(FF)(BF)=-5)(FF)'

No answer on `Synchronized`

DTR(1) RTS(1)

DTR(0) RTS(1)

DTR(0) RTS(0)

S(l= 1)'?'

R(l=14)'Synchronized(0D)(0A)'

A(l=14)'Synchronized(0D)(0A)'

-Ok

S(l=14)'Synchronized(0D)(0A)'

R(l= 8)'}(FF)_(FF)(FF)=-5'

R(l= 2)')(FF)'

A(l=10)'}(FF)_(FF)(FF)=-5)(FF)'

No answer on `Synchronized`

DTR(1) RTS(1)

DTR(0) RTS(1)

DTR(0) RTS(0)

S(l= 1)'?'

R(l=14)'Synchronized(0D)(0A)'

A(l=14)'Synchronized(0D)(0A)'

-Ok

S(l=14)'Synchronized(0D)(0A)'

R(l= 8)'(FE)(EF)(FF)(CF)(FF)(7F)(FF)(BF)'

R(l= 5)'z-5)(FF)'

A(l=13)'(FE)(EF)(FF)(CF)(FF)(7F)(FF)(BF)z-5)(FF)'

No answer on `Synchronized`

DTR(1) RTS(1)

DTR(0) RTS(1)

DTR(0) RTS(0)

S(l= 1)'?'

R(l=14)'Synchronized(0D)(0A)'

A(l=14)'Synchronized(0D)(0A)'

-Ok

S(l=14)'Synchronized(0D)(0A)'

R(l= 8)'(FE)(EF)(FF)(CF)(FF)(7F)(FF)(BF)'

R(l= 5)'}-5)(FF)'

A(l=13)'(FE)(EF)(FF)(CF)(FF)(7F)(FF)(BF)}-5)(FF)'

No answer on `Synchronized`

DTR(1) RTS(1)

DTR(0) RTS(1)

DTR(0) RTS(0)

S(l= 1)'?'

R(l=14)'Synchronized(0D)(0A)'

A(l=14)'Synchronized(0D)(0A)'

-Ok

S(l=14)'Synchronized(0D)(0A)'

R(l= 8)'(FE)(EF)(FF)(CF)(FF)(7F)(FF)(BF)'

R(l= 5)'z-5)(FF)'

A(l=13)'(FE)(EF)(FF)(CF)(FF)(7F)(FF)(BF)z-5)(FF)'

No answer on `Synchronized`

DTR(1) RTS(1)

DTR(0) RTS(1)

DTR(0) RTS(0)

S(l= 1)'?'

R(l=14)'Synchronized(0D)(0A)'

A(l=14)'Synchronized(0D)(0A)'

-Ok

S(l=14)'Synchronized(0D)(0A)'

R(l= 8)'}(FF)_(FF)(BF)=-5'

R(l= 2)')(FF)'

A(l=10)'}(FF)_(FF)(BF)=-5)(FF)'

No answer on `Synchronized`

DTR(1) RTS(1)

DTR(0) RTS(1)

DTR(0) RTS(0)

S(l= 1)'?'

R(l=14)'Synchronized(0D)(0A)'

A(l=14)'Synchronized(0D)(0A)'

-Ok

S(l=14)'Synchronized(0D)(0A)'

R(l= 8)'(FD)(EF)(FF)(CE)(FF)(7F)(FF)(BF)'

R(l= 5)'=-5)(FF)'

A(l=13)'(FD)(EF)(FF)(CE)(FF)(7F)(FF)(BF)=-5)(FF)'

No answer on `Synchronized`

DTR(1) RTS(1)

DTR(0) RTS(1)

DTR(0) RTS(0)

S(l= 1)'?'

R(l=14)'Synchronized(0D)(0A)'

A(l=14)'Synchronized(0D)(0A)'

-Ok

S(l=14)'Synchronized(0D)(0A)'

R(l= 8)'}(FF)_(FF)(FF)=-5'

R(l= 2)')(FF)'

A(l=10)'}(FF)_(FF)(FF)=-5)(FF)'

No answer on `Synchronized`

DTR(1) RTS(1)

DTR(0) RTS(1)

DTR(0) RTS(0)

S(l= 1)'?'

R(l=14)'Synchronized(0D)(0A)'

A(l=14)'Synchronized(0D)(0A)'

-Ok

S(l=14)'Synchronized(0D)(0A)'

R(l= 8)'(FD)(EF)(FF)(CE)(FF)(7F)(FF)(BF)'

R(l= 5)'=-5)(FF)'

A(l=13)'(FD)(EF)(FF)(CE)(FF)(7F)(FF)(BF)=-5)(FF)'

No answer on `Synchronized`

DTR(1) RTS(1)

DTR(0) RTS(1)

DTR(0) RTS(0)

S(l= 1)'?'

R(l=14)'Synchronized(0D)(0A)'

A(l=14)'Synchronized(0D)(0A)'

-Ok

S(l=14)'Synchronized(0D)(0A)'

R(l= 8)'}(FF)_(FF)(7F)(FF)(BF)='

R(l= 4)'-5)(FF)'

A(l=12)'}(FF)_(FF)(7F)(FF)(BF)=-5)(FF)'

No answer on `Synchronized`

DTR(1) RTS(1)

DTR(0) RTS(1)

DTR(0) RTS(0)

S(l= 1)'?'

R(l=14)'Synchronized(0D)(0A)'

A(l=14)'Synchronized(0D)(0A)'

-Ok

S(l=14)'Synchronized(0D)(0A)'

R(l= 8)'(FD)(FF)(FF)(CE)(FF)(7F)(FF)(BF)'

R(l= 5)'=-5)(FF)'

A(l=13)'(FD)(FF)(FF)(CE)(FF)(7F)(FF)(BF)=-5)(FF)'

No answer on `Synchronized`

DTR(1) RTS(1)

DTR(0) RTS(1)

DTR(0) RTS(0)

S(l= 1)'?'

R(l=14)'Synchronized(0D)(0A)'

A(l=14)'Synchronized(0D)(0A)'

-Ok

S(l=14)'Synchronized(0D)(0A)'

R(l= 8)'(FE)(EF)(FF)(CF)(FF)(7F)(FF)(BF)'

R(l= 5)'z-5)(FF)'

A(l=13)'(FE)(EF)(FF)(CF)(FF)(7F)(FF)(BF)z-5)(FF)'

No answer on `Synchronized`

DTR(1) RTS(1)

DTR(0) RTS(1)

DTR(0) RTS(0)

S(l= 1)'?'

R(l=14)'Synchronized(0D)(0A)'

A(l=14)'Synchronized(0D)(0A)'

-Ok

S(l=14)'Synchronized(0D)(0A)'

R(l= 8)'(FF)(EF)(FF)(CE)(FF)(7F)(FF)(BF)'

R(l= 5)'=-5)(FF)'

A(l=13)'(FF)(EF)(FF)(CE)(FF)(7F)(FF)(BF)=-5)(FF)'

No answer on `Synchronized`

DTR(1) RTS(1)

DTR(0) RTS(1)

DTR(0) RTS(0)

S(l= 1)'?'

R(l=14)'Synchronized(0D)(0A)'

A(l=14)'Synchronized(0D)(0A)'

-Ok

S(l=14)'Synchronized(0D)(0A)'

R(l= 8)'}(FF)(FF)(CE)(FF)(7F)(FF)(BF)'

R(l= 5)'=-5)(FF)'

A(l=13)'}(FF)(FF)(CE)(FF)(7F)(FF)(BF)=-5)(FF)'

No answer on `Synchronized`

DTR(1) RTS(1)

DTR(0) RTS(1)

DTR(0) RTS(0)

S(l= 1)'?'

R(l=14)'Synchronized(0D)(0A)'

A(l=14)'Synchronized(0D)(0A)'

-Ok

S(l=14)'Synchronized(0D)(0A)'

R(l= 8)'(FE)(EF)(FF)(CF)(FF)(7F)(FF)(BF)'

R(l= 5)'z-5)(FF)'

A(l=13)'(FE)(EF)(FF)(CF)(FF)(7F)(FF)(BF)z-5)(FF)'

No answer on `Synchronized`

DTR(1) RTS(1)

DTR(0) RTS(1)

DTR(0) RTS(0)

S(l= 1)'?'

R(l=14)'Synchronized(0D)(0A)'

A(l=14)'Synchronized(0D)(0A)'

-Ok

S(l=14)'Synchronized(0D)(0A)'

R(l= 8)'(FE)(EF)(FF)(CF)(FF)(7F)(FF)(BF)'

R(l= 5)'}-5)(FF)'

A(l=13)'(FE)(EF)(FF)(CF)(FF)(7F)(FF)(BF)}-5)(FF)'

No answer on `Synchronized`

DTR(1) RTS(1)

DTR(0) RTS(1)

DTR(0) RTS(0)

S(l= 1)'?'

R(l=14)'Synchronized(0D)(0A)'

A(l=14)'Synchronized(0D)(0A)'

-Ok

S(l=14)'Synchronized(0D)(0A)'

R(l= 8)'(FD)(EF)(FF)(CE)(FF)(7F)(FF)(BF)'

R(l= 5)'=-5)(FF)'

A(l=13)'(FD)(EF)(FF)(CE)(FF)(7F)(FF)(BF)=-5)(FF)'

No answer on `Synchronized`

DTR(1) RTS(1)

DTR(0) RTS(1)

DTR(0) RTS(0)

S(l= 1)'?'

R(l=14)'Synchronized(0D)(0A)'

A(l=14)'Synchronized(0D)(0A)'

-Ok

S(l=14)'Synchronized(0D)(0A)'

R(l= 8)'}(FF)(CF)(FF)(7F)(FE)(BF)='

R(l= 4)'-5)(FF)'

A(l=12)'}(FF)(CF)(FF)(7F)(FE)(BF)=-5)(FF)'

No answer on `Synchronized`

DTR(1) RTS(1)

DTR(0) RTS(1)

DTR(0) RTS(0)

S(l= 1)'?'

R(l=14)'Synchronized(0D)(0A)'

A(l=14)'Synchronized(0D)(0A)'

-Ok

S(l=14)'Synchronized(0D)(0A)'

R(l= 8)'}(FF)_(FF)(BF)=-5'

R(l= 2)')(FF)'

A(l=10)'}(FF)_(FF)(BF)=-5)(FF)'

No answer on `Synchronized`

-Failed



Press AnyKey to Exit




zltigo
QUOTE (M_Andrey @ Aug 18 2011, 18:05) *
Вот лог работы программы (at200 com1 -debug 8 -LPC1768 -flash Eth_sw_24.hex -reset):

Больше всего похоже, что у Вас проблемы с передачей UART от PC к контроллеру. Одиночный символ ? состоящий из почти всех '1' проходит, а поток символов без пауз уже нет - даже эхом возвращается мусор близкий к 0xFF. Что-то с уровнем '0' совсем не то sad.gif.
M_Andrey
Цитата(zltigo @ Aug 18 2011, 19:21) *
Больше всего похоже, что у Вас проблемы с передачей UART от PC к контроллеру. Одиночный символ ? состоящий из почти всех '1' проходит, а поток символов без пауз уже нет - даже эхом возвращается мусор близкий к 0xFF. Что-то с уровнем '0' совсем не то sad.gif .

Понятно, завтра возьмусь за осциллограф и паяльник.
M_Andrey
Все перепроверил UART0 нормально работает в обе стороны.
Такое ощущение что когда мк входит в бутлодер то скорость UART'а увеличивается раза в полтора и он просто не понимает команды.
zltigo
QUOTE (M_Andrey @ Aug 19 2011, 11:35) *
Такое ощущение что когда мк входит в бутлодер то скорость UART'а увеличивается раза в полтора и он просто не понимает команды.

В порядке шаманства сбросьте скорость до 9600. Просто посмотреть, что изменится.
QUOTE
Все перепроверил UART0

Как?
M_Andrey
Цитата(zltigo @ Aug 19 2011, 12:51) *
В порядке шаманства сбросьте скорость до 9600. Просто посмотреть, что изменится.

Да всяко уже пробовал - все скорости перебрал. Или Вы про -bldr 9600.
Цитата(zltigo @ Aug 19 2011, 12:51) *
Как?

В терминалке циклически кидал пачку символов ('U' = 01010101) и смотрел на ножке мк осциллом. Попробую тестовую прогу написать с эхом по UART'у. Отпишусь вечером.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.