jcxz 231 21 ноября, 2011 Опубликовано 21 ноября, 2011 · Жалоба Сабж будет работать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sauris 0 21 ноября, 2011 Опубликовано 21 ноября, 2011 · Жалоба Будет работать любой сабж, который работает с TI XDS510 и/или TI XDS100 и соответствующим образом поддержан в композере. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 231 13 декабря, 2011 Опубликовано 13 декабря, 2011 · Жалоба К сожалению, как я и опасался, возникли проблемы :( Имеем: 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-пинами? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sauris 0 13 декабря, 2011 Опубликовано 13 декабря, 2011 (изменено) · Жалоба При загрузке в процессор кода (по File->Load program) сам композер выставляет регистр PC на точку входа загруженного образа. Как вариант - у вас процессор не в состоянии HALT в момент загрузки кода, и поэтому загрузка кода не делает ему рестарта. Проверьте, что перед File->Load program процессор остановлен, и если надо, укажите это в свойствах подключения, что останавливать процессор при подключении эмулятора. Сам эмулятор здесь не причем, это вопросы к композеру и конфигурации таргета. Изменено 13 декабря, 2011 пользователем SAURIS GmbH Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 231 13 декабря, 2011 Опубликовано 13 декабря, 2011 · Жалоба Перед загрузкой кода процессор в состоянии suspend (в состоянии running загрузка кода даже не стартует), после - в состоянии running. В свойствах debug установлено "restart after program load" (как-то так примерно - по памяти). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sauris 0 13 декабря, 2011 Опубликовано 13 декабря, 2011 (изменено) · Жалоба Постараюсь сам проверить. Но точно дело в настройках в CCS, так как эмулятор работает, если грузит программу, умеет делать halt и run, и задавать значения регистров. А тут проблема в алгоритме работы композера, а не в том, что эмулятор неверно исполняет ту или иную заданную ему операцию сканирования JTAG. Возможно еще такой нюанс - xds100 имеет возможность управлять RESET-ом процессора именно дерганием пина резета снаружи - там в 20-пиновом его разъеме есть такой сигнал. А на 14-пиновом XDS510 нету. Соотв. Если есть попытка использовать wait-in-reset или подобную фичу, то на xds510 это не сделать. Но все это опять же конфигурируемо в CCS Изменено 13 декабря, 2011 пользователем SAURIS GmbH Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 231 13 декабря, 2011 Опубликовано 13 декабря, 2011 (изменено) · Жалоба Мы сразу тоже подумали на этот TRST с XDS100 - посмотрели его скопом - но во время загрузки кода XDS100 он не дёргается. Также нет и выходного reset с процессора (нога XRS на проце - это in/out с ОК - т.е. может быть выходом), хотя ПО грузится и стартует нормально. Да, вроде всё остальное SAU510 делает - грузит программу в RAM и FLASH, читает/редактирует содержимое регистров/периферии/памяти, делает halt/run обоим ядрам, отрабатывает бряки и т.п. Есть только эта разница между встроенным XDS100 и SAU510. На всякий случай цепляю файлы конфигурации SAU510 и XDS100 из нашего проекта. ccxml.zip Изменено 14 декабря, 2011 пользователем jcxz Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sauris 0 14 декабря, 2011 Опубликовано 14 декабря, 2011 (изменено) · Жалоба Я говорил не про TRST, и не про выходной резет процессора, я говорил про выходной резет XDS100 - на его стандартном 20-пиновом разъеме это пин 15, сигнал SRST, которого в SAU510 нет пока вообще. Этим резетом эмулятор имеет возможность дернуть таргет за его reset в режиме WIR - wait-in-reset. Короче - с sau510 WIR не поддерживается вообще, правда совершенно не факт, что это имеет какое-то отношение к делу. ЗЫ. А зачем если не секрет "Target provide TCKR signal" стоит в NO? Какой-то нестандартный JTAG-разъем использован без TCK_RET? Это так, ради интереса, дела не касается. ЗЗЫ. А GEL-файлы применяются какие либо? И в том, и в другом случае? Возможно еще в них разница. Изменено 14 декабря, 2011 пользователем SAURIS GmbH Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 231 15 декабря, 2011 Опубликовано 15 декабря, 2011 (изменено) · Жалоба Я говорил не про 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-шные, я в них вроде ничего не правил (прицепил сюда). gel.zip Изменено 15 декабря, 2011 пользователем jcxz Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sauris 0 15 декабря, 2011 Опубликовано 15 декабря, 2011 · Жалоба И все таки... Если имеем после подключения состояние halted, и делаем File->Load Program, то точно регистр PC не устанавливается на точку входа? Я проверил на другом C28x ядре (драйвер то все равно тот же, tixds28x.dvr) - устанавливает PC как надо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 231 16 декабря, 2011 Опубликовано 16 декабря, 2011 · Жалоба Точно не устанавливается - много раз проверил. Но возможно проблема в процессорах (они с буквой X) или в композере. Сейчас такая же беда началась и на evalboard+XDS100 с прошивкой, присланной из TI. Хотя с моей прошивкой в evalboard - всё ок. В настоящий момент общаюсь с поддержкой TI - надеюсь ситуация прояснится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sauris 0 19 декабря, 2011 Опубликовано 19 декабря, 2011 (изменено) · Жалоба прошивка чего разная? прошивка XDS100-го? Или проца? Вообще это явно проблема композера. Потому что композер управляет процом, а никак не наоборот. Изменено 19 декабря, 2011 пользователем SAURIS GmbH Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться