реклама на сайте
подробности

 
 
9 страниц V  « < 3 4 5 6 7 > »   
Reply to this topicStart new topic
> LPC2368, (AT200 - Terminal/ISP for LPC2xxx/LPC1xxx)
IgorKossak
сообщение Feb 6 2010, 11:45
Сообщение #61


Шаман
******

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



zltigo, не сложно ли будет добавить семейство LPC17xx?
Возникла необходимость с ними работать.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 6 2010, 15:45
Сообщение #62


Гуру
******

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



Цитата(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, команды отличаются, может и что еще найду...


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 7 2010, 14:21
Сообщение #63


Гуру
******

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



Версия 0.31.1 - можно пробовать на кортексах.
- области RAM под буфера соответствует LPC1xxx
- запуск загруженного в LPC1xxx приложения в THUMB режиме
- контрольная сумма векторов для LPC1xxx в правильном месте
- до кучи еще LPC2109 и несколько экзотических romless добавлены.
Прикрепленные файлы
Прикрепленный файл  at200_311.rar ( 33.82 килобайт ) Кол-во скачиваний: 190
 


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 27 2010, 08:36
Сообщение #64


Гуру
******

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



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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
bseyur
сообщение May 30 2010, 06:46
Сообщение #65


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 8-01-07
Из: Томск
Пользователь №: 24 208



Попробовал, наконец, сегодня на 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.

Сообщение отредактировал bseyur - May 30 2010, 06:56
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 30 2010, 07:57
Сообщение #66


Гуру
******

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



Цитата(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 переназначить вывод.
Причина редактирования: Удалено приложение


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
bseyur
сообщение May 30 2010, 09:18
Сообщение #67


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 8-01-07
Из: Томск
Пользователь №: 24 208



Цитата(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

Сообщение отредактировал bseyur - May 30 2010, 09:23
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 30 2010, 10:04
Сообщение #68


Гуру
******

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



Цитата(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' запустить.
Но пока жду лога.
Причина редактирования: Убрана устаревшая версия


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
bseyur
сообщение May 30 2010, 11:16
Сообщение #69


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 8-01-07
Из: Томск
Пользователь №: 24 208



Вот, пожалуйста...


Прикрепленный файл  debug.txt ( 65.7 килобайт ) Кол-во скачиваний: 228


Сообщение отредактировал bseyur - May 30 2010, 11:26
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 30 2010, 11:33
Сообщение #70


Гуру
******

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



Цитата(bseyur @ May 30 2010, 13:16) *
Вот, пожалуйста...

Отличный лог. Ругается ошибкой номер 13 (разборку ошибок совершенствую - будет показывать )
13: "Address is not on word boundary (ADDR_ERROR)"
Таки и действительно адрес для Corteх странный - нечетный. Сейчас сделаю
- сброс младшего бита адреса, похоже он лишний, ибо в команде "G" уже передаю ключик "Thumb"
- ключик для отключения команды "G" и замены ее на попытку сбросить (причины в предыдущем письме)
- допишу разборку ошибок, дабы ответы этого загрузчика тоже понимала и расшифровывала. И попробуем....


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
bseyur
сообщение May 30 2010, 12:03
Сообщение #71


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 8-01-07
Из: Томск
Пользователь №: 24 208



Можно ведь просто ножкой DTR дернуть для сброса, как делается в FlashMagic... или это не вариант?

Сообщение отредактировал bseyur - May 30 2010, 12:04
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 30 2010, 12:27
Сообщение #72


Гуру
******

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



Сделано. Версия 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 пытается сбросить всеми способами.
Причина редактирования: Удалена промежуточная версия


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
bseyur
сообщение May 30 2010, 13:04
Сообщение #73


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 8-01-07
Из: Томск
Пользователь №: 24 208



Прошил. Собственно сброс состоялся, видел, как DTR дернулся.

Прикрепленный файл  debug.txt ( 65.79 килобайт ) Кол-во скачиваний: 228
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 30 2010, 13:11
Сообщение #74


Гуру
******

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



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

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

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

Ну если ситуация ушла, и G тоже заработало, то все относительно нормально, только надо помнить, что по G Вы до, например, старта приложения своим загрузчиком, или до установки стеков, например, операционной системой, работаете в стеке оставшемся от первичного загрузчика. Так-то сейчас хочу просто глянуть на исполнение команды и, пожалуй, надо закрыть это дело для Cortex.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
bseyur
сообщение May 30 2010, 13:42
Сообщение #75


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 8-01-07
Из: Томск
Пользователь №: 24 208



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


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

Прикрепленный файл  debug.txt ( 65.67 килобайт ) Кол-во скачиваний: 244
Go to the top of the page
 
+Quote Post

9 страниц V  « < 3 4 5 6 7 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 21:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01521 секунд с 7
ELECTRONIX ©2004-2016