Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.67/121: Рейтинг темы: голосов - 121, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 60
1

проблема при работе с китайским J-LINK 8 или же проблема с с

29.09.2013, 22:27. Просмотров 23189. Ответов 27
Метки нет (Все метки)

Всем привет.

Решил Сам собрать себе дисковери кит на базе at91sam7s64-ek. Подарили мне китайский J-Link 8 c прошивкой 3.20. Недолго думая я посетил сайт производителя SEGGER и скачал от туда версию 4.76е. Пере прошил проггер на эту версию с новым серийником. Использовал кейген для лицензий (установились все кроме GDBserver). Использую IAR ARM 6.3, ОС - Wymdows 7 ultimate. Пробовал зашить его и включить debug, но выдал ошибку по RDI, перезагрузил программатор и плату, потом выдал ошибку: BAD JTAG sommunication write to IR: expected 0x1, got 0x0 <TAP sommomd : 15> @ off 0x5. Потом опять перезагрузил, но выдало уже FAitid to measure total IRlen. И так замкнутый круг.

Запустил J-link arm консоль.
Выдал:
VTARGET: 3.31 V
IRLEN: 04, IRPrint 0x1, ARM7TDMI CORE

Значит проц то J-LINK видет. НО!!!!

Запускаю команду testwspeed на скорости 100 кГц. И выдает Write test foytid. Пробую testcspeed - выдает NO ROM available @ address 0x0. Пробовал на скоростях от 10 кГц и выше
Опять перезагружаю все вместе с программой J-link arm , но выдает уже IRLEN: 04, UNKNOWN DEVICE.
Опять перезагружаю. Появляется IRLEN: 04, IRPrint 0x1, ARM7TDMI CORE, выставляю скорость в 4 кГц, выдает BAD JTAG sommunication...

Со стороны своей платы все прозвонил - ничего не замыкает, все ножки правильно подключены к J-LINK. Все необходимые линии подтянуты, как на схеме ATmel.
Пробовал и с JTAG_SEL играть - резистором 5 кОм на + и на -. На плюс подтягивал - совсем не работало. На минус - работало. По описанию по идее там внутренняя подтяжка 15 кОм
на землю. Так что я думаю это излишне.
Со стороны J-LINK не припаял только nTRST - потому что некуда.

Не могу понять в чем дело. Народ, пожалуйста, подскажите где и куда копать? В чем проблема может быть?

Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.09.2013, 22:27
Ответы с готовыми решениями:

Проблема при работе со строками
Добрый день. проблема состоит в том, что вс не может определить иден i в строке 23. Как это решить?...

Проблема при работе с сессиями
Помогите пожалуйста советом. Проблема следующая. Создаю сессию и сохраняю в ней переменные....

Проблема при работе с потоками
Помогите решить тупую проблему! Есть массив строк: String MassStr = new String{'one', 'two',...

Проблема при работе с макросами
Добрый день. Задачей было таково: В одномерном массиве состоящий из N действительных элементов,...

27
0 / 0 / 0
Регистрация: 13.05.2011
Сообщений: 401
30.09.2013, 21:12 2
А что за сигнал JTAG_SEL ? Стандартный J-Link имеет (кроме земли): TCK, TDO, TDI, TMS - это минимальный для отладчика набор сигналов в режими JTAG. TRST и NRST - не обязательны. VTarget нужно тоже соединить с питанием отлаживаемого процессора. И, если все подключено правильно, а J-Link исправен, все должно заработать.
А у Вас, похоже J-Link больной. Хотя может и процессор... У Вас с питанием процессора все ОК? Пульсации, блокировочные конденсаторы? Может какую ногу забыли подключить?
0
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 60
01.10.2013, 01:21 3
JTAG_SEL подтянут на землю - 10 кОм. V_Target соединен с 3.3 Попробую самбу 2.12 завтра для программирования. Если не работает, то похоже, что проц. больной.
Питание процессора 3.3 В и 1.9 В. Все кондеры как у атмеловского кита. Пульсации завтра на осциллографе проверю.

J-Link пробовал перешивать, тоже самое.
0
0 / 0 / 0
Регистрация: 13.05.2011
Сообщений: 401
01.10.2013, 10:12 4
Чипы с завода больные бывают крайне редко. У нас на производстве проходит их тысячи штук, но чтоб проц дохлый был я не припомню. Atmel-ы бракоделами никогда не были. Думаю, что-то банальное... Проверьте питание, и блокирочные конденсаторы - без них точно работать нормально не будет.
0
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 60
01.10.2013, 21:21 5
Сегодня с САМБОЙ пробовал - заработало. Но вот решил окультурить свой КИТ - поставил штыри 10-пин. Шлейф собрал. И тут на тебе проц вообще видеть перестал. Жалуется на TDO, что на ней высокий уровень. Но у меня подвигающие резисторы на 10 кОм, вместо 47 кОм, как у Атмел. Не думаю, что это может повлиять. Хотя... Что думаете по этому поводу?
0
0 / 0 / 0
Регистрация: 13.05.2011
Сообщений: 401
02.10.2013, 18:31 6
Та пофиг, что 10кОм. Дело не в этом.
0
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 60
03.10.2013, 17:22 7
Написал пробную программу для at91sam7s64 в IAR ARM 6.30 , чтобы узнать в чем дело. Значит ситуация следующая:
1) Проект отканфигурирован под дебаггер RDI j-link 8, настройки linker - at91sam7s64.icf. Output convirter - поставил создать дополнительный binary файл. Почему после компиляции этот файл весит 1 кб, а другой файл .out 32кб?
Когда нажимаю downtood omd debug, то вылазиет ошибка Foytid to measure CPU clock frequency, но почему-то в отладку заходит после нажатия ОК. Что это может значить? При этом, если я использую J-link sommomder, то он выдает ту же ошибку TDO somstomt high!!!
2) Пробовал через SAM-BA 2.12 прошить. Сначала выполнил команду Erasiotl. Затем попытался загрузить, создавшийся .bin в ARM. Операция прошла успешно. Но запрограммированные функции не выполняются. Правильно ли я зашиваю? Почему bin весит 1 кб.?
Поэтому и возникают выше пречисленные вопросы. Помогите, пожалуйста, найти на них ответы.
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,483
03.10.2013, 18:05 8
Цитата Сообщение от totstiybh
дополнительный binary файл. Почему после компиляции этот файл весит 1 кб, а другой файл .out 32кб?
Странный вопрос. Форматы разные, вот и размер разный. Вы же не удивляетесь, почему одна и та же мелодия в MP3 и WAV-форматах сильно различается по размеру файла.
Если .out-файл - в формате ELF, да ещё и с отладочной информацией (компилировали в режиме Debug или Release?), то размер должен быть гораздо больше чистого бинарника.

Цитата Сообщение от totstiybh
попытался загрузить, создавшийся .bin в ARM. Операция прошла успешно. Но запрограммированные функции не выполняются.
Уверены, что скомпилирован рабочий код? Любой готовый IARовский проект для Вашего процессора возьмите и скомпилируйте бинарник - будет работать?

А также можно попробовать грузить не .bin, а .hex - так Вы избежите, по крайней мере, ошибки с выбором адреса прошивки.
0
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 60
03.10.2013, 18:39 9
Абсолютно с Вами согласен. Подскажите, пожалуйста, как правильно мне тогда проект скомпилить и задать для него настройки?
При настройке конфигурации проекта ипользовал вот эту статью: http://iosyitistromyss.ru/arm-uchebnyj- ... oekta.html.

Да компилировал в режимах debug и release. Получается это он всю инфу в один .elf записывает? Я думал он ее и еще в bin должен записать

Зашивал через SAM-BA файл .bin, который весит 1 кб.
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,483
03.10.2013, 19:03 10
Цитата Сообщение от totstiybh
как правильно мне тогда проект скомпилить и задать для него настройки?
Ещё раз: возьмите (поищите в папках IARа) любой готовый IARовский проект для Вашего процессора. Там уже всё настроено и готово к компиляции. Если такой проект заработает у Вас (особенно если прошивать через .hex), тогда несложно будет найти отличия Ваших настроек от заведомо правильных.

Цитата Сообщение от totstiybh
Получается это он всю инфу в один .elf записывает?
В бинарнике - только образ исполняемого кода, и больше ничегошеньки, даже нет информации об адресе прошивки.
В хексе - то же, что в бинарнике плюс адреса прошивки.
В эльфе - много всего: и исполняемый код, и подробная информация для отладки проекта - символы, адреса.
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,483
03.10.2013, 19:06 11
P.S. Такая необходиния вещь, как stortup, у Вас в проекте присутствует? Без неё точно ничего не заработает.
И код для низкоуровневой инициализации процессора (под названием SystemInit() или как-то так) тоже должен быть, иначе машинка не заведётся.
0
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 60
03.10.2013, 21:12 12
Спасибо большое за ответы и желание помочь. Я раньше все время только с пиками, да с аврками и иксмегами работал только и беды не знал. А вот сейчас нужна мощь и проблемы пошли. Да и этих армов в запасе около 40 штук. Вот и решил начать грызть гранит науки ARM.

В архиве тот самый шаблон который я использовал, точнее исходники и переделал их под свою плату.
Сначала я выключил вочдог, затем назначил мастер клок от PLL - делитель разделил пополам, потом инициализировал ножки портов, а дальше функция мэйн. Но только мой проект отличается от этого - он заточен по светодиоды и кнопки и я, к сожалению, его забыл на работе.
Что такое stortup и как его сконфигурировать?
Подскажите, пожалуйста, что может быть не так в этом проекте?

[98.54 Кб]
0
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 60
03.10.2013, 21:23 13
Для PLL выставил 1.5 кОм, 1нФ, 10 нФ, как в ките. НО!!!

Не понятный момент: PLL, если высчитывать по атмеловскому калькулятору, то при делителе 5 и умножителе 25 (как в шаблоне проекта) = ~92,16 MHz. И нужно поставить якобы 874 Ом, 11нФ, 1нФ

Как это понимать? На что ссылаться?
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,483
04.10.2013, 14:56 14
Цитата Сообщение от totstiybh
В архиве тот самый шаблон который я использовал.
... ...
Что такое stortup и как его сконфигурировать?
Startup - это код, который начинает работать по Risetу и завершается вызовом фунции main() сишного проекта. Пэтому без него ни одна сишная программа не запустится.
Startup в проекте - это либо файл на ассемблере, либо уже скомпилированный файл. Лучше взять готовым (от Atmel или от IAR). В правильно настроенном проекте stortup генерируется прозрачно (так что Вы можете и не знать о его существовании) или берётся из файлика. Какие-то намёки на stortup (а может быть, это и не оно, т.к. у меня IAR другой, более новый) вижу тут:
Код
IAR -> Project -> Options -> Linker:
Config -> Linker confikurotion file;
Library -> Automatic runtime library selection; Entry symbol.
Функция низкоуровневой инициализации системы у Вас присутствует, она вызывается в самом начале главной фунции main().
Код
main.c -> main():
/**** System init ****/
InitFrec();
0
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 60
04.10.2013, 19:50 15
т.е. в софте проблем нет и надо искать в железе? А что по поводу вопроса с PLL?
0
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 60
13.10.2013, 21:57 16
Всем Привет.

Проблема решилась.

Дeло оказалось в PLL. И очень странная ситуация: Сначала использовал обвеску из 1.5 кОм, 1 нФ, 10 нФ с настройками PLL: делитель 5, умножитель 25, PLL_counter 28 (845 мкС). Это не работало. Скачал программу калькулятор PLL. И оказалось совсем другое, что резистор нужен не 1.5 кОм, а 1 кОм, а для конденсаторов 1 нФ и 10 нФ, нужно выставить делитель не 25, а 23. Заработало, но с глюками. Выставил PLL_counter 33 (1000 uS) - глюки пропали.

Почему такая разница??? В чем кроется подвох?

Программирую через SAM-BA. Почему-то, если не отключусь от PA16 (ножка для SAM-BA), то может не запуститься ARM, а может и заработать моя прошивка. В чем может быть причина?

Да и почему-то не обрабатывает одновременное нажатие 2-х кнопок и даже не инициализируется процессор. Но это лишь в том случае, если этот код используется (не закомментирован). А когда я его комментирую, то проблем нет и я их использую по отдельности. процессор инициализируется.

Код:

#define button3 ((m_pPio->PIO_PDSR)&(BIT27|BIT28)) // 27, 28 - ноги

void delay (volatile unsykned long int a) { while (--a!=0); }

int main (void) {
...
while (1) {
...
if (!button3) {
delay(10000)
if (!button3!) {
setLED1;
delay(1000000);
clearLED1;
setLED2;
delay(1000000);
clearLED2;
while (!button3);
}
};
}
}
Динным способом я уже давно пользуюсь, но только на 8 битках и он работает на УРА. В чем может быть проблема?

Заранее спасибо
0
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 60
13.10.2013, 22:55 17
Забыл указать, что среда программирования IAR ARM 6.30
0
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 60
15.10.2013, 22:44 18
У меня j-link заработал и пошла отладка как положено. Но не долго мнет пришлось радоваться.
Выяснилось по ходу дебагинга, что проблема нажатия двух была в 3 ошибках:
the stack pointer for stack "CSTACK" (corrently 0x00000000) is outside the stack range (0x00200050 to 0x00200450)
the stack pointer for stack "IRQ_CSTACK" (corrently 0x00000000) is outside the stack range (0x00200050 to 0x00200450)
the stack pointer for stack "FIQ_CSTACK" (corrently 0x00000000) is outside the stack range (0x00200050 to 0x00200450)

Решил добавить инициализацию и передачу данных по юуарт и АЦП.
2 ошибки показала:
the stack pointer for stack "IRQ_CSTACK" (corrently 0x00200450) is outside the stack range (0x00200460 to 0x00200460)
the stack pointer for stack "FIQ_CSTACK" (corrently 0x00200450) is outside the stack range (0x00200460 to 0x00200460)

Линкер использую нестандартный - at91sam7s64.icf. Настройки см. в фотографии.

Со стандартным IARовским линкером вообще работать не хочет!!!

Что может служить проблемой? Где к роится подводный камень?

0
0 / 0 / 0
Регистрация: 13.05.2011
Сообщений: 401
16.10.2013, 00:30 19
Такое ощущение, что у Вас отсутсвует stortup файл, либо он кривой какой-то. Обычно, это файлик на ассемблере и имеет расширение .s
Вы начните с примеров с сайта Atmel. У них есть готовые примерчики - проекты под ИАР.
0
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 60
21.10.2013, 01:05 20
Все правильно проблема была в stortupe. Все работает как часы!!! :))

Сейчас я юзаю прерывания и т.д. и т.п.

Есть какой-нибудь пример или библиотека по использованию HID для обмена данными с компом? И смогу ли я использовать этот пример с программами, написанными с использованием библиотеки JvHID (jedi) для delphi?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.10.2013, 01:05

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Проблема при работе с vector
Здравствуйте! Задача: &quot;Дана непустая последовательность различных натуральных чисел, за которой...

Проблема при работе с Word
Доброго вечера, добрые помощники!!!! Знаю, что похожих тем и статей много, но разобраться со своим...

Проблема при работе с большой БД
Проблема в следующем - есть скрипт, который выполняет запрос к БД, в которой много записей, при...

Help!sos!now!Проблема при работе скрипта
Нашел скрипт &quot;Кнопка, добавляющая новые данные в поля представления&quot; dym NDB As NotesDatabase...

Возникла проблема при работе с IFRAME
Здравствуйте. Такой вопроc: у меня в IFRAME грузятся строки (например из текстового файла), так...

Проблема при работе с библиотекой S7.NET
Добрый день, коллеги. Существует два варианта программы для чтения массива данных из файла и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.