Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: TI AM1808 + XDS510USB
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
doom13
Приветствую!
Собрали плату собственной разработки с AM1808 на борту. Попытки подключениия из CCS v5.5 при помощи XDS510USB не дают результата.
В файле конфигурации "AM1808.ccxml" выбираем "Device - AM1808", нажимаем кнопку "Test Connection", в ответ получаем:
Код
[Start]

Execute the command:

%ccs_base%/emulation/drivers/sdjtag.exe -f %boarddatafile% -v -X reset -X scantest

[Result]

** BoardFilePath: C:\Users\SKB4-G~1\AppData\Local\.TI\693494126\0\0\BrdDat\testBoard.dat
** Resetting Emulator
-- Emulator is Reset
** Emulator Scan Test
-- Found JTAG IR Length of 6
-- Found 1 device(s) in the scan chain

[End]


Если в Target Configurations выбрать нашу конфигурацию -> Launch Selected Configuration -> Connect Target, то процессор зависает в режиме подключения, на входных пинах JTAG присутствуют клок и данные, на выходных так же. Это будет продолжаться пока не зададим Disconnect Target. Вопрос - куда смотреть дальше, в чём может быть проблема?

Ещё один маленький нюанс, разъём для подключения JTAG развели неправильно, пришлось делать переходник, а сигнальные провода JTAG в переходнике не чередуются с GND, как в нормальном шлейфе от программатора. Может быть тут тоже проблема?
doom13
Пришли к выводу, что XDS510USB не поддерживает данный прцессор. На сайте TI и Spectrum Digital указаны противоречивые данные по поводу поддержки XDS510USB ARM9. Решили попробовать Black Hawk 560PCI, и, о чудо, при нажатии кнопки Test Connection появляется месага:
CODE

[Start]

Execute the command:

%ccs_base%/common/uscif/dbgjtag.exe -f %boarddatafile% -rv -o -F inform,logfile=yes -S pathlength -S integrity

[Result]


-----[Print the board config pathname(s)]------------------------------------

C:\Users\SKB4-G~1\AppData\Local\.TI\693494126\
0\0\BrdDat\testBoard.dat

-----[Print the reset-command software log-file]-----------------------------

This utility has selected a 560/2xx-class product.
This utility will load the program 'bh560pci.out'.
The library build date was 'Aug 20 2013'.
The library build time was '23:04:59'.
The library package version is '5.1.232.0'.
The library component version is '35.34.40.0'.
The controller does use a programmable FPGA.
The old VHDL code has a version number of '386336272' (0x17070610).
The new VHDL code has a version number of '386336272' (0x17070610).
The controller has a version number of '5' (0x00000005).
The controller has an insertion length of '0' (0x00000000).
The cable+pod has a version number of '6' (0x00000006).
The cable+pod has a capability number of '1' (0x00000001).
This utility will attempt to reset the controller.
This utility has successfully reset the controller.

-----[Print the reset-command hardware log-file]-----------------------------

The scan-path will be reset by toggling the JTAG TRST signal.
The controller is the Nano-TBC VHDL.
The link is a 560-class version-D multi-purpose cable.
The software is configured for Nano-TBC VHDL features.
The controller will be software reset via its registers.
The controller has a logic ONE on its EMU[0] input pin.
The controller has a logic ONE on its EMU[1] input pin.
The controller will use falling-edge timing on output pins.
The controller cannot control the timing on input pins.
The scan-path link-delay has been set to exactly '2' (0x0002).
The utility logic has not previously detected a power-loss.
The utility logic is not currently detecting a power-loss.

-----[The log-file for the JTAG TCLK output generated from the PLL]----------

Test Size Coord MHz Flag Result Description
~~~~ ~~~~ ~~~~~~~ ~~~~~~~~ ~~~~ ~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
1 none - 01 00 500.0kHz - similar isit internal clock
2 none - 01 09 570.3kHz - similar isit internal clock
3 512 - 01 00 500.0kHz O good value measure path length
4 128 - 01 00 500.0kHz O good value auto step initial
5 128 - 01 0D 601.6kHz O good value auto step delta
6 128 - 01 1C 718.8kHz O good value auto step delta
7 128 - 01 2E 859.4kHz O good value auto step delta
8 128 + 00 02 1.031MHz O good value auto step delta
9 128 + 00 0F 1.234MHz O good value auto step delta
10 128 + 00 1F 1.484MHz O good value auto step delta
11 128 + 00 32 1.781MHz O good value auto step delta
12 128 + 01 04 2.125MHz O good value auto step delta
13 128 + 01 11 2.531MHz O good value auto step delta
14 128 + 01 21 3.031MHz O good value auto step delta
15 128 + 01 34 3.625MHz O good value auto step delta
16 128 + 02 05 4.313MHz O good value auto step delta
17 128 + 02 13 5.188MHz O good value auto step delta
18 128 + 02 23 6.188MHz O good value auto step delta
19 128 + 02 37 7.438MHz O good value auto step delta
20 128 + 03 07 8.875MHz O good value auto step delta
21 128 + 03 15 10.63MHz O good value auto step delta
22 128 + 03 1E 11.75MHz {O} good value auto step delta
23 512 + 02 3E 7.875MHz O good value auto power initial
24 512 + 03 0E 9.750MHz O good value auto power delta
25 512 + 03 16 10.75MHz O good value auto power delta
26 512 + 03 1A 11.25MHz O good value auto power delta
27 512 + 03 1C 11.50MHz O good value auto power delta
28 512 + 03 1D 11.63MHz O good value auto power delta
29 512 + 03 1D 11.63MHz O good value auto power delta
30 512 + 03 13 10.38MHz {O} good value auto margin initial

The first internal/external clock test resuts are:
The expect frequency was 500000Hz.
The actual frequency was 499110Hz.
The delta frequency was 890Hz.

The second internal/external clock test resuts are:
The expect frequency was 570312Hz.
The actual frequency was 569976Hz.
The delta frequency was 336Hz.

In the scan-path tests:
The test length was 16384 bits.
The JTAG IR length was 6 bits.
The JTAG DR length was 1 bits.

The IR/DR scan-path tests used 30 frequencies.
The IR/DR scan-path tests used 500.0kHz as the initial frequency.
The IR/DR scan-path tests used 11.75MHz as the highest frequency.
The IR/DR scan-path tests used 10.38MHz as the final frequency.

-----[Measure the source and frequency of the final JTAG TCLKR input]--------

The frequency of the JTAG TCLKR input is measured as 10.37MHz.

The frequency of the JTAG TCLKR input and TCLKO output signals are similar.
The target system likely uses the TCLKO output from the emulator PLL.

-----[Perform the standard path-length test on the JTAG IR and DR]-----------

This path-length test uses blocks of 512 32-bit words.

The test for the JTAG IR instruction path-length succeeded.
The JTAG IR instruction path-length is 6 bits.

The test for the JTAG DR bypass path-length succeeded.
The JTAG DR bypass path-length is 1 bits.

-----[Perform the Integrity scan-test on the JTAG IR]------------------------

This test will use blocks of 512 32-bit words.
This test will be applied just once.

Do a test using 0xFFFFFFFF.
Scan tests: 1, skipped: 0, failed: 0
Do a test using 0x00000000.
Scan tests: 2, skipped: 0, failed: 0
Do a test using 0xFE03E0E2.
Scan tests: 3, skipped: 0, failed: 0
Do a test using 0x01FC1F1D.
Scan tests: 4, skipped: 0, failed: 0
Do a test using 0x5533CCAA.
Scan tests: 5, skipped: 0, failed: 0
Do a test using 0xAACC3355.
Scan tests: 6, skipped: 0, failed: 0
All of the values were scanned correctly.

The JTAG IR Integrity scan-test has succeeded.

-----[Perform the Integrity scan-test on the JTAG DR]------------------------

This test will use blocks of 512 32-bit words.
This test will be applied just once.

Do a test using 0xFFFFFFFF.
Scan tests: 1, skipped: 0, failed: 0
Do a test using 0x00000000.
Scan tests: 2, skipped: 0, failed: 0
Do a test using 0xFE03E0E2.
Scan tests: 3, skipped: 0, failed: 0
Do a test using 0x01FC1F1D.
Scan tests: 4, skipped: 0, failed: 0
Do a test using 0x5533CCAA.
Scan tests: 5, skipped: 0, failed: 0
Do a test using 0xAACC3355.
Scan tests: 6, skipped: 0, failed: 0
All of the values were scanned correctly.

The JTAG DR Integrity scan-test has succeeded.

[End]

, при попытке подключения происходит коннект.
Остаётся вопрос, поддерживает ли XDS510USB процессор AM1808?
doom13
Появилась новая проблемка, процессор подключается, но при попытке залить прошивку выбрасывает ошибку (см. рисунок).

Замечено, что при созданиие Target Configuration файла при выборе на вкладке Basic нужного процессора к нему автоматом прикрепляется gel - файл из папки C:\ti\ccsv5\ccs_base\emulation\gel, но для AM1808 такого не происходит, в указанной папке вообще нет чего-то типа AM1808.gel.
Связана ли эта ошибка с данным файлом? И как поступить?
AndrejM
Цитата(doom13 @ Jun 20 2014, 10:06) *
при попытке залить прошивку выбрасывает ошибку (см. рисунок).

Связана ли эта ошибка с данным файлом? И как поступить?


судя по картинке "прошивку" вы пытаетесь залить в диапазон адресов внешней памяти (ddr) ,есть она у вас или нет я не знаю , но то что вы не нашли gel говорит о том что она как минимум не инициализирована. Попробуйте для начала загрузить во внутреннюю sram , когда все получится тогда уже разберетесь как в ddr грузить и зачем gel нужен.
doom13
Цитата(AndrejM @ Jun 20 2014, 10:47) *
судя по картинке "прошивку" вы пытаетесь залить в диапазон адресов внешней памяти (ddr) ,есть она у вас или нет я не знаю , но то что вы не нашли gel говорит о том что она как минимум не инициализирована. Попробуйте для начала загрузить во внутреннюю sram , когда все получится тогда уже разберетесь как в ddr грузить и зачем gel нужен.

В мануале на AM1808 прописано, что адреса 0х8000_0000 - 0х8001_FFFF (128K) - On-Chip RAM, туда и пытаюсь залить, или Вы что-то другое увидели?
AndrejM
Цитата(doom13 @ Jun 20 2014, 11:24) *
В мануале на AM1808 прописано, что адреса 0х8000_0000 - 0х8001_FFFF (128K) - On-Chip RAM, туда и пытаюсь залить, или Вы что-то другое увидели?


да , мне показалось там 0xB0000000 , ваша правда во внутреннюю память грузить пытаетесь.
doom13
Может ли кто пояснить, кто такой gel-фаил и зачем он нужен для CCS?
При работе с CCS v3.3 и добавлении в систему необходимого процессора он присутствует в настройках. Счас работаю в CCS v5.5 и при создании конфигурационного файла для любого процессора он автоматом добавляется в Target Config. И проблем никогда не возникало. Но вот AM1808 стал исключением, при создании Target Config и выборе AM1808 в окне initialization script пустота.
Grizzzly
Gel-функция используется отладчиком CCS. Там зачастую помещены функция StartUp, а также брэйкпоинты.
Более подробно написано на Вики TI: http://processors.wiki.ti.com/index.php/GEL
doom13
Спасибо, счас посмотрю все Ваши ссылки. Насколько понимаю, одна из функций GEL-файла это то, что он описывает карту памяти для дебагера, т.е. на основании его заливается прошивка? Он как бы необходим CCS. Как тогда получается что для остальных процессоров в папке c:\ti\ccsv5\ccs_base\emulation\gel\ присутствуют соответствующие GEL файлы, а для AM1808 нет. В примерах StarterWare на AM1808 нашёл такой файлик и попробовал подключать, но не прокатило, выбрасывает ошибки. Их можно коментить и до какой-то поры всё работает, процессор модключается, могу смотреть, перезаписывать адреса On-Chip RAM, но вот заливка прошивки не проходит. Это баг TI, что в CCS нет нормального файла или подразумевается, что я должен написать его сам?
AndrejM
Цитата(doom13 @ Jun 20 2014, 22:01) *
Спасибо, счас посмотрю все Ваши ссылки. Насколько понимаю, одна из функций GEL-файла это то, что он описывает карту памяти для дебагера, т.е. на основании его заливается прошивка? Он как бы необходим CCS. Как тогда получается что для остальных процессоров в папке c:\ti\ccsv5\ccs_base\emulation\gel\ присутствуют соответствующие GEL файлы, а для AM1808 нет. В примерах StarterWare на AM1808 нашёл такой файлик и попробовал подключать, но не прокатило, выбрасывает ошибки. Их можно коментить и до какой-то поры всё работает, процессор модключается, могу смотреть, перезаписывать адреса On-Chip RAM, но вот заливка прошивки не проходит. Это баг TI, что в CCS нет нормального файла или подразумевается, что я должен написать его сам?


ситуация следующая , поскольку flash памяти нет ,то ваше приложение для работы должно быть загружено либо во внутренюю sram либо во внешнюю ddr память . обычно порядок загрузки такой , rom-boot (загрузчик в нестираемом пзу процессора) с одного из устройств загрузки считывает код и размещает его во внутренюю sram (ну и управление ему передает) . в задачи этого код (загруженного в sram) стоит инициализация всего и вся - все клоки , power менеджмент , и самое главное инициализирует внешнюю ddr и загружет туда ваше приложение (ну к примеру с sd карты) и передает ему управление.
это все относилось к "рабочему режиму" , при отладке ваш jtag может сразу загручить что угодно и куда угодно (потытаться это сделать) , но если вы собрались использовать внешнюю память , то кто то должен произвести ее иницализацию , для этого пишут скрипт с макросами , который будет в начале исполнен отладчиком ,а потом уже загружено приложение. это и есть этот самый gel . соотвественно нужен он в ,основном , когда то куда вы собираетесь разместить когда приложения требует каких то действий перед самой загрузкой. для приложения которое будет работать из onchip sram макро-файл исполнять не нужно. А вообще очень полезно этот файл написать самостоятельно (взяв что то для примера) , это знания о базовых вещах процессора.
я не знаю , может быть для am1808 нужны какие то предварительные иницаилизационные действия , которые в штатном режиме делает boot-rom , но для более старших моделей TI этого не требуется , и если вы ,скажем попытались загрузить в "пустоту" то просто получите ошибки при верификации.
а вообще поищите gel , есть ведь всякие dev-boards с этим процессором .
jcxz
Цитата(AndrejM @ Jun 22 2014, 08:51) *
ситуация следующая , поскольку flash памяти нет ,то ваше приложение для работы должно быть загружено либо во внутренюю sram либо во внешнюю ddr память . обычно порядок загрузки такой , rom-boot (загрузчик в нестираемом пзу процессора) с одного из устройств загрузки считывает код и размещает его во внутренюю sram (ну и управление ему передает) . в задачи этого код (загруженного в sram) стоит инициализация всего и вся - все клоки , power менеджмент , и самое главное инициализирует внешнюю ddr и загружет туда ваше приложение (ну к примеру с sd карты) и передает ему управление.
это все относилось к "рабочему режиму"

Не обязательно. Многие ROM-загрузчики умеют сами настраивать необходимую периферию (в том числе и контроллер внешней ОЗУ) в соответствии с
некоей конфигурационной инфой в заголовке загружаемого образа. А затем - продолжают загрузку образа уже в любую область ОЗУ, хоть внешнюю.
Например так делают ROM-загрузчики TI DSP.
doom13
Никогда ранее проблем и не возникало. Работал с TMS320F2812, F28M36P63C2, TMS320C6713, TMS320C6455, TMS320C28346 у одних фнутренняя флэш-память у других On-Chip RAM. И там и там программатор нормально заливает прошивку по нужным адресам. Всегда считал, что для этого достаточно в cmd или в DSPBIOS описать нужные участки памяти, а CCS уже сам поймёт, что и куда залить. Но при создании проекта и Target Configuration под любой из указанных процессоров, к конфигурации автоматом добавляется GEL-файл из папки CCS. С AM1808 пока не могу разобраться в чём проблема ошибки при заливке прошивки (заливаю в On-Chip RAM), и замечено, что для данного процессора GEL-файл отсутствует. Пытаюсь понять, в нем ли проблема?

Цитата(AndrejM @ Jun 22 2014, 05:51) *
при отладке ваш jtag может сразу загручить что угодно и куда угодно (потытаться это сделать)

Как и писал, так всегда и происходило (до AM1808). Но не нужен ли ему для этого всего GEL? Пока не очень разобрался, но описание каких-то областей памяти там присутствует.
Цитата(AndrejM @ Jun 22 2014, 05:51) *
а вообще поищите gel , есть ведь всякие dev-boards с этим процессором .

Тот, который нашёлся в папке с примерами на девборду, выкидывает кучу ошибок уже при подключении процессора. Слил какой-то с форума TI, но тоже как-то не то. Почему в системе CCS нет правильного?

AndrejM
Цитата(doom13 @ Jun 22 2014, 13:15) *
и замечено, что для данного процессора GEL-файл отсутствует. Пытаюсь понять, в нем ли проблема?


странно что нет , я хоть и не пользую CCS , но ставил его как раз чтобы взять gel и на его основе сделать mac для IAR.

вот посмотрел в том что установлено есть \ti\ccsv5\ccs_base\emulation\gel\am1808.gel , оно вам не подходит?
doom13
Цитата(AndrejM @ Jun 22 2014, 16:13) *
странно что нет , я хоть и не пользую CCS , но ставил его как раз чтобы взять gel и на его основе сделать mac для IAR.

вот посмотрел в том что установлено есть \ti\ccsv5\ccs_base\emulation\gel\am1808.gel , оно вам не подходит?

Какую версию поставили?
У меня в этой папке его и нету, есть в папке не eval bord, но что-то с ним не работает.
Прикрепите пожалуйста Ваш GEL.
AndrejM
Цитата(doom13 @ Jun 22 2014, 16:22) *
Какую версию поставили?
У меня в этой папке его и нету, есть в папке не eval bord, но что-то с ним не работает.
Прикрепите пожалуйста Ваш GEL.



расширение изменил на txt иначе не дает прикреплять
Нажмите для просмотра прикрепленного файла
doom13
Спасибо, завтра проверим.
doom13
Цитата(AndrejM @ Jun 22 2014, 16:13) *
вот посмотрел в том что установлено есть \ti\ccsv5\ccs_base\emulation\gel\am1808.gel , оно вам не подходит?

Цитата(AndrejM @ Jun 22 2014, 16:26) *
расширение изменил на txt иначе не дает прикреплять

Цитата(doom13 @ Jun 22 2014, 16:34) *
Спасибо, завтра проверим.

Печально, но у меня такой же оказался, только находится в другой папке c:\ti\ccsv5\ccs_base\emulation\boards\evmam1808\gel\AM1808.gel.
При попытке подключения к процессору выдаёт это:
AndrejM
Data bus is 'not ready'

сдается мне это с эмулятором проблемы. у вас как тактирование установлено ? (jtag tclk) и таймуаты для target .
поставте 1Mhz и самые длинные timeouts .
doom13
Цитата(AndrejM @ Jun 23 2014, 10:35) *
Data bus is 'not ready'
сдается мне это с эмулятором проблемы. у вас как тактирование установлено ? (jtag tclk) и таймуаты для target .
поставте 1Mhz и самые длинные timeouts .

С такими настройками CCS вообще висит.
AndrejM
Цитата(doom13 @ Jun 23 2014, 12:33) *
С такими настройками CCS вообще висит.


а какие были настройки?

взял и тупо вбил в гугл "ccs data bus not ready" и получил ровно вашу тему ,и ровно то что я посоветовал.
http://e2e.ti.com/support/dsp/omap_applica...860/551153.aspx

doom13
Счас ещё раз попробую. Вообще по-умолчанию Target Timeouts - Very Fast, JTAG TCLK 10.368 MHz
AndrejM
Цитата(doom13 @ Jun 23 2014, 13:14) *
Счас ещё раз попробую. Вообще по-умолчанию Target Timeouts - Very Fast, JTAG TCLK 10.368 MHz

ну раз при более медленной clk и длинных timeouts "виснет" , значит при значениях по умолчанию просто по timeout вываливалось - не работает интерфейс эмулятора.
doom13
Цитата(AndrejM @ Jun 23 2014, 13:42) *
ну раз при более медленной clk и длинных timeouts "виснет" , значит при значениях по умолчанию просто по timeout вываливалось - не работает интерфейс эмулятора.

Да не похоже на это. Без GEL попробовал ещё раз (всё, как и было Target Timeouts - Very Fast, JTAG TCLK 10.368 MHz)
Рисунок 1) Подключение - есть.
Рисунок 2) Подключение - память.
Рисунок 3) Прога даже залилась.
После перекомпиляции и автоматической перезаливки проц перешёл в Run, при попытке остановки - опять ошибка bus not ready.

Почему после коннекта процессор становится на адрес 0xFFFF_0000 (ARM local RAM)?
Почему после заливки программы процессор становится на адрес 0x8000_A8DE (On-Chip RAM 0x8000_0000 ... 0x8001_FFFF), если _c_int00 address 0х8000_А251?


Рисунок 4) Load Programm
AndrejM
да, действительно не похоже ...

по той ссылке что выше я давал , в коментах к gel файлу:

Note: Make sure the MMU is disabled when you run the scripts in order to properly read the registers. You can disable the ARM’s MMU in CCS by going to Tools -> Advanced ARM Features.
doom13
К вечеру опять всё сломалось, ошибка при подключении, завтра будем разбираться.
Попробовал менять JTAG TCLK, как Вы советовали, но что-то не хочет эмулятор её держать, всё равно возвращается на стандартные 10.xxx MHz. Ставлю настройку 2-5 MHz, запускаю коннект, вижу, как частота наростает и устанавливается на 10 MHz. Может мой программатор это не поддерживает, использую Black Hawk 560PCI?
Вопросы из поста выше остаются в силе.
Спасибо.

Цитата(AndrejM @ Jun 23 2014, 17:29) *
по той ссылке что выше я давал , в коментах к gel файлу:
Note: Make sure the MMU is disabled when you run the scripts in order to properly read the registers. You can disable the ARM’s MMU in CCS by going to Tools -> Advanced ARM Features.

Это тоже посмотрим.
AndrejM
Цитата(doom13 @ Jun 23 2014, 22:59) *
запускаю коннект, вижу, как частота наростает и устанавливается на 10 MHz.


там же есть вариант адаптивного режима по частоте с установленным лимитом , если именно он выбран тогда не будет она подниматься выше того что установили
doom13
Цитата(AndrejM @ Jun 24 2014, 05:50) *
там же есть вариант адаптивного режима по частоте с установленным лимитом , если именно он выбран тогда не будет она подниматься выше того что установили

С лимитом и задаю, но он его не держит, всё равно выходит на свои 10.368MHz.

Цитата(AndrejM @ Jun 23 2014, 17:29) *
Note: Make sure the MMU is disabled when you run the scripts in order to properly read the registers. You can disable the ARM’s MMU in CCS by going to Tools -> Advanced ARM Features.

Это глянул, опция снята.
Поставил просто пользовательскую частоту 4 MHz (с такой настройкой - держит), подключается через раз, в основном, если ошибка пишет что не смог прочитать адреса с 0xFFFF_0000 (ARM RAM)

Или такую ошибку
"ARM9_0: Error connecting to the target: (Error -1060 @ 0x2E1A) Device is not responding to the request. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.450.0) "
AndrejM
не знаю что вам еще посоветовать ,а как это все конструктивно выглядит ? там с питанием ,с проводами все хорошо? sm.gif

connect через раз у меня был на am3359 ,если в настройках эмулятора опция target reset установлена software , при установке в hardware reset все нормализовалось. посмотрите наверное в CCS есть что то подобное.
doom13
Цитата(AndrejM @ Jun 24 2014, 11:43) *
не знаю что вам еще посоветовать ,а как это все конструктивно выглядит ? там с питанием ,с проводами все хорошо? sm.gif
connect через раз у меня был на am3359 ,если в настройках эмулятора опция target reset установлена software , при установке в hardware reset все нормализовалось. посмотрите наверное в CCS есть что то подобное.

Короче, пока решили что какая-то железная проблема (на данный момент нету), с разъёмом JTAG ещё напутали, пришлось кучу проводов перепаять, видимо, вся проблема в них. Вчера подключался и заливалась прошивка, память можно было смотреть и всё вроде как работало, только с самой прошивкой и её стартом не мог разобраться, на какие-то непонятные адреса всё перепрыгивало. Сегодня пол дня не хотело конектиться, потом коким-то образом подключилось и счас всё работает, на любой TCLK (2, 4, 10 МГц, и частота JTAG уже не влияет).
Проект создал заново и стало в main заходить. Всё бы и хорошо, но вот бывает такое (см. рисунок), после чего надо время убить, чтоб опять запустилось.

При всех данных ошибках Test Connection проходит нормально, как такое может быть?
CODE

[Start]

Execute the command:

%ccs_base%/common/uscif/dbgjtag.exe -f %boarddatafile% -rv -o -F inform,logfile=yes -S pathlength -S integrity

[Result]


-----[Print the board config pathname(s)]------------------------------------

C:\Users\SKB4-G~1\AppData\Local\.TI\693494126\
0\0\BrdDat\testBoard.dat

-----[Print the reset-command software log-file]-----------------------------

This utility has selected a 560/2xx-class product.
This utility will load the program 'bh560pci.out'.
The library build date was 'Mar 9 2014'.
The library build time was '22:35:20'.
The library package version is '5.1.450.0'.
The library component version is '35.34.40.0'.
The controller does use a programmable FPGA.
The old VHDL code has a version number of '386336272' (0x17070610).
The new VHDL code has a version number of '386336272' (0x17070610).
The controller has a version number of '6' (0x00000006).
The controller has an insertion length of '0' (0x00000000).
The cable+pod has a version number of '6' (0x00000006).
The cable+pod has a capability number of '1' (0x00000001).
This utility will attempt to reset the controller.
This utility has successfully reset the controller.

-----[Print the reset-command hardware log-file]-----------------------------

The scan-path will be reset by toggling the JTAG TRST signal.
The controller is the Nano-TBC VHDL.
The link is a 560-class version-D multi-purpose cable.
The software is configured for Nano-TBC VHDL features.
The controller will be software reset via its registers.
The controller has a logic ONE on its EMU[0] input pin.
The controller has a logic ONE on its EMU[1] input pin.
The controller will use falling-edge timing on output pins.
The controller cannot control the timing on input pins.
The scan-path link-delay has been set to exactly '2' (0x0002).
The utility logic has not previously detected a power-loss.
The utility logic is not currently detecting a power-loss.

-----[The log-file for the JTAG TCLK output generated from the PLL]----------

Test Size Coord MHz Flag Result Description
~~~~ ~~~~ ~~~~~~~ ~~~~~~~~ ~~~~ ~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
1 none - 01 00 500.0kHz - similar isit internal clock
2 none - 01 09 570.3kHz - similar isit internal clock
3 512 - 01 00 500.0kHz O good value measure path length
4 512 + 02 00 4.000MHz [O] good value apply explicit tclk

The first internal/external clock test resuts are:
The expect frequency was 500000Hz.
The actual frequency was 499872Hz.
The delta frequency was 128Hz.

The second internal/external clock test resuts are:
The expect frequency was 570312Hz.
The actual frequency was 569214Hz.
The delta frequency was 1098Hz.

In the scan-path tests:
The test length was 16384 bits.
The JTAG IR length was 6 bits.
The JTAG DR length was 1 bits.

The IR/DR scan-path tests used 4 frequencies.
The IR/DR scan-path tests used 500.0kHz as the initial frequency.
The IR/DR scan-path tests used 4.000MHz as the highest frequency.
The IR/DR scan-path tests used 4.000MHz as the final frequency.

-----[Measure the source and frequency of the final JTAG TCLKR input]--------

The frequency of the JTAG TCLKR input is measured as 3.995MHz.

The frequency of the JTAG TCLKR input and TCLKO output signals are similar.
The target system likely uses the TCLKO output from the emulator PLL.

-----[Perform the standard path-length test on the JTAG IR and DR]-----------

This path-length test uses blocks of 512 32-bit words.

The test for the JTAG IR instruction path-length succeeded.
The JTAG IR instruction path-length is 6 bits.

The test for the JTAG DR bypass path-length succeeded.
The JTAG DR bypass path-length is 1 bits.

-----[Perform the Integrity scan-test on the JTAG IR]------------------------

This test will use blocks of 512 32-bit words.
This test will be applied just once.

Do a test using 0xFFFFFFFF.
Scan tests: 1, skipped: 0, failed: 0
Do a test using 0x00000000.
Scan tests: 2, skipped: 0, failed: 0
Do a test using 0xFE03E0E2.
Scan tests: 3, skipped: 0, failed: 0
Do a test using 0x01FC1F1D.
Scan tests: 4, skipped: 0, failed: 0
Do a test using 0x5533CCAA.
Scan tests: 5, skipped: 0, failed: 0
Do a test using 0xAACC3355.
Scan tests: 6, skipped: 0, failed: 0
All of the values were scanned correctly.

The JTAG IR Integrity scan-test has succeeded.

-----[Perform the Integrity scan-test on the JTAG DR]------------------------

This test will use blocks of 512 32-bit words.
This test will be applied just once.

Do a test using 0xFFFFFFFF.
Scan tests: 1, skipped: 0, failed: 0
Do a test using 0x00000000.
Scan tests: 2, skipped: 0, failed: 0
Do a test using 0xFE03E0E2.
Scan tests: 3, skipped: 0, failed: 0
Do a test using 0x01FC1F1D.
Scan tests: 4, skipped: 0, failed: 0
Do a test using 0x5533CCAA.
Scan tests: 5, skipped: 0, failed: 0
Do a test using 0xAACC3355.
Scan tests: 6, skipped: 0, failed: 0
All of the values were scanned correctly.

The JTAG DR Integrity scan-test has succeeded.

[End]
doom13
Не работает кусок кода для настройки регистра , в чём может быть проблема:
Код
unsigned int *pPinMux = (unsigned int *) PINMUX_REG_ADDR;

void SetPinMux(void)
{
     unsigned int savePinmux = 0;

     savePinmux = *pPinMux;
     savePinmux |= 1;
     *pPinMux = savePinmux;
}

Если указатель на обычный кусок памяти - всё гуд.
SAURIS GmbH
XDS510 полностью поддерживает AM1808.

Все эти проблемы случаются от двух вещей:

1) (в части ошибок во время заливки программы, коннекта, или исполнения GEL) - не включено адаптивное тактирование. Для ARM9 оно необходимо, ну либо ставить частоту TCK в 4 или более раз меньше той частоты, на которой стартует процессор до инициализации PLL. Это особенности архитектуры ARM9 и его эмуляционного блока.
2) ( в той же части) - несогласованность линий JTAG, особенно TCK_RET, слишком большие выбросы на них, или некорректные уровни (например 5-вольтовые при допустимых в 3.3).

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

doom13
Цитата(SAURIS GmbH @ Jun 24 2014, 18:19) *
XDS510 полностью поддерживает AM1808.

На сайте TI указано, что поддерживает. У нас XDS510USB от Spectrum Digital, на их сайте AM1808 в списке поддерживаемых девайсов нет. Кому верить?
Пробоволи законектиться с помощью XDS510USB - ничего не вышло, при создании Target Configuration в CCS v5.5 и нажатии Test Connection ошибку не выдаёт, но лог какой-то короткий (строки 4, в первом посте приводил пример). При нажатии на Connect Target, пытается что-то сделать, на TCLK клоки всё время идут, но соединения не происходит.
Есть плата с F28M36 (C28x + ARM Cortex-M3) со встроенным XDS100v2 и возможностью подключения внешнего JTAG. На ней нашим XDS510USB к ядру C28x конектится и при Test Connection нормальный такой лог выдаёт (есть, что почитать), к ядру Cortex-M3 - те же грабли, что и с AM1808. Поменяли несколько программаторов, но результат тот же. Пришли к выводу, что XDS510USB не поддерживает AM1808, попробовали Black Hawk 560PCI с ним стало хоть как-то подключаться (с проблемами, описанными выше), при Test Connection тоже лог нормальный (можете выше глянуть).

Цитата(SAURIS GmbH @ Jun 24 2014, 18:19) *
Все эти проблемы случаются от двух вещей:
1) (в части ошибок во время заливки программы, коннекта, или исполнения GEL) - не включено адаптивное тактирование. Для ARM9 оно необходимо, ну либо ставить частоту TCK в 4 или более раз меньше той частоты, на которой стартует процессор до инициализации PLL. Это особенности архитектуры ARM9 и его эмуляционного блока.

Для BH 560PCI адаптивное тактирование включено по-умолчанию с границей 10 МГц, вот задание меньшего значения границы не проходит, частота всё равно доходит до 10 МГц. Ещё попробовал ставить фиксированную частоту 2-4 МГц - этот вариант работает, хотя, если работает он, то работает и первый с адаптивным тактированием и лимитом в 10 МГц. Если уж отвалилось, то не работает ни то, ни другое, надо какое-то время убить, чтоб всё опять запустилось.
Для XDS510USB не пробовал менять тактирование, проверю, может и правда с ним заработает.


Цитата(SAURIS GmbH @ Jun 24 2014, 18:19) *
2) ( в той же части) - несогласованность линий JTAG, особенно TCK_RET, слишком большие выбросы на них, или некорректные уровни (например 5-вольтовые при допустимых в 3.3).

Что касается несогласованности линий JTAG, то, наверное, это может быть главной причиной, разъём был неправильно разведён (плата не первая, а лоханулись) и счас там куча проводов висит, чтоб исправить. Но если смотреть на TCLKR, то она практически ровная и красивая, а вот на самой TCLK есть небольшие выбросы.
SAURIS GmbH
XDS510 в принципе своем (не зависимо от производителя) поддерживает все те семейства, что поддерживает XDS560, без каких либо исключений или добавок.

А вот в частностях, чтобы XDS510 корректно работал с ARM9 (любым ARM9), надо либо самому обеспечить адаптивную генерацию TCK, не используя сигнал TCK с эмулятора (или используя его как строб для триггера петли RTCK->TCK), подавая на эмулятор получившийся TCK_RET, либо купить готовый адаптер с адаптивным тактированием, ну или использовать такой XDS510, в котором адаптивное тактирование встроено.

Еще одна частность, возможно, поможет добавление параметра router.skip_polling YES и router.adaptive_tclk yes, но зная особенности спектрумовских драйверов, не факт, что они будут вообще как-то реагировать на эти настройки, в отличие от других XDS510, базирующихся на драйверах TI. Да и адаптивное тактирование надо обеспечить, прежде чем играться этими параметрами.

На сайте спектрума написано, что поддерживает OMAP - значит поддерживает OMAP-L138 - а значит и его кастрированную версию - AM1808

UPD:
Вроде у XDS510 спектрума нет возможности менять параметры тактирования, в железе нет.

UPD2:
Если отвалилось, причем с такими ошибками, то надо полностью перезапускать дебаг сессию, с нуля, а с учетом того, что в современных композерах ее не всегда удается "срубить", то вплоть до перезапуска композера. После чего сделать "Reset emulator" и еще передернуть питание у таргета. К сожалению, код драйверов эмуляции TI построен так, что в нет ничего для корректного завершения после ошибочной ситуации. Внутренние эмуляционные блоки процессора остаются черти в каком состоянии, из которых корректно выйти практически невозможно.
doom13
Цитата(SAURIS GmbH @ Jun 24 2014, 22:54) *

Может что-то не так понимаю, для BH 560PCI стоит настройка (см. рисунок) и при подключении на линии TCLK перебираются клоки, это и есть адаптивное тактирование?

Цитата(SAURIS GmbH @ Jun 24 2014, 22:54) *
UPD2:
Если отвалилось, причем с такими ошибками, то надо полностью перезапускать дебаг сессию, с нуля, а с учетом того, что в современных композерах ее не всегда удается "срубить", то вплоть до перезапуска композера. После чего сделать "Reset emulator" и еще передернуть питание у таргета. К сожалению, код драйверов эмуляции TI построен так, что в нет ничего для корректного завершения после ошибочной ситуации. Внутренние эмуляционные блоки процессора остаются черти в каком состоянии, из которых корректно выйти практически невозможно.

Примерно так и поступаю.

Цитата(SAURIS GmbH @ Jun 24 2014, 22:54) *
Еще одна частность, возможно, поможет добавление параметра router.skip_polling YES и router.adaptive_tclk yes, но зная особенности спектрумовских драйверов, не факт, что они будут вообще как-то реагировать на эти настройки, в отличие от других XDS510, базирующихся на драйверах TI. Да и адаптивное тактирование надо обеспечить, прежде чем играться этими параметрами.

Тут спасибо, попробую посмотреть, как это влияет.
SAURIS GmbH
Цитата(doom13 @ Jun 25 2014, 00:12) *
Может что-то не так понимаю, для BH 560PCI стоит настройка (см. рисунок) и при подключении на линии TCLK перебираются клоки, это и есть адаптивное тактирование?


Угу, не так понимаете... Адаптивное тактирование, это когда эмулятор выдает следующий перепад на линии TCK только после того, как предыдущий перепад прошел через процессор, войдя в него по TCK, и выйдя по RTCK. Вообще, это реализуется тупым инвертором и триггером, на вход триггера подается RTCK, с выхода через инвертор подается на TCK, ну и это чем-то там тактируется достаточно высокочастотным (я недопонимаю, чего там спектрумдигитал на 150 баксов наворотил). Суть этого процесса в том, что в зависимости от тактовой ядра процессора (у ARM9), меняется максимально допустимая тактовая его TCK. Схема адаптивного тактирования сама адаптируется к изменению тактовой частоты ядра и меняет частоту TCK, поддерживая ее всегда около максимально разрешенной для данного режима процессора. А она, максимально разрешенная, меняется в разы и в десятки раз при запуске PLL и изменениях ее коэффициентов умножения.

Вот, изучите на досуге. http://www.blackhawk-dsp.com/downloads/doc...cking-TA-01.pdf

ЗЫ
надо бы нам статейку в нашей wiki накатать по-русски...

ЗЗЫ
Да, настройка "Automatic with limit", возможно, подразумевает адаптивное тактирование. Это уже надо изучать доку на конкретный эмулятор, что они там подразумевают под этим.


И совсем вдогонку. Еще вариант есть для XDS510 - найти где-то в Вашей плате клок 1 МГц или ниже, и его завести на TCK процессора и TCK_RET эмулятора. А RTCK процессора и TCK эмулятора не использовать. Возможно, спасет ситуацию для 510.
doom13
Цитата(SAURIS GmbH @ Jun 24 2014, 23:22) *

Спасибо, будо пробовать.
doom13
Цитата(doom13 @ Jun 24 2014, 14:17) *
с самой прошивкой и её стартом не мог разобраться, на какие-то непонятные адреса всё перепрыгивало.

Нашёл опции проекта при которых не попадает в main и ошибка выбрасывается.
1) Нерабочий вариант
2) Рабочий вариант
SAURIS GmbH
Ну это не удивительно, пытаться запустить код с библиотекой от ARMv7 (конкретно от ARM Cortex-M3) на архитектуре ARMv5 (ARM9) - это как бы, как код от пентиума с MMX запускать на старом i8086.
doom13
Цитата(SAURIS GmbH @ Jun 25 2014, 12:50) *
Ну это не удивительно, пытаться запустить код с библиотекой от ARMv7 (конкретно от ARM Cortex-M3) на архитектуре ARMv5 (ARM9) - это как бы, как код от пентиума с MMX запускать на старом i8086.

Да, есть такое, признаю. Почему же оно не ругалось и дало возможность выбора заведомо неправильной либы?
doom13
Приветствую!
Немного разобрался с процессором, решил вернуться решать старую проблему, которая состоит в том, что для подключения к прцессору приходиться потратить какое-то время.
Ранее считал, что проблема может быть как-то связана с отсутствием или наличием неправильного GEL файла, что было ошибочно, никакой связи там нет.
При подключении к процессору (Launch Selected Configuration -> Connect Target) возможны следующие варианты:
1) Подключение не произошло и выдало ошибку (рисунок 1).
2) Подключение произошло, но под подключением высветился адрес 0xFFFF000C (рисунок 2). Через какое-то ваемя выбросит ошибку. Если попробовать загрузить прошивку, так же выбрасывает ошибку (рисунок 3).
3) Подключение произошло, под подключением высветился адрес 0хFFFF0000 (рисунок 4). Всё будет работать до сброса питания процессора. Если сбросить питание - придётся попотеть, чтобы опять подключиться.

0xFFFF0000 ... 0xFFFF1FFF - ARM local RAM.

Возможная проблема - для нормальной работы с ARM9 и др. от TI необходим программатор с поддержкой адаптивного тактирования. Используется Black Hawk PCI560 c которым всё и работает описанным выше образом, с XDS510USB от Spectrum Digital подключаться не стало.

Решит ли предложенный девайс эту проблему?
Цитата(SAURIS GmbH @ Jun 24 2014, 22:54) *
А вот в частностях, чтобы XDS510 корректно работал с ARM9 (любым ARM9), надо либо самому обеспечить адаптивную генерацию TCK, не используя сигнал TCK с эмулятора (или используя его как строб для триггера петли RTCK->TCK), подавая на эмулятор получившийся TCK_RET, либо купить готовый адаптер с адаптивным тактированием, ну или использовать такой XDS510, в котором адаптивное тактирование встроено.


Кто какие программаторы использовал для работы с ARM9 (или др.) от TI?
jcxz
Цитата(doom13 @ Jul 15 2014, 13:30) *
Возможная проблема - для нормальной работы с ARM9 и др. от TI необходим программатор с поддержкой адаптивного тактирования. Используется Black Hawk PCI560 c которым всё и работает описанным выше образом, с XDS510USB от Spectrum Digital подключаться не стало.

У меня с точностью до наоборот: работает только если отключить адаптивное тактирование.
OMAP L137 (ARM9+C674x) + SAU510 Iso Plus + CCS3.3.
Так штааа....
SAURIS GmbH
Цитата(jcxz @ Jul 15 2014, 20:07) *
Так штааа....


Эта "так штаа..." есть issue эмуляторов версии Iso Plus до V.2 - на некоторых тактовых частотах имеется нестабильная работа по причине целостности сигналов... Тут все давно выяснено и устранено. А для нормальной работы с ARM9 необходимо или 1) TCK меньше либо равно CLK/4 (где CLK минимально возможная тактовая ядра в любом из режимов), или 2) адаптивное тактирование. Третьего не придумано.

Касаемо ошибок -1063 - классика жанра при проблемах с тактированием TCK или целостностью сигналов, то есть система эмуляции внутри ядра вообще в полном ауте. -1033 - обычно возникает, если код программы сделал что-тот такое, от чего процессору стало крайне плохо. Например, произвел запись каких-то данных в какие-то недокументированные области управления периферией, от чего произошел полный кирдык. Но, от проблем с тактированием тоже может быть на раз-два. Бывает, что первый коннект -1033, затем улетает в стабильную -1063.
doom13
Нашёл, как должна выглядеть настройка адаптивного тактирования в CCS v5 (см. рисунок), но для моего BH-560-PCI (или XDS510USB ) такая опция в выборе отсутствует, получается он не поддерживает адаптивное тактирование? Тут предлагается ещё один вариант адаптера. Но каким образом в настройке программатора появится эта опция если приобрести такой девайс? Не написано, что прилагается какой-то драйвер. Как тогда объяснить, что подключение всё же происходит (пусть и не с первого раза) и прграмматор далее нормально работает и без наличия адаптивного тактирования?

Цитата(SAURIS GmbH @ Jul 16 2014, 23:10) *
Касаемо ошибок -1063 - классика жанра при проблемах с тактированием TCK или целостностью сигналов, то есть система эмуляции внутри ядра вообще в полном ауте. -1033 - обычно возникает, если код программы сделал что-тот такое, от чего процессору стало крайне плохо. Например, произвел запись каких-то данных в какие-то недокументированные области управления периферией, от чего произошел полный кирдык. Но, от проблем с тактированием тоже может быть на раз-два. Бывает, что первый коннект -1033, затем улетает в стабильную -1063.

Error -1063 выскакивает достаточно редко. После него делаю сброс питания процессора и на следующий connect практически всегда происходит подключение. Если процессор подключился, то показывает остановку на адресе 0xFFFF0000, как понимаю - это и есть адрес вектора сброса в ARM RAM, в этом случае можно заливать прошивку и работать. Но наиболее часто при попытке подключения, как бы подключается, останавливается на адресе 0xFFFF000C, что соответствует адресу вектора Pre-fetch abort в ARM RAM, и вот тогда уже при попытке заливки прошивки выбросит Error -1033 (даже если ничего не заливать, ошибка со временем появится).
SAURIS GmbH
Цитата(doom13 @ Jul 17 2014, 01:58) *
Нашёл, как должна выглядеть настройка адаптивного тактирования в CCS v5 (см. рисунок), но для моего BH-560-PCI (или XDS510USB ) такая опция в выборе отсутствует, получается он не поддерживает адаптивное тактирование?

Ну, видимо, да. Я, все таки, техподдержка не blackhawk, поэтому "видимо".

Цитата(doom13 @ Jul 17 2014, 01:58) *
Но каким образом в настройке программатора появится эта опция если приобрести такой девайс? Не написано, что прилагается какой-то драйвер.

Этой железяке драйвер не нужен. Она обеспечивает адаптивное тактирование жестко, всегда и без возможности его отключения.

Цитата(doom13 @ Jul 17 2014, 01:58) *
Как тогда объяснить, что подключение всё же происходит (пусть и не с первого раза) и прграмматор далее нормально работает и без наличия адаптивного тактирования?

Значит ситуация, когда тактирование эмуляционной системы конфликтует с тактированием ядра, происходит не так часто, и позволяет нестабильно, но подключиться. А потом - когда GEL скрипт "заведет" PLL на сотни мегагерц, тогда уже адаптивное тактирование становится не актуальным.

Цитата(doom13 @ Jul 17 2014, 01:58) *
Но наиболее часто при попытке подключения, как бы подключается, останавливается на адресе 0xFFFF000C, что соответствует адресу вектора Pre-fetch abort в ARM RAM, и вот тогда уже при попытке заливки прошивки выбросит Error -1033 (даже если ничего не заливать, ошибка со временем появится).

Я не могу точно объяснить механизм, почему это так случается, так как это проблемы, вызванные чем-то внутри ядра процессора, а не проблемы эмулятора и эмуляционного интерфейса. Что-то в ядре "стопорится", в результате чего возникает и -1033, и, собственно, prefetch abort - обе вещи говорят одновременно об одном - кто-то внутри ядра заклинил работу внутренней шины. Это могло быть побочным эффектом сбоя в тактировании JTAG, могло быть сбоем в результате некорректной программы, в результате скачка на питании, на reset-е у процессора, и т.д., вариантов можно придумать еще много.

Что же касается адаптивного тактирования и его необходимости - при исследовании процесса подключения эмулятора к OMAP-L138 (это некастрированный брат-близнец AM1808), на осциллографе четко видно, как на какие то незначительные промежутки времени процессор понижает себе TCK, что говорит о том, что ему это надо.
jcxz
Цитата(SAURIS GmbH @ Jul 17 2014, 02:10) *
Эта "так штаа..." есть issue эмуляторов версии Iso Plus до V.2 - на некоторых тактовых частотах имеется нестабильная работа по причине целостности сигналов... Тут все давно выяснено и устранено. А для нормальной работы с ARM9 необходимо или 1) TCK меньше либо равно CLK/4 (где CLK минимально возможная тактовая ядра в любом из режимов), или 2) адаптивное тактирование.

Под "в любом из режимов" имеется в виду кроме прочего и тактовая до включения PLL?
Т.е. если у меня OMAP тактируется от внешнего генератора 18.432МГц, а после PLL получаю 294.912МГц, то нужна TCK <=18.432/4МГц ?
Но у меня вроде работало на TCK==15МГц с отключенным адаптивным тактированием.
Хотя надо ещё проверить - освежить в памяти какая там у меня была TCK...

А обновить прошивку в моём Iso Plus можно?
SAURIS GmbH
Цитата(jcxz @ Jul 17 2014, 10:52) *
Под "в любом из режимов" имеется в виду кроме прочего и тактовая до включения PLL?
Т.е. если у меня OMAP тактируется от внешнего генератора 18.432МГц, а после PLL получаю 294.912МГц, то нужна TCK <=18.432/4МГц ?

Да. Естественно, если Вы планируете подключаться эмулятором к ядру в такие моменты, когда PLL не умножает, либо сбрасывать PLL через GEL, или через сброс процессора, при активном подключении эмулятора. А еще там можно поделить тактовую без ее умножения для экономии питания, в таком случае TCK должна быть еще ниже.

Цитата(jcxz @ Jul 17 2014, 10:52) *
Но у меня вроде работало на TCK==15МГц с отключенным адаптивным тактированием.


Вот именно, что "вроде" - при нарушениях в тактировании оно "вроде" работает, но то нестабильно, то с глюками, то "вроде". Ведь там для сбоя надо, чтобы хитро совпали фронт на TCK с фронтом основного клока, причем во время вполне определенных операций через JTAG. А такие совпадения у кого-то могут быть раз в неделю, а у кого-то раз в минуту, только потому, что кварцы имеют разную частоту на 10 ppm.

Цитата(jcxz @ Jul 17 2014, 10:52) *
А обновить прошивку в моём Iso Plus можно?


Для Iso Plus не было выпущено обновлений, там просто выбирается ограничение верхней тактовой при адаптивном тактировании таким, чтобы связь была устойчивой. Хотя, если особо хотите, соберу прошивку и для него (улучшение стабильности соединения отрабатывалось уже на железе V.2, а там другая FPGA), но, сами понимаете - интенсивного тестирования, как было на новом железе, когда происходило обновление, такая сборка толком не пройдет... Если это Вам надо, подробности в личку.
Golikov A.
А в адаптивном тактировании JTAG подстраивает частоту под необходимую процу? А как он узнает? там какая-то обратная связь?
DmitryM
Цитата(Golikov A. @ Jul 17 2014, 16:17) *
А в адаптивном тактировании JTAG подстраивает частоту под необходимую процу? А как он узнает? там какая-то обратная связь?


RTCK
doom13
Цитата(Golikov A. @ Jul 17 2014, 15:17) *
А в адаптивном тактировании JTAG подстраивает частоту под необходимую процу? А как он узнает? там какая-то обратная связь?

Выше выкладывали ссылку на мануал по adaptive clocking, смотрите.
SAURIS GmbH
Цитата(doom13 @ Jul 17 2014, 18:12) *
Выше выкладывали ссылку на мануал по adaptive clocking, смотрите.

Ну этот случай я бы послал на http://infocenter.arm.com/help/index.jsp?t...aqs/ka3889.html - там описывается синхронизатор, создающий все эти проблемы, расположенный между JTAG-падами кристалла и ARM-ядром, и откуда произрастает RTCK.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.