bomj 0 19 сентября, 2012 Опубликовано 19 сентября, 2012 · Жалоба Товарищи, подскажите начинающему. Начинаю изучать C2000, соответственно нужно прошивать в какой то таргет свой код. У меня есть CCS4.2 , XDS100v2 и некоторая серийная плата с TMS320F28035, которую очень удобно использовать для разработки своего кода. На этой плате выведены JTAG и serial. При попытке запустить Debug, не устанавливается соединение с таргетом, на осциллографе видны сигналы на TMS, TDI, TCK, TRST=1 - а на TDO всегда 1, т.е. ответа нет от контроллера. CCS иногда подвисает, иногда выдают ошибку соединения. Пробовал очистить flash через утилиту Uniflash (как я понимаю это тоже самое что и on-chip flash program, которой нет в меню Tools). Результат такой же что и из CCS - TDO всегда 1. Отсюда вопросы: 1) При прошивке контроллера на заводе производитель мог вообще отключить JTAG? В описании на блок защиты нет явного указания что JTAG полностью отключается, написано что блокируется доступ к определенным адресам памяти и регистрам. 2) Как прошить flash не через JTAG, есть ли какой софт прошивания через serial? Соответственно если мои рассуждения правильные - то необходимо как то очистить flash через serial или купить чистый контроллер и запаять его вместо старого. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sauris 0 19 сентября, 2012 Опубликовано 19 сентября, 2012 · Жалоба JTAG должен работать всегда. Варианты, почему он не работает: а) он просто убит; б) нет тактовой; в) процессор в резете; г) EMU0/1 не в единицах; д) что-то с питанием. Ну и подобное. Проверьте его работу при помощи утилиты xdsprobe из состава CCS. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 20 сентября, 2012 Опубликовано 20 сентября, 2012 · Жалоба JTAG должен работать всегда. Так-ли? К примеру в даташите на F28M35 вроде написано, что можно заблокировать JTAG (см. раздел "JTAG Lock"). На ARM-ах NXP к примеру тоже можно заблокировать. 2) Как прошить flash не через JTAG, есть ли какой софт прошивания через serial? Например в ARM-ах NXP если флешь заблокирована и считать/записать её нельзя и JTAG заблокирован, то можно только выполнить полное стирание флешь (через UART), после этого и защита тоже сбрасывается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bomj 0 20 сентября, 2012 Опубликовано 20 сентября, 2012 (изменено) · Жалоба У меня есть другая плата с F2806. Мой XDS100 ее видит, но не может прошить (ответ по TDO есть), пишет что таргет залочен. Значит программатор исправен скорее всего. На этой плате контроллер тактируется от кварца. На плате с F28035 контроллер тактируется внутренним генератором, но я думаю что это не является причиной проблемы поскольку в описании на его JTAG написано что соединение возможно независимо от наличия любого тактирования у микроконтроллера. Изменено 20 сентября, 2012 пользователем Bomj Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sauris 0 20 сентября, 2012 Опубликовано 20 сентября, 2012 · Жалоба вроде написано, что можно заблокировать JTAG Вроде нельзя его заблокировать так, чтобы он тупо оторвал TDO. Он при этом не должен переставать пропускать через себя сигнал в байпасе - позволяя работать с другими девайсами в цепочке. То есть сигнал через жтаг проходить все равно должен, и должны измеряться длины IR/DR На плате с F28035 контроллер тактируется внутренним генератором, но я думаю что это не является причиной проблемы поскольку в описании на его JTAG написано что соединение возможно независимо от наличия любого тактирования у микроконтроллера. Главное, что контроллер должен вообще тактироваться, а от чего, это действительно параллельно. Причиной проблемы будет являться то, если ядро либо не тактируется вообще, либо в резете. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bomj 0 21 сентября, 2012 Опубликовано 21 сентября, 2012 (изменено) · Жалоба Главное, что контроллер должен вообще тактироваться, а от чего, это действительно параллельно. Причиной проблемы будет являться то, если ядро либо не тактируется вообще, либо в резете. Контроллер тактируется и не в ресете, потому что плата работает - контроллер управляет переферией по программе. Ладно, заменю контроллер на новый и отпишу. Изменено 21 сентября, 2012 пользователем Bomj Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bomj 0 27 сентября, 2012 Опубликовано 27 сентября, 2012 · Жалоба Собственно заменил контроллер на пустой и все заработало. Видимо либо так лочится JTAG либо на заводе после прошивки специально выжигают TDO пин. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
C2000 2 27 сентября, 2012 Опубликовано 27 сентября, 2012 · Жалоба ... либо на заводе после прошивки специально выжигают TDO пин. Интересно как это делается, нагружают этот порт больше допустимого, или есть какой-то другой метод? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
prst 0 13 ноября, 2012 Опубликовано 13 ноября, 2012 · Жалоба Собственно заменил контроллер на пустой и все заработало. Видимо либо так лочится JTAG либо на заводе после прошивки специально выжигают TDO пин. корее всего он мертвый, нет смысла на заводе так заморачиваться, тем более деструктивным способом, это нелогично Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться