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

 
 
> LPC1112FD/102 не входит в режим программирования
Pat
сообщение Nov 5 2014, 21:23
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 27-05-05
Из: Энергодар
Пользователь №: 5 480



Здравствуйте.

Суть проблеммы.
Есть софт не мой разбираюсь с ним.
Проект сделан LPCXpresso.

Решил подключить МК LPC1112 к отладчику.
Попробовал к ST-Link2 в принципе все получилось.
Вначале в IAR соэдал тестовый проектик залил в контроллер посредством St-Link.
Все работает шагает.

Потом в LPCXpresso настроил связку openOcd - GDB.
Немного конечно пришлось пошаманить, но в итоге тоже все завелось.
Контроллер шъется правда через раз и пошагать можно.

Все работало до первого отключения питания, после чего openOcd перестал опозновать плату.

Плат с LPC1112 у меня несколько подключил вторую ну и тот же результат.

Что это может быть защита установилась?
С софтом еще до конца не разобрался да и МК для меня новый.

Есть ли возможность вернуть микроконтроллер к жизни через SWD.
Можно ли ему сделать полное стирание?

Лазил осцилографом, обнаружил, при входе в отладку, отладчик дергает RESET а он в 0 не ложится, какой то третьий уровень висит.

Буду благодарен советам.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение Nov 6 2014, 18:57
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Вот, из сегодняшней рассылки:

Цитата
The solution is to add connect_assert_srst to your reset_config, then OpenOCD will assert reset before and during examination and you get control with the chip halted at the reset vector.



--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Pat
сообщение Nov 7 2014, 18:53
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 27-05-05
Из: Энергодар
Пользователь №: 5 480



Цитата(Сергей Борщ @ Nov 6 2014, 20:57) *
Вот, из сегодняшней рассылки:


Нет не помогло.
Я читал, читал и вычитал wink.gif.
Разобрался однако.

Так по порядку.

Источник проблеммы был в следующем.
Чип был закрыт.
Закрываются он прикольно при помощи скрипта линкера.

Нужна всего одна строчка в коде вот так

__CRP const unsigned int CRP_WORD = CRP_CRP2;

// Disables SWD debugging & JTAG, leaves UART ISP with with only full erase
// enabled. You must have UART access and FlashMagic before setting this
// option.
// Don't even try this without these tools; most likely the SWD flash
// programming will not even complete.
#define CRP_CRP2 0x87654321

Другими словами у меня был отключен SWD и соответсвенно openOcd чип не видел.

Интересно следующее, в ходе моих экспирементов я подключился через JLink и JFlashARM чип увидел.
Но ничего сделать не смог.

Мои заключения закончились когда я выкачал Flash Magiс и через ISP стер LPC1112.

Вроде как все заработало.

Теперь, следующая проблемма моя связка LPCXpreso->openOcd очень криво работает.
Чип вроде как шъется но почему то становится на адрес в boot ROM.
Причем это вечный цикл.

Но иногда он и нормально отрабатывает.

Ладно копаем дальше.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 7 2014, 21:29
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Pat @ Nov 7 2014, 20:53) *
Чип вроде как шъется но почему то становится на адрес в boot ROM.
Так это же просто:
Цитата
The bootloader code is executed every time the part is powered on or reset. The loader
can execute the ISP command handler or the user application code. A LOW level after
reset at the PIO0_1 pin is considered as an external hardware request to start the ISP
command handler either via UART or C_CAN, if present.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Pat
сообщение Nov 13 2014, 21:38
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 27-05-05
Из: Энергодар
Пользователь №: 5 480



Цитата(Сергей Борщ @ Nov 7 2014, 23:29) *
Так это же просто:


В том то и дело программа там висит и не хочет ...

Что то замучился я.
ИАР шъет LPC1112 без вопросов.
Остальное никак не могу запустить.
Особенно связку gdb - openocd.

opendocd вроде как подключается вот лог
Код
C:\openocd>openocd.exe  -f debug_lpc1112.cfg
Open On-Chip Debugger 0.6.0-dev-00550-g4257cb7-dirty (2012-06-05-17:01)
Licensed under GNU GPL v2
For bug reports, read
         http://openocd.sourceforge.net/doc/doxygen/bugs.html
Info : OpenOCD runs in SWD mode
1000 kHz
adapter_nsrst_delay: 100
jtag_ntrst_delay: 100
10 kHz
adapter_nsrst_delay: 200
cortex_m3 reset_config sysresetreq
Info : Versaloon(0x15)by Simon(compiled on Nov  9 2013)
Info : USB_TO_XXX abilities: 0x0000176E:0x010001EF:0xC0000007
Info : clock speed 10 kHz
Info : lpc1112.cpu: hardware has 4 breakpoints, 2 watchpoints
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0xc1000000 pc: 0x1fff0040 msp: 0x10000ffc


Тут подключаюсь через адаптер Versaloon.
Но это не важно с другими адаптерами та же песня.

Причем только смог подключится через openOcd-0.6.0
восьмерка не захотела работать ругаясь на транспорт swd

Может есть у кого рабочие файлы скриптов для LPC1112?
Дайте если не жалко.

И почему openocd-0.8 не работает?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 25th August 2025 - 05:15
Рейтинг@Mail.ru


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