|
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 60
|
|
проблема при работе с китайским J-LINK 8 или же проблема с с29.09.2013, 22:27. Показов 27112. Ответов 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
|
|
| 29.09.2013, 22:27 | |
|
Ответы с готовыми решениями:
27
Проблема при работе с vector Проблема при работе с сессиями Проблема при работе с Word |
|
0 / 0 / 0
Регистрация: 13.05.2011
Сообщений: 401
|
|
| 30.09.2013, 21:12 | |
|
А что за сигнал 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 | |
|
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 | |
|
Чипы с завода больные бывают крайне редко. У нас на производстве проходит их тысячи штук, но чтоб проц дохлый был я не припомню. Atmel-ы бракоделами никогда не были. Думаю, что-то банальное... Проверьте питание, и блокирочные конденсаторы - без них точно работать нормально не будет.
0
|
|
|
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 60
|
|
| 01.10.2013, 21:21 | |
|
Сегодня с САМБОЙ пробовал - заработало. Но вот решил окультурить свой КИТ - поставил штыри 10-пин. Шлейф собрал. И тут на тебе проц вообще видеть перестал. Жалуется на TDO, что на ней высокий уровень. Но у меня подвигающие резисторы на 10 кОм, вместо 47 кОм, как у Атмел. Не думаю, что это может повлиять. Хотя... Что думаете по этому поводу?
0
|
|
|
0 / 0 / 0
Регистрация: 13.05.2011
Сообщений: 401
|
|
| 02.10.2013, 18:31 | |
|
Та пофиг, что 10кОм. Дело не в этом.
0
|
|
|
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 60
|
|
| 03.10.2013, 17:22 | |
|
Написал пробную программу для 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,479
|
|||
| 03.10.2013, 18:05 | |||
Если .out-файл - в формате ELF, да ещё и с отладочной информацией (компилировали в режиме Debug или Release?), то размер должен быть гораздо больше чистого бинарника.
А также можно попробовать грузить не .bin, а .hex - так Вы избежите, по крайней мере, ошибки с выбором адреса прошивки.
0
|
|||
|
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 60
|
|
| 03.10.2013, 18:39 | |
|
Абсолютно с Вами согласен. Подскажите, пожалуйста, как правильно мне тогда проект скомпилить и задать для него настройки?
При настройке конфигурации проекта ипользовал вот эту статью: http://iosyitistromyss.ru/arm-uchebnyj- ... oekta.html. Да компилировал в режимах debug и release. Получается это он всю инфу в один .elf записывает? Я думал он ее и еще в bin должен записать Зашивал через SAM-BA файл .bin, который весит 1 кб.
0
|
|
|
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
|||
| 03.10.2013, 19:03 | |||
В хексе - то же, что в бинарнике плюс адреса прошивки. В эльфе - много всего: и исполняемый код, и подробная информация для отладки проекта - символы, адреса.
0
|
|||
|
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
|
| 03.10.2013, 19:06 | |
|
P.S. Такая необходиния вещь, как stortup, у Вас в проекте присутствует? Без неё точно ничего не заработает.
И код для низкоуровневой инициализации процессора (под названием SystemInit() или как-то так) тоже должен быть, иначе машинка не заведётся.
0
|
|
|
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 60
|
|
| 03.10.2013, 21:12 | |
|
Спасибо большое за ответы и желание помочь. Я раньше все время только с пиками, да с аврками и иксмегами работал только и беды не знал. А вот сейчас нужна мощь и проблемы пошли. Да и этих армов в запасе около 40 штук. Вот и решил начать грызть гранит науки ARM.
В архиве тот самый шаблон который я использовал, точнее исходники и переделал их под свою плату. Сначала я выключил вочдог, затем назначил мастер клок от PLL - делитель разделил пополам, потом инициализировал ножки портов, а дальше функция мэйн. Но только мой проект отличается от этого - он заточен по светодиоды и кнопки и я, к сожалению, его забыл на работе. Что такое stortup и как его сконфигурировать? Подскажите, пожалуйста, что может быть не так в этом проекте? [98.54 Кб]
0
|
|
|
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 60
|
|
| 03.10.2013, 21:23 | |
|
Для PLL выставил 1.5 кОм, 1нФ, 10 нФ, как в ките. НО!!!
Не понятный момент: PLL, если высчитывать по атмеловскому калькулятору, то при делителе 5 и умножителе 25 (как в шаблоне проекта) = ~92,16 MHz. И нужно поставить якобы 874 Ом, 11нФ, 1нФ Как это понимать? На что ссылаться?
0
|
|
|
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
||||||||||||
| 04.10.2013, 14:56 | ||||||||||||
Startup в проекте - это либо файл на ассемблере, либо уже скомпилированный файл. Лучше взять готовым (от Atmel или от IAR). В правильно настроенном проекте stortup генерируется прозрачно (так что Вы можете и не знать о его существовании) или берётся из файлика. Какие-то намёки на stortup (а может быть, это и не оно, т.к. у меня IAR другой, более новый) вижу тут:
0
|
||||||||||||
|
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 60
|
|
| 04.10.2013, 19:50 | |
|
т.е. в софте проблем нет и надо искать в железе? А что по поводу вопроса с PLL?
0
|
|
|
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 60
|
|
| 13.10.2013, 21:57 | |
|
Всем Привет.
Проблема решилась. Д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 | |
|
Забыл указать, что среда программирования IAR ARM 6.30
0
|
|
|
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 60
|
|
| 15.10.2013, 22:44 | |
|
У меня 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 | |
|
Такое ощущение, что у Вас отсутсвует stortup файл, либо он кривой какой-то. Обычно, это файлик на ассемблере и имеет расширение .s
Вы начните с примеров с сайта Atmel. У них есть готовые примерчики - проекты под ИАР.
0
|
|
|
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 60
|
|
| 21.10.2013, 01:05 | |
|
Все правильно проблема была в stortupe. Все работает как часы!!! :))
Сейчас я юзаю прерывания и т.д. и т.п. Есть какой-нибудь пример или библиотека по использованию HID для обмена данными с компом? И смогу ли я использовать этот пример с программами, написанными с использованием библиотеки JvHID (jedi) для delphi?
0
|
|
| 21.10.2013, 01:05 | |
|
Помогаю со студенческими работами здесь
20
Проблема при работе с макросами Проблема при работе с большой БД Проблема при работе с потоками Проблема при работе с Dictionary Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|