Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPC2148 + JETLINK5-14
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
smk
В моем распоряжении есть платка D2148 (схемку прикрепляю) и есть JETLINK5-14. Попытка выполнить отладку из Keil uVision 3 приводит к появлению сообщения "Cannot stop Arm device!". Питание на плату подал внешнее (5 В на вход стабилизатора). Keil пишет:
VTarget = 3.306V
Info: TotalIRLen = ?, IRPrint = 0x..FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
Info: TotalIRLen = ?, IRPrint = 0x..FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
***JLink Error: Could not find supported CPU core on JTAG chain

Как следует понимать эту ситуацию? LPC2148 не исправен? Спасибо.
zltigo
JTAG разъем не стандартный - проверьте правильность подключения.
RTCK засажен намертво и соответственно не может использоваться - смотрите настройки.
Если контроллер прошит, то возможно JTAG заблокирован.
smk
Цитата
JTAG разъем не стандартный - проверьте правильность подключения.
На плате точно такой-же. Общие провода вроде бы совпали. Я перепроверю.
Цитата
RTCK засажен намертво и соответственно не может использоваться - смотрите настройки.
Не совсем понял. Какие настройки где и как смотреть? Я чайник.
Цитата
Если контроллер прошит, то возможно JTAG заблокирован.
Платку нашел на работе. На нее было навешено кое-чего так что вполне возможно конироллер программировался. Я весь самопальный обвес отпаял, платку вымыл. Что можно придумать? Потребляемый ток 16,2 мА.
zltigo
QUOTE (smk @ Aug 14 2010, 21:40) *
Не совсем понял. Какие настройки где и как смотреть?

Настройки JTAG интерфейса. Режим тактирования.
QUOTE
На нее было навешено кое-чего так что вполне возможно конироллер программировался.

Значит стереть для начала через UART.


smk
Цитата
RTCK засажен намертво и соответственно не может использоваться - смотрите настройки.
Это как я понимаю выв 8 разъема по нумерации на схеме? Он никуда не подключен как на схеме так и на плате.
Разъемы на плате и на JETLINK подключаются pin-to-pin?
zltigo
QUOTE (smk @ Aug 14 2010, 21:52) *
Это как я понимаю выв 8 разъема по нумерации на схеме?

Неправильно.
QUOTE
Разъемы на плате и на JETLINK подключаются pin-to-pin?

Стандартный ARM JTAG 20pin, а не 14.

smk
Цитата
Настройки JTAG интерфейса. Режим тактирования.
Посмотрел и убедился, что я не знаю где эти настройки.
Цитата
Значит стереть для начала через UART.
Там есть разъем USB. Flash Magiс поможет?
zltigo
QUOTE (smk @ Aug 14 2010, 21:58) *
Там есть разъем USB. Flash Magiс поможет?

Уже писал UART.
smk
Подитожим на сегодня. Поскольку есть разъем 14 pin и столько-же на JETLINK будет разумно предположить, что они соединяются pin-to-pin. Поскольку производитель устанавливал контроллер чистым, а есть вероятность, что он уже программирован, то чтобы сбросить его нужно к выводам Р0.0 (TXD0) и Р0.1 (RXD0) подключить посредством MAX232 компьютер и с помощю Flash Magic сбросить контроллер? Я все правильно понял?
zltigo
QUOTE (smk @ Aug 14 2010, 22:10) *
будет разумно предположить

Не будет. 14pin на плате и КОПИИ 20pin J-Link названной JETLINK могли сделать какие попало.
QUOTE
нужно к выводам Р0.0 (TXD0) и Р0.1 (RXD0) подключить посредством MAX232 компьютер и..

Да.
smk
Flash Magic сказал "Erase complete". JETLINK по прежнему не видит контролер, хотя лампочка "Target" на корпусе зажигается. "Cannot stop Arm device!" как и раньше.
zltigo
QUOTE (smk @ Aug 15 2010, 09:52) *
Flash Magic сказал "Erase complete".

Значит чип достаточно живой.
QUOTE
JETLINK по прежнему не видит контролер

Если не знаете, где там какие галочки, возьмите для начала родной софт от Segger - Jlink.
Ну и про необходимость разбоки с разъемом клона уже писал.
smk
Благодарю Вас, zltigo, за то, что не оставили меня сам на сам и уделяете мне свое время!
В настоящий момент после скачивания-прочтения инструкции и скачивания-установки ПО от SEGGER, настройки uVision по инструкции имею следующую ситуацию:Нажмите для просмотра прикрепленного файла Если определился Core Id, то можно ли сделать вывод, что JETLINK и конроллер увидели друг друга?
И вот такая еще проблемка нарисовалась:Нажмите для просмотра прикрепленного файлаКак с этим поступить?
zltigo
QUOTE (smk @ Aug 15 2010, 11:21) *
И вот такая еще проблемка нарисовалась

"Проблема" на форуме обсуждалась. Как проблема лицензий, так и проблема правильных прошивок firmware. Настоятельно советую воспользоваться поиском и не шуметь сильно по поводу выреза на ЭТОМ форуме.
QUOTE
Если определился Core Id, то можно ли сделать вывод, что JETLINK и конроллер увидели друг друга?

Да. Только питания Target он не видит. Подключение смотрите. Auto скорость уберите, особенно в Вашем подключении без RTCK. Начните с чего-нибудь типа 100KHz, потом поднимите. Поминаемый ранее простенький JLink лицензии НЕ требует.
smk
Ну ошибки я исправил и ругательства прекратились. Поиск помог. Теперь такой вопрос, если я вижу вот это Нажмите для просмотра прикрепленного файла
То означает ли это, что все работает и МК и Jlink полноценно общаются?
Когда я вижу это:
Нажмите для просмотра прикрепленного файла
то почему не видно как определился Device и где его selected?
Что можно сделать чтобы убедиться, что все работает? Как проверить? Что прочитать про это?
zltigo
Все нормально. Девайс у Вас в JTAG цепочке один. Если победили Segger, то можете поиграться для начала и с его утилитами Jmem и Jflash.
smk
Цитата
Если победили Segger, то можете поиграться для начала и с его утилитами Jmem и Jflash.
Поигнгрался. Что-то открывается, что-то читается. Мне нужно чтобы из uVision можно было заливать прошивку и отлаживаться. С этим пока ничего не выходит. Что можно предпринять?
zltigo
QUOTE (smk @ Aug 15 2010, 15:21) *
Что можно предпринять?

Не знаю, я отладчиками пользуюсь крайне редко, а в uVision вообще никогда и какие там "галочки" не интересно. Но RDI штука вообще несложная. Читайте документацию на IDE.
smk
Ничего не получается. J-flash ARM вот такое пишерт:Нажмите для просмотра прикрепленного файла
Что это значит и что делать?

Только что загрузил проэкт от Keil. Вроде бы какая-то отладка происходит. Собственно вопрос теперь в том, как помигать светодиодом.
zltigo
QUOTE (smk @ Aug 15 2010, 16:55) *
J-flash ARM вот такое пишерт

Вы хоть буквы RTCK видели в этом сообщении, или сразу картинку на форум? Теперь найдите, что я с самого начала про отсутствие RTCK на Вашем разъеме писал. Отключайте адаптивный клок. И не лезьте на 4MHz.
PSP
Чисто ради буквоедства хочу уточнить, 14-pin ARM JTAG существует стандартный, хоть и не рекомендованный. Варианты можно посмотреть например здесь JTAG TI

По вашей проблеме. В окне лога на скриншоте написано: "Using adaptive clocking instead fixed...". Об этом вам говорят с самого начала - нужно явно включить режим с фиксированной частотой JTAG, поскольку для адаптивной нужен "возврат" клока в адаптер - сигнал RTCK, которого у вас нет.
zltigo
QUOTE (PSP @ Aug 15 2010, 17:28) *
Чисто ради буквоедства хочу уточнить, 14-pin ARM JTAG существует стандартный

Нет. Разьемов всяких внутрифирменных, хоть TI, хоть Вася Пупкин International, разных море. Стандарт, для ARM JTAG нынче один. Oт 14pin оказались в конце 90x месте с ARM's Embedded ICE emulator.
smk
Цитата
включить режим с фиксированной частотой
Спасибо. Уже что-то начинает получаться. Настройки сохранятся для всех проэктов или каждый раз настраивать?
PSP
Цитата(zltigo @ Aug 15 2010, 18:34) *
Нет. Разьемов всяких внутрифирменных, хоть TI, хоть Вася Пупкин International, разных море. Стандарт, для ARM JTAG нынче один. Oт 14pin оказались в конце 90x месте с ARM's Embedded ICE emulator.


Хорошо, уговорили, beer.gif
"14-pin ARM JTAG существовал стандартный"
smk
Вот такая простенькая программа:
Код
#include <LPC21xx.H>                  /* LPC21xx definitions */    

void init_mk(void);

/* Задержка около 300 мс */
void wait()
{
  int d;
  for (d = 0; d < 30000000; d++)    { }
}


int main(void)
{
PINSEL0=0x00000000;
PINSEL1=0x00000000;
PINSEL2=0x00000004;
IODIR1=0xFFFFFFFF;
IODIR0=0xFFFFFFFF;
//init_mk();

while(1)
    {
     IOSET0=0xFFFFFFFF;
     IOSET1=0xFFFFFFFF;
     wait();
     IOCLR0=0xFFFFFFFF;    
     IOCLR1=0xFFFFFFFF;
     wait();    
    }//while(1)
}//main

Отладка вродебы происходит, но светодиод на Р0.31 упорно отказывается мигать. В симуляторе выводы перебрасываются 0/1 и обратно. Что это значит и как узнать заливается ли программа в чип?
smk
Ну хоть что-нибудь подскажите. Где что может почитать?
smk
Помигать светодиодом получилось. Победа своего рода. Файл (hex) зашивался J-Flash ARM от сеггера. В ходе зашивки программа спрашивала надо ли прописать правильную контрольную сумму (как я понял). Я отвечал, что надо. После прошивки и закрытия программы контроллер начинал мигать светодиодом как положено. В Keil отладка происходит. Точки останова отрабатывает правильно. Прошивка контроллера вероятно не выполняется т.к. после записи во флеш измененной программы контроллер выполняет ту, что была зашита сеггеровской утилитой. Как сделать так чтобы контроллер шился из Keil? Спасибо.
sonycman
Цитата(smk @ Aug 19 2010, 11:20) *
Как сделать так чтобы контроллер шился из Keil? Спасибо.

Заходите в настройки проекта, на вкладку Utilities, под Use Target Driver for Flash Programming выбираете J-Link.
Жмёте Settings, Flash Download, далее Add и выбираете прошивальщик под свой камень.
Можете ещё зайти на вкладку Debug и настроить свой отладчик.
esaulenka
У меня почему-то способ, описанный sonycman, работает плохо.
Прошивка - без проблем, а отладчик периодически прыгает совершенно не туда или показывает дизассемблер, который исходному коду вообще не соответствует.

Хорошо хоть, что а) отладчиком почти не пользуюсь и б) Keil -> RDI -> Segger -> MT-link работает без проблем.
smk
Цитата
Keil -> RDI -> Segger -> MT-link работает без проблем.
А у меня похоже не работает
Цитата
Заходите в настройки проекта, на вкладку Utilities, под Use Target Driver for Flash Programming выбираете J-Link.
У меня там выбран RDI Interface driver. Это неправильно?
Цитата
Жмёте Settings, Flash Download, далее Add и выбираете прошивальщик под свой камень.
А так чтобы Keil сам прошивал возможно?
sonycman
Цитата(smk @ Aug 19 2010, 22:32) *
У меня там выбран RDI Interface driver. Это неправильно?

Можно работать и через RDI, но тут настройку не подскажу, не знаю.
Цитата(smk @ Aug 19 2010, 22:32) *
А так чтобы Keil сам прошивал возможно?

Так сам кейл и будет прошивать, там выбирается лишь алгоритм для конкретного чипа, из списка идущих в комплекте с этой IDE.
smk
Хотелось бы уточнить: 1) может ли Keil выполнять прошивку штатными средствами как это пишется в хелпе?
2) До сего дня рабочую прошивку удавалось загрузить с помощю J-Flash ARM в виде файла hex. Как настроить Keil в этом случае?
smk
Так есть ли способ заставить работать кнопку Flash -> Download ? Очень бы хорошо чтобы перед дебагом программа загружалась в контроллер. Спасибо.
sonycman
Цитата(smk @ Aug 24 2010, 20:37) *
Так есть ли способ заставить работать кнопку Flash -> Download ? Очень бы хорошо чтобы перед дебагом программа загружалась в контроллер. Спасибо.

Для этого есть галочка Load Application at Startup.

Вы читайте внимательнее то, что уже было написано:
Цитата
Заходите в настройки проекта, на вкладку Utilities, под Use Target Driver for Flash Programming выбираете J-Link.
Жмёте Settings, Flash Download, далее Add и выбираете прошивальщик под свой камень.
Можете ещё зайти на вкладку Debug и настроить свой отладчик.


Ничего особо сложного в настройках кейла нет.
Поиграйтесь с ними, покрутите разные - глядишь, и всё получится smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.