|
LPC1549 в ISP режиме, не корректно выходит |
|
|
|
Feb 12 2016, 14:26
|
Местный
  
Группа: Свой
Сообщений: 435
Регистрация: 12-09-07
Пользователь №: 30 482

|
Изучаю МК LPC1549 на демо плате LPCXpresso V2 Boards, IDE LPCXpresso. Разбираюсь с режимом работы в ISP, связь МК с ПК по CAN. Переход в ISP осуществляется из функции main() с помощью IAP команды: Код Chip_IAP_ReinvokeISP(BOOT_CAN);//invoke ISP CAN Param0: ISP mode. 3 = C_CAN ISP Счытываю тип прибора, идентификационный номер (не записываю ни во Flash ни в RAM). Обмен виден утилитой USB-CAN моста. Потом выхожу из ISP в приложение командой «Go». Команда отрабатывается, но МК куда то улетает, а нужно в начало пользовательського приложения. Что я делаю не так?
|
|
|
|
|
 |
Ответов
|
Feb 12 2016, 17:22
|

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

|
QUOTE (kolisnichenko_r @ Feb 12 2016, 16:26)  Изучаю МК LPC1549 на демо плате LPCXpresso V2 Boards, IDE LPCXpresso. Разбираюсь с режимом работы в ISP, связь МК с ПК по CAN. Переход в ISP осуществляется из функции main() с помощью IAP команды: CODE Chip_IAP_ReinvokeISP(BOOT_CAN);//invoke ISP CAN Param0: ISP mode. 3 = C_CAN ISP Счытываю тип прибора, идентификационный номер (не записываю ни во Flash ни в RAM). Обмен виден утилитой USB-CAN моста. Потом выхожу из ISP в приложение командой «Go». Команда отрабатывается, но МК куда то улетает, а нужно в начало пользовательського приложения. Что я делаю не так? А что Вы считаете "началом приложения"? Ну а в общем случае Вы по "Go" кортекс M3 не запустите  . Попытка сляпать "никакой" startup увенчалась "успехом' в результате которого в стартапе нет, например, явной установки стека. Если в начале Вашего приложения лично Вы не добавили инициализацию, то по Go улетите. Про младший бит адреса помните?
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Feb 12 2016, 19:50
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(zltigo @ Feb 12 2016, 23:22)  А что Вы считаете "началом приложения"? Ну а в общем случае Вы по "Go" кортекс M3 не запустите  . Попытка сляпать "никакой" startup увенчалась "успехом' в результате которого в стартапе нет, например, явной установки стека. Если в начале Вашего приложения лично Вы не добавили инициализацию, то по Go улетите. Про младший бит адреса помните? У Вас видно старая версия FlashMagic-а. Последние умеют переходить по содержимому начала таблицы векторов (есть там чекбокс соответствующий). А сама идея конечно бредовая, можно наверное трусы и через голову надевать, но есть более традиционные методы. И товарищ, с большой долей вероятности, не задумался в каком состоянии находится периферия в момент сего перехода, и как написан его код инициализации периферии, переварит-ли он недефолтные значения в её регистрах. Но если всё-таки хочется трусы через голову, то можно например посоветовать ему написать функцию, дёргающую аппаратный сброс (например через WDT), слинковать её на фиксированный адрес и передавать сей адрес команде Go. Так есть шанс не застрять ушами в трусах.
|
|
|
|
|
Feb 13 2016, 07:24
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(zltigo @ Feb 13 2016, 01:58)  У меня свой терминал-программатор  . Он извлекает точку входа из HEX формата. Но старт все равно для M3 не работает по причине того, что стек сбит что значит "сбит"? Очевидно, что если например FlashMagic умеет делать переход по таблице векторов прерываний (считать адрес перехода из вектора сброса), то он должен и SP выставить по содержимому таблицы векторов. Цитата(kolisnichenko_r @ Feb 13 2016, 02:50)  На счет идеи, если больше нету связи кроме как CAN и дергать питанием тоже нельзя. Использовать ISP как раз когда можно в него перейти с работающей программы переписать код и потом в новую вернуться. ... А с чего начать? Начать Вам надо с открытия юзермануала и прочтения разделов "IAP" (прошивка флешь) и WDT (аппаратный сброс после обновления ПО). ISP тут совсем не к месту.
|
|
|
|
Сообщений в этой теме
kolisnichenko_r LPC1549 в ISP режиме Feb 12 2016, 14:26 kolisnichenko_r Цитата(zltigo @ Feb 12 2016, 21:22) А что... Feb 12 2016, 18:56  zltigo QUOTE (kolisnichenko_r @ Feb 12 2016, 20... Feb 12 2016, 19:47   kolisnichenko_r Цитата(zltigo @ Feb 12 2016, 22:47) Ой, к... Feb 12 2016, 20:31    zltigo QUOTE (kolisnichenko_r @ Feb 12 2016, 22... Feb 12 2016, 20:43    zltigo QUOTE (jcxz @ Feb 13 2016, 09:24) что зна... Feb 13 2016, 15:59     jcxz Цитата(zltigo @ Feb 13 2016, 21:59) Остал... Feb 14 2016, 16:39      zltigo QUOTE (jcxz @ Feb 14 2016, 18:39) Ну нет,... Feb 14 2016, 17:13  kolisnichenko_r Цитата(jcxz @ Feb 12 2016, 22:50) У Вас в... Feb 12 2016, 20:50   zltigo QUOTE (kolisnichenko_r @ Feb 12 2016, 22... Feb 12 2016, 21:03    kolisnichenko_r Цитата(zltigo @ Feb 13 2016, 00:03) В Ваш... Feb 13 2016, 07:51     kolisnichenko_r Уже возвращается в приложение и отрабатывает его н... Feb 17 2016, 10:57      kolisnichenko_r Цитата(kolisnichenko_r @ Feb 17 2016, 13... Feb 17 2016, 12:11
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|