Page 1 of 4

NXP LPC17xx series

PostPosted: 10 Dec 2012, 19:48
by KOE
Кто-нибудь работал с сабжевыми девайсами (Cortex-M3)? Обнаружилась пару дней назад интересная особенность. В процессе написания вторичного бутлоадера для автоматического обновления device firmware при попытке прошить firmware, скомпилированное в адрес, отличный от 0x00000000, контроллер умирает и перестает отзываться на jtag/swd. Проверено на 2-х экземплярах. Вернуть к жизни пока не удалось ни один. Причем эффект наблюдается тлько при заливании firmware средствами keil через драйвера segger, если заливать софтом от segger-а, все нормально. Работа исключительно внутри user flash, повреждение чего-либо вне юзер-области исключено (хотя там кроме основного бутлоадера и ничего нет, но он находится совершенно в других адресах, залочен от стирания и ремаппится при старте). Что делать - пока хз.

Re: NXP LPC17xx series

PostPosted: 11 Dec 2012, 09:08
by TS-Labs
Наблюдалось, что Кайл общается с МК через SWD в "рекомендательном" порядке, например, проц может проскочить команду при дебаге, а кайл уже узнает о новом адресе постфактум. Создается ощущение, что если хорошо завесить проц на старте - свд отрубится.
Основной бутлоадер при закорачивании BOOTx лапок что ли не работает?

Re: NXP LPC17xx series

PostPosted: 11 Dec 2012, 18:59
by KOE
После попытки стереть флеш через UART с помощью первичного бутлоадера проблема решилась. И jtag, и swd заработали. Как выяснилось, в серии lpc17xx функционирование jtag зависит от программных настроек, вроде даже вплоть до цепей тактирования и плл. И проблема со случайным вырубанием джтага из-за пеправильных настроек или из-за размещения кода с настроками не в том месте чуть ли не у половины пользователей. Понравился комент юзера на форуме техподдержки NXP http://www.lpcware.com/content/forum/jt ... mment-1253

Hi Kevin, my problem is similar but I've design a my micro board with the LPC1788 in BGA package ..... in my design I've not connect the ISP because it is not necessary to my application, and now the P2.10 pin is alone under the BGA. Now I've only an other board before the revision. I'm really frustrated. Is really not a good feature the disconnection of the JTAG when the processor hang. None has tell me that is necessary to carry out the ISP pin! This should be the first raccomandation on the data sheet or user manual! I'm very disappointed, I don't know if I'll continue the design of my product with such processor...


Типа чел не вывел пин, отвечающий за включение обмена через UART в первичном бутлоадере, а девайс - БГА.

Re: NXP LPC17xx series

PostPosted: 11 Dec 2012, 19:15
by KOE
TS-Labs wrote:что Кайл общается с МК через SWD в "рекомендательном" порядке, например, проц может проскочить команду при дебаге, а кайл уже узнает о новом адресе постфактум.

На J-link я такого не замечал. Все четко. Был глюк с дебаггером в версии mdk 4.21 - ставишь брейкпоинт, а кейл может намертво зависнуть, только ctrl-alt-del спасали. В mdk 4.60 глюк исправили.

Re: NXP LPC17xx series

PostPosted: 12 Dec 2012, 13:20
by TS-Labs
KOE wrote:На J-link я такого не замечал.

ST-Link2

Re: NXP LPC17xx series

PostPosted: 12 Dec 2012, 17:24
by KOE
TS-Labs wrote:ST-Link2

Копирастный или копипижженный?

Re: NXP LPC17xx series

PostPosted: 12 Dec 2012, 17:57
by TS-Labs
Приделанный на плате stm32f4discovery.

Re: NXP LPC17xx series

PostPosted: 12 Dec 2012, 18:01
by KOE
TS-Labs wrote:Приделанный на плате stm32f4discovery.

А прошивку к нему дают?

Re: NXP LPC17xx series

PostPosted: 12 Dec 2012, 19:23
by deathsoft
KOE wrote:А прошивку к нему дают?

Прошивка в составе кеила идет, ст-линк ее сам умеет апгрейдить (ну и видимо можно выдрать ее из проги которая апгрейдит прошивку, а схема самого ст-линка есть в пдфке на дискавери).

Re: NXP LPC17xx series

PostPosted: 12 Dec 2012, 21:22
by TS-Labs
deathsoft wrote:ну и видимо можно выдрать ее из проги которая апгрейдит прошивку

Уверен? А если она ксоренная, а внутри в лоадере расксорка? А я уверен что так и есть.