Перейти к содержанию
    

Concerto F28M35H52C1 + SAU510-USB ISO PLUS JTAG

Будет работать любой сабж, который работает с TI XDS510 и/или TI XDS100 и соответствующим образом поддержан в композере.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

К сожалению, как я и опасался, возникли проблемы :(

Имеем: CCS 4.2.4.00034 + SAU510-USB ISO Plus + F28M35H52C1.

Также имеем 2 опции:

1. отладочную плату F28M35xx ISO controlCARD от TI с F28M35H52C1 и со встроенным JTAG XDS100v2 (isolated).

2. макет устройства с F28M35H52C1 и подключенный к нему SAU510.

Запускаем на опции 1 проект скомпилённый для работы из ОЗУ - выполняется нормально, независимо от состояния boot-пинов.

Также если компилим проект для выполнения из FLASH - тоже выполняется нормально, независимо от состояния boot-пинов.

Если то же самое попытаться проделать на опции 2, то загрузить проект в ОЗУ возможно, но после этого отладчик так и не выходит на main

(в конфигурации всё прописано нормально чтобы выходить на main после загрузки), а остаётся в состоянии "running".

Если остановить процессор, то видно что выполнение передаётся в соответствии с boot-пинами, но мы заложили в макет только возможность

выбора или загрузки из FLASH или из serial надеясь, что SAU510 будет работать также как и встроенный.

Вобщем - компилится и грузится в ОЗУ нормально, но не стартует (выполнение остаётся в области bootROM). Можно вручную потом выставить

регистр PC процессора на точку входа и стартануть - тогда всё начинает работать, но это не дело.

Разводку линий JTAG для своего макета взяли с данной отладочной платы - всё аналогично.

 

В чём может быть проблема?

Можно заставить SAU510 запускать прошивку с точки входа указанной в out-файле (как делает XDS100v2), а не в соответствии с boot-пинами?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При загрузке в процессор кода (по File->Load program) сам композер выставляет регистр PC на точку входа загруженного образа. Как вариант - у вас процессор не в состоянии HALT в момент загрузки кода, и поэтому загрузка кода не делает ему рестарта. Проверьте, что перед File->Load program процессор остановлен, и если надо, укажите это в свойствах подключения, что останавливать процессор при подключении эмулятора. Сам эмулятор здесь не причем, это вопросы к композеру и конфигурации таргета.

Изменено пользователем SAURIS GmbH

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Перед загрузкой кода процессор в состоянии suspend (в состоянии running загрузка кода даже не стартует), после - в состоянии running.

В свойствах debug установлено "restart after program load" (как-то так примерно - по памяти).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Постараюсь сам проверить. Но точно дело в настройках в CCS, так как эмулятор работает, если грузит программу, умеет делать halt и run, и задавать значения регистров. А тут проблема в алгоритме работы композера, а не в том, что эмулятор неверно исполняет ту или иную заданную ему операцию сканирования JTAG.

 

Возможно еще такой нюанс - xds100 имеет возможность управлять RESET-ом процессора именно дерганием пина резета снаружи - там в 20-пиновом его разъеме есть такой сигнал. А на 14-пиновом XDS510 нету. Соотв. Если есть попытка использовать wait-in-reset или подобную фичу, то на xds510 это не сделать. Но все это опять же конфигурируемо в CCS

Изменено пользователем SAURIS GmbH

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мы сразу тоже подумали на этот TRST с XDS100 - посмотрели его скопом - но во время загрузки кода XDS100 он не дёргается. Также нет и выходного reset с процессора

(нога XRS на проце - это in/out с ОК - т.е. может быть выходом), хотя ПО грузится и стартует нормально.

Да, вроде всё остальное SAU510 делает - грузит программу в RAM и FLASH, читает/редактирует содержимое регистров/периферии/памяти, делает halt/run обоим ядрам, отрабатывает бряки и т.п.

Есть только эта разница между встроенным XDS100 и SAU510.

На всякий случай цепляю файлы конфигурации SAU510 и XDS100 из нашего проекта.

ccxml.zip

Изменено пользователем jcxz

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я говорил не про TRST, и не про выходной резет процессора, я говорил про выходной резет XDS100 - на его стандартном 20-пиновом разъеме это пин 15, сигнал SRST, которого в SAU510 нет пока вообще. Этим резетом эмулятор имеет возможность дернуть таргет за его reset в режиме WIR - wait-in-reset. Короче - с sau510 WIR не поддерживается вообще, правда совершенно не факт, что это имеет какое-то отношение к делу.

 

ЗЫ. А зачем если не секрет "Target provide TCKR signal" стоит в NO? Какой-то нестандартный JTAG-разъем использован без TCK_RET? Это так, ради интереса, дела не касается.

 

ЗЗЫ. А GEL-файлы применяются какие либо? И в том, и в другом случае? Возможно еще в них разница.

 

 

Изменено пользователем SAURIS GmbH

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я говорил не про TRST, и не про выходной резет процессора, я говорил про выходной резет XDS100 - на его стандартном 20-пиновом разъеме это пин 15, сигнал SRST, которого в SAU510 нет пока вообще. Этим резетом эмулятор имеет возможность дернуть таргет за его reset в режиме WIR - wait-in-reset. Короче - с sau510 WIR не поддерживается вообще, правда совершенно не факт, что это имеет какое-то отношение к делу.

хм... на этом встроенном XDS100 я такого сигнала не наблюдаю. Вот все сигналы, которые идут от JTAG-контроллера через изоляторы на этой evalboard:

TDI, TRSTn, TCK, TMS, RX, TX, TDO, EMU0, EMU1 (TX, RX - идут на UART0).

ЗЫ. А зачем если не секрет "Target provide TCKR signal" стоит в NO? Какой-то нестандартный JTAG-разъем использован без TCK_RET? Это так, ради интереса, дела не касается.

Видно это очередной глюк CCS. См. прицепленный скриншот - это этот ccxml-файл открытый в CCS.

Блин, если в нём такие баги, то вообще непонятно какие он параметры реально использует.... :(

ЗЗЫ. А GEL-файлы применяются какие либо? И в том, и в другом случае? Возможно еще в них разница.

Да, применяю. Они общие в обоих случаях и входят в проект. gel-файлы взяты TI-шные, я в них вроде ничего не правил (прицепил сюда).

post-38713-1323915075_thumb.png

gel.zip

Изменено пользователем jcxz

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И все таки... Если имеем после подключения состояние halted, и делаем File->Load Program, то точно регистр PC не устанавливается на точку входа? Я проверил на другом C28x ядре (драйвер то все равно тот же, tixds28x.dvr) - устанавливает PC как надо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Точно не устанавливается - много раз проверил.

Но возможно проблема в процессорах (они с буквой X) или в композере. Сейчас такая же беда началась и на evalboard+XDS100 с прошивкой, присланной из TI.

Хотя с моей прошивкой в evalboard - всё ок.

В настоящий момент общаюсь с поддержкой TI - надеюсь ситуация прояснится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

прошивка чего разная? прошивка XDS100-го? Или проца? Вообще это явно проблема композера. Потому что композер управляет процом, а никак не наоборот.

Изменено пользователем SAURIS GmbH

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...