Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SAU510 without CCS
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Сигнальные процессоры и их программирование - DSP
jcxz
Имеется-ли возможность загрузки и запуска .out-файлов в ОЗУ CPU посредством эмулятора класса SAU510 без использования CCS?
Желательно с минимальным кол-вом нажатий или вообще из командной строки.
И чтобы грузить и стартовать разные .out-файлы в разные устройства в JTAG-цепочке (каждый файл для своего устройства).
Нужно для первоначальной прошивки устройств на двухядерных CPU (OMAP L137) в условиях производства через SAU510 ISO PLUS (или SAU510 просто).
Edmundo
Цитата(jcxz @ Sep 3 2014, 11:56) *
Имеется-ли возможность загрузки и запуска .out-файлов в ОЗУ CPU посредством эмулятора класса SAU510 без использования CCS?
Желательно с минимальным кол-вом нажатий или вообще из командной строки.
И чтобы грузить и стартовать разные .out-файлы в разные устройства в JTAG-цепочке (каждый файл для своего устройства).
Нужно для первоначальной прошивки устройств на двухядерных CPU (OMAP L137) в условиях производства через SAU510 ISO PLUS (или SAU510 просто).

Возможно, это Вам поможет:
http://sauris.de/ru/articles/SAUFlash_and_TCLXDS/
Edmundo
Ну и второй вариант:
http://processors.wiki.ti.com/index.php/Debug_Server_Scripting
SAURIS GmbH
Цитата(jcxz @ Sep 3 2014, 11:56) *
Нужно для первоначальной прошивки устройств на двухядерных CPU (OMAP L137) в условиях производства через SAU510 ISO PLUS (или SAU510 просто).

Вообще, для этого есть SauFlash, она умеет шить некоторые виды памяти у L138. Поправить чутка скрипты, и пойдет для L137 (даже проще, чем для 138 они будут, так как у L137 DSP сразу запущен, а прошивка делается его силами). Так что почти все за Вас уже сделано. И под Linux host тоже.
jcxz
Цитата(SAURIS GmbH @ Sep 10 2014, 11:55) *
Вообще, для этого есть SauFlash, она умеет шить некоторые виды памяти у L138. Поправить чутка скрипты, и пойдет для L137 (даже проще, чем для 138 они будут, так как у L137 DSP сразу запущен, а прошивка делается его силами). Так что почти все за Вас уже сделано. И под Linux host тоже.

Это хорошо, но это мне известно, есть у меня такой скрипт и шил я им прекрасно.
Нужно не это.
Нужна именно загрузка в ОЗУ CPU и старт там ПО. А не зашивка его в SPI-флешку.
После такого старта ПО, оператор должен далее штатным образом обновить ПО через рабочий интерфейс (ПО примет себя самого и запишет в SPI-флешь).
Так нужно, потому что, при штатном обновлении, встроенное ПО принимает от внешнего прошивающего ПО кроме прошивки ещё и некоторую конфигурационную инфу,
которую добавляет к записываемому образу.
Можно конечно записать этим скриптом встроенное ПО, потом запустить его и обновить штатно. Но боюсь, что на производстве могут
забывать вторую стадию (раз ПО уже заработало) и изделие будет уходить без конфигурационной инфы. А это надо исключить.
SAURIS GmbH
Так выдерите из sauflash.tcl кусок, когда он загружает trgcode в процессор и стартует его. Вообще, TCLXDS позволяет делать полное управление процессором, включая загрузку, чтение-запись памяти и регистров, старт/стоп, точки останова, а также разбор исполняемых COFF файлов от CCS.

А вообще, для ускорения и упрощения процесса, можно бы доработать sauflash, чтобы он сам шил и ПО, и конфигурационную инфу, все в один запуск. Если уж говорить о технологичности процесса.

UPD:
Если интересует, как именно устроена загрузка COFF в процессор, загляните в xdshelp.tcl (в tcl/lib/....)
Ну а документация на TCLXDS присутствует в doc/ , если при установке была выбрана русская документация (английской версии ее до сих пор нет)

UPD2:
Для нескольких ядер тоже без проблем, только, разумеется, надо приконнектиться к обоим, и между коннектами сделать wakeup кому надо. Пример такого также есть в sauflash для L138.
jcxz
Цитата(SAURIS GmbH @ Sep 13 2014, 11:16) *
Так выдерите из sauflash.tcl кусок, когда он загружает trgcode в процессор и стартует его. Вообще, TCLXDS позволяет делать полное управление процессором, включая загрузку, чтение-запись памяти и регистров, старт/стоп, точки останова, а также разбор исполняемых COFF файлов от CCS.

Да, наверное так и придётся сделать если припрёт. Не хочется возиться с этим, думал есть готовое решение...

Цитата(SAURIS GmbH @ Sep 13 2014, 11:16) *
А вообще, для ускорения и упрощения процесса, можно бы доработать sauflash, чтобы он сам шил и ПО, и конфигурационную инфу, все в один запуск. Если уж говорить о технологичности процесса.

Да и производство вроде не массовое, а мелкое будет. Овчинка выделки не стоит. Главное чтобы без конфига не уходило случайно.
А то при таком изготовлении мелкими партиями от случая к случаю, когда нет отработанногоо техпроцесса, это как раз очень вероятно.

Цитата(SAURIS GmbH @ Sep 13 2014, 11:16) *
Если интересует, как именно устроена загрузка COFF в процессор, загляните в xdshelp.tcl (в tcl/lib/....)

Да знаю я его. Штатный загрузчик (по рабочему протоколу) писал тоже я. Он разбирает .ais и грузит его через рабочее ПО.

Цитата(SAURIS GmbH @ Sep 13 2014, 11:16) *
Ну а документация на TCLXDS присутствует в doc/ , если при установке была выбрана русская документация (английской версии ее до сих пор нет)
Для нескольких ядер тоже без проблем, только, разумеется, надо приконнектиться к обоим, и между коннектами сделать wakeup кому надо. Пример такого также есть в sauflash для L138.

А зачем к обоим коннектиться? Можно ведь только к DSP. Ведь ПО рассчитано что первоначально стартует только DSP. А весь ARM-код расположен в памяти,
видимой DSP-ядру. Можно загрузить в ОЗУ и далее снять reset с DSP-ядра.

PS: Изначально, когда проект только начинался, я планировал что начальная загрузка ПО будет производиться по UART (и на плате есть джампер включающий загрузку с UART).
Но потом мне так и не удалось добиться загрузки ПО UART. Хотя вроде формировал .ais по всем правилам (знаю что для загрузки через UART он должен быть другим чем через SPI (штатный режим)).
Не грузились даже готовые примеры.
Т.е. - насколько я помню, загрузка начиналась, доходила до какого-то блока и там всё застревало. Причину мне найти не удалось, поэтому забил.
SAURIS GmbH
Цитата(jcxz @ Sep 13 2014, 12:46) *
Да, наверное так и придётся сделать если припрёт. Не хочется возиться с этим, думал есть готовое решение...

Ну, по сути, оно и есть почти готовое решение. Подсуньте Ваш .out как бы как trgcode сауфлаша, он его загрузит, стартанет, ну и вывалится с ошибкой ожидания останова (который ожидает от штатного trgcode).

Цитата(jcxz @ Sep 13 2014, 12:46) *
Да знаю я его. Штатный загрузчик (по рабочему протоколу) писал тоже я. Он разбирает .ais и грузит его через рабочее ПО.

Я имел в виду, как это делается средствами TCLXDS через JTAG. И в TCLXDS есть средства работы с COFF (.out), а с AIS и прочими бутлоадерскими таблицами - нету.

Цитата(jcxz @ Sep 13 2014, 12:46) *
А зачем к обоим коннектиться? Можно ведь только к DSP. Ведь ПО рассчитано что первоначально стартует только DSP. А весь ARM-код расположен в памяти,
видимой DSP-ядру. Можно загрузить в ОЗУ и далее снять reset с DSP-ядра.


Ну это Вам виднее, как это конкретно реализовать. Я говорил о том, что средствами TCLXDS можно спокойно работать одновременно с несколькими ядрами.
Anton3A
Здравствуйте.
Есть проблема - необходимо научиться загружать ПО в микроконтроллер TMS320F2808 с помощью SAU510USB IsoPlus без CCStudio. Для этого необходимо для начала создать hex-файл с помощью hex2000.exe. Кто-нибудь владеет искусством правильного применения консольной утилиты hex2000.exe? У меня не получается получить файл с по-байтовым (8 бит) представлением данных. На сайте поддержки SAU510USB IsoPlus не смогли оказать помощь.
NULL
Цитата(Anton3A @ Feb 1 2016, 22:49) *
На сайте поддержки SAU510USB IsoPlus не смогли оказать помощь.


Приветствую!
Собственно за Вас никто документацию читать не будет.
Инструкции по работе с данной утилитой очень подробно описаны в документации,
в разделе "Hex Conversion Utility Description"
Anton3A
Цитата
Собственно за Вас никто документацию читать не будет.

Приветствую.
Я по этой инструкции и пытаюсь сделать. Правда файл за 2005 год. Вроде бы все необходимые опции выставляю, но утилита не генерирует файл если поставить опцию "- memwidth 8" Работает только при "- memwidth 16". Может новый файл поможет. Спасибо.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.