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

 
 
 
Reply to this topicStart new topic
> LPC2368+ISP, Что получилось в итоге
HARMHARM
сообщение Aug 28 2007, 18:20
Сообщение #1


читатель даташитов
****

Группа: Свой
Сообщений: 853
Регистрация: 5-11-06
Из: Днепропетровск
Пользователь №: 21 999



Все началось с того, что где-то с неделю назад пришел прототип устройства, в котором решил применить LPC2368. Пару дней настраивал блок питания, потом решил взяться за контроллер.
Для начала решил использовать проверенное решение - простецкий преобразователь RS-232 <> UART на основе 74ACT14 - такой делал для BSL в MSP430. Решил сразу делать с гальваноразвязкой, ибо потенциал в устройстве может быть большой.
Оказалось, что больше 2 мА так просто из RS-232 не получить (а я-то надеялся). На ACT14 хватает - на ADUM нет. Пришлось подключать внешнее питание, и все заработало. Впрочем как-то не слишком здорово. Прошить на скорости больше 19200 не удавалось. К тому же в процессе игр сжег в LPC вход RESET. smile.gif
В итоге мне надоело играться в игры и я пошел другим путем. По совету коллеги поставил FT232R, пару тех же ADUM. Сделал за день платку - запустилось с первого раза. Что имеем: гальванически развязанный ISP для LPC с управлением RESET и ISP (P2.10). Прошивает устойчиво на скорости 230400 (при условии хорошего USB кабеля).
Схему, PCB и перечень прилагаю - вдруг кому-нибудь пригодится. Распиновку ISP header взял отсюда, показалось разумным.
Хочу выразить большую благодарность Zltigo за его лоадер - удобная и мощная программа. Сразу фичреквест - было бы неплохо сделать отпускание ISP как во Flash Magic. То есть ISP(P2.10 или P0.14) устанавливается в 0, затем RESET. Я отлаживал обмен с помощью detect, слегка неудобно сбрасывать питание каждый раз (а может я к тому времени уже сжег RESET smile.gif ). Кстати, Flash Magic еще позволяет удерживать RTS (ISP) во время всего цикла программирования, полезно если устройство питается от RS232 (как я в начале планировал). Хотя это все не важно - и так отлично работает.
Замечу, что окрытый сток/коллектор как в Aeolus использовать не стал. На EINT0# у меня ничего больше нет, а RESET мне удобнее иметь КМОП чтоб задавить внешнюю ресетницу на LPC. Ресетница - это такая плохая привычка со времен MSP430F149 twak.gif
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  ARMISP.RAR ( 37.91 килобайт ) Кол-во скачиваний: 219
 
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 28 2007, 19:29
Сообщение #2


Гуру
******

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



Цитата(HARMHARM @ Aug 28 2007, 21:20) *
То есть ISP(P2.10 или P0.14) устанавливается в 0, затем RESET.

Или я чего-то не понимаю, или так оно и работает.
Дополнительно есть еще режим ( -main ), когда "ISP" опускается уже после сброса и пролета мимо загрузчика, он используется у меня для входа своеобразный отладочный режим, когда устройство инициализируется и запускает задачи по минимуму.
Собственно я работу со штатным загрузчиком использую обычно только один раз smile.gif, для зашивания собственного загрузчика. Дальше уже работаю с ним и без использования RTS и DTR для входа в загрузчик - все с консоли. Аварийный вход в свой загрузчик - по перемычке на JTAG, а уж из своего загрузчика можно и штатный запустить.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
lebiga
сообщение Aug 28 2007, 20:09
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 163
Регистрация: 22-06-06
Из: Киев
Пользователь №: 18 292



Цитата(HARMHARM @ Aug 28 2007, 22:20) *
Хочу выразить большую благодарность Zltigo за его лоадер - удобная и мощная программа.

Хм, кажется что-то пропустил... Поискал по форуму - не нашел.
Этот лоадер выкладывался для всех или это коммерческий продукт? Если нет - можно ссылку или на почту? smile.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 28 2007, 20:27
Сообщение #4


Гуру
******

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



Цитата(lebiga @ Aug 28 2007, 23:09) *
Этот лоадер выкладывался для всех или это коммерческий продукт? Если нет - можно ссылку или на почту? smile.gif

Для всех, только без исходников - там уже много "лишнего" smile.gif
Выкладывался хаотично в разных ветках 'по случаю'. Можно поискать по AT200. Свежие буду выкладывать здесь:
http://electronix.ru/forum/index.php?showt...94&hl=at200


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
HARMHARM
сообщение Aug 28 2007, 21:01
Сообщение #5


читатель даташитов
****

Группа: Свой
Сообщений: 853
Регистрация: 5-11-06
Из: Днепропетровск
Пользователь №: 21 999



Цитата(zltigo @ Aug 28 2007, 22:29) *
Или я чего-то не понимаю, или так оно и работает.

Я не совсем ясно выразился; в принципе, замечание касается только режима detect, выход из загрузчика после этого не происходит. Завтра попробую найти в мануале на FlashMagic подробное описание. В целом это все ерунда и не важно smile.gif
Если не секрет, расскажите вкратце про свой загрузчик - вы переписываете в памяти загрузчик от NXP? А как вы предотвращаете запуск штатного загрузчика - краем уха слышал что бывают у NXP хмм... ошибки в загрузчике... А еще очень интересно какие функции вы заложили в Вашу отладочную консоль - чувствую, тоже придется писать что-то подобное...

P.S. про ключ -main тоже интересное решение, я думал о чем-то подобном... Инструкцию бы чуток подробней biggrin.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 28 2007, 21:51
Сообщение #6


Гуру
******

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



Цитата(HARMHARM @ Aug 28 2007, 23:52) *
Я не совсем ясно выразился; в принципе, замечание касается только режима detect, выход из загрузчика после этого не происходит.

Кажется понял - отресетить после получения информации? Кажется действительно не сделано. Посмотрю.
Цитата
Если не секрет, расскажите вкратце про свой загрузчик.

Грузит AES шифрованные, а если не стоит защита, то и обычные HEX файлы. Командная стока - загрузка/запуск приложений/переход в штатный загрузчик. В нем-же обработчик exceptions c распечаткой ситуации. Если не стоит защита то с памятью и периферией можно покопаться.
Цитата
А еще очень интересно какие функции вы заложили в Вашу отладочную консоль - чувствую, тоже придется писать что-то подобное...

Ну это уже в приложении и абсолютно подчинено конкретной задаче.



Цитата(HARMHARM @ Aug 29 2007, 00:01) *
P.S. про ключ -main тоже интересное решение, я думал о чем-то подобном... Инструкцию бы чуток подробней biggrin.gif

Все просто. Запускается собственно программа и после минимальной инициализации железа и, естественно, консоли опрашивает в течении некоторого времени состояние DTR, если активировано, то дальнейшая инициализация и запуск задач прекращается.




Цитата(HARMHARM @ Aug 29 2007, 00:01) *
вы переписываете в памяти загрузчик от NXP?

Нет. Свои 8K.
Цитата
А как вы предотвращаете запуск штатного загрузчика - краем уха слышал что бывают у NXP хмм... ошибки в загрузчике...

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


Добавил импульс сброса, после исполнения -detect теперь не остается в загрузчике, если, конечно есть что-то кроме загрузчика smile.gif. Еще руки как-то не доходили раньше, сделал повтор ввода командной строки.
Какие еще мелкие пожелания будут?
Может у кого есть ID для отсуствующих чипов?
То, что сейчас знает AT200:
Код
  { 0x0004FF11, 2103,  32,  8,  8, 4096, SectorTable_213x },
  { 0xFFF0FF12, 2104, 128, 16, 15, 8192, SectorTable_210x },
  { 0xFFF0FF22, 2105, 128, 32, 15, 8192, SectorTable_210x },
  { 0xFFF0FF32, 2106, 128, 64, 15, 8192, SectorTable_210x },
  { 0x0101FF12, 2114, 128, 16, 15, 8192, SectorTable_211x },
  { 0x0201FF12, 2119, 128, 16, 15, 8192, SectorTable_211x },
  { 0x0101FF13, 2124, 256, 16, 17, 8192, SectorTable_212x },
  { 0x0201FF13, 2129, 256, 16, 17, 8192, SectorTable_212x },
  { 0x0002FF01, 2131,  32,  8,  8, 4096, SectorTable_213x },
  { 0x0002FF11, 2132,  64, 16,  9, 4096, SectorTable_213x },
  { 0x0002FF12, 2134, 128, 16, 11, 4096, SectorTable_213x },
  { 0x0002FF23, 2136, 256, 32, 15, 4096, SectorTable_213x },
  { 0x0002FF25, 2138, 512, 32, 27, 4096, SectorTable_213x },
  { 0x0402FF01, 2141,  32,  8,  8, 4096, SectorTable_213x },
  { 0x0402FF11, 2142,  64, 16,  9, 4096, SectorTable_213x },
  { 0x0402FF12, 2144, 128, 16, 11, 4096, SectorTable_213x },
  { 0x0402FF23, 2146, 256, 40, 15, 4096, SectorTable_213x },
  { 0x0402FF25, 2148, 512, 40, 27, 4096, SectorTable_213x },
  { 0x0301FF13, 2194, 256, 16, 17, 8192, SectorTable_212x },
  { 0x0301FF12, 2210,   0, 16,  0, 8192, SectorTable_211x },     
  { 0x0401FF12, 2212, 128, 16, 15, 8192, SectorTable_211x },
  { 0x0601FF13, 2214, 256, 16, 17, 8192, SectorTable_212x },
  { 0x0401FF13, 2292, 256, 16, 17, 8192, SectorTable_212x },
  { 0x0501FF13, 2294, 256, 16, 17, 8192, SectorTable_212x },
// V0.23.1 added
  { 0x0603FB02, 2364, 128, 8 , 11, 4096, SectorTable_213x },
  { 0x0603FB23, 2366, 256, 32, 15, 4096, SectorTable_213x },
  { 0x0603FB25, 2368, 512, 32, 27, 4096, SectorTable_213x },
  { 0x0703FF25, 2378, 512, 32, 27, 4096, SectorTable_213x },
  { 0x0503FF35, 2458, 512, 64, 27, 4096, SectorTable_213x },
  { 0x0603FF35, 2468, 512, 64, 27, 4096, SectorTable_213x },


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
HARMHARM
сообщение Aug 29 2007, 05:10
Сообщение #7


читатель даташитов
****

Группа: Свой
Сообщений: 853
Регистрация: 5-11-06
Из: Днепропетровск
Пользователь №: 21 999



Zltigo, спасибо за подробный ответ! Ждем новых версий AT200 smile.gif

Почитал новый даташит 1.05 для LPC23xxx. Вычитал - добавили строчку:
Цитата
The VBAT pin must be powered with 3.3 V for the RESET pin to detect external signal
existence and/or activity.

Ну, изобретатели! Опять кто-то напутал twak.gif
У меня VBAT поключен к GND - как рекомендовали там же в даташите, и естественно под контроллером smile.gif Может и RESET жив.
Цитата
If the RTC is used, VBAT must be connected to either pin VDD(3V3) or an independent
power supply (external battery). Otherwise, VBAT should be tied to the ground (VSS).

Я использую внешний PCF8563 как часы/календарь - ест меньше току и есть бит PowerGood...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 29 2007, 11:03
Сообщение #8


Гуру
******

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



Цитата(HARMHARM @ Aug 29 2007, 08:10) *
Ждем....

Тут: http://electronix.ru/forum/index.php?showt...mp;#entry288570


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
HARMHARM
сообщение Aug 29 2007, 16:36
Сообщение #9


читатель даташитов
****

Группа: Свой
Сообщений: 853
Регистрация: 5-11-06
Из: Днепропетровск
Пользователь №: 21 999



Перепаял VBAT, подключил к 3V3 - RESET заработал. Противно.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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