Jump to content

    
Sign in to follow this  
bomj

программирование TMS320F28035

Recommended Posts

Товарищи, подскажите начинающему.

Начинаю изучать 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 или купить чистый контроллер и запаять его вместо старого.

Share this post


Link to post
Share on other sites

JTAG должен работать всегда. Варианты, почему он не работает: а) он просто убит; б) нет тактовой; в) процессор в резете; г) EMU0/1 не в единицах; д) что-то с питанием. Ну и подобное. Проверьте его работу при помощи утилиты xdsprobe из состава CCS.

Share this post


Link to post
Share on other sites
JTAG должен работать всегда.

Так-ли?

К примеру в даташите на F28M35 вроде написано, что можно заблокировать JTAG (см. раздел "JTAG Lock").

На ARM-ах NXP к примеру тоже можно заблокировать.

 

2) Как прошить flash не через JTAG, есть ли какой софт прошивания через serial?

Например в ARM-ах NXP если флешь заблокирована и считать/записать её нельзя и JTAG заблокирован, то можно только выполнить полное стирание флешь (через UART), после этого и защита тоже сбрасывается.

Share this post


Link to post
Share on other sites

У меня есть другая плата с F2806. Мой XDS100 ее видит, но не может прошить (ответ по TDO есть), пишет что таргет залочен. Значит программатор исправен скорее всего. На этой плате контроллер тактируется от кварца.

На плате с F28035 контроллер тактируется внутренним генератором, но я думаю что это не является причиной проблемы поскольку в описании на его JTAG написано что соединение возможно независимо от наличия любого тактирования у микроконтроллера.

Edited by Bomj

Share this post


Link to post
Share on other sites
вроде написано, что можно заблокировать JTAG

 

Вроде нельзя его заблокировать так, чтобы он тупо оторвал TDO. Он при этом не должен переставать пропускать через себя сигнал в байпасе - позволяя работать с другими девайсами в цепочке. То есть сигнал через жтаг проходить все равно должен, и должны измеряться длины IR/DR

 

На плате с F28035 контроллер тактируется внутренним генератором, но я думаю что это не является причиной проблемы поскольку в описании на его JTAG написано что соединение возможно независимо от наличия любого тактирования у микроконтроллера.

 

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

Share this post


Link to post
Share on other sites
Главное, что контроллер должен вообще тактироваться, а от чего, это действительно параллельно. Причиной проблемы будет являться то, если ядро либо не тактируется вообще, либо в резете.

 

Контроллер тактируется и не в ресете, потому что плата работает - контроллер управляет переферией по программе.

Ладно, заменю контроллер на новый и отпишу.

Edited by Bomj

Share this post


Link to post
Share on other sites

Собственно заменил контроллер на пустой и все заработало.

Видимо либо так лочится JTAG либо на заводе после прошивки специально выжигают TDO пин.

 

Share this post


Link to post
Share on other sites
... либо на заводе после прошивки специально выжигают TDO пин.

Интересно как это делается, нагружают этот порт больше допустимого, или есть какой-то другой метод?

Share this post


Link to post
Share on other sites
Собственно заменил контроллер на пустой и все заработало.

Видимо либо так лочится JTAG либо на заводе после прошивки специально выжигают TDO пин.

корее всего он мертвый, нет смысла на заводе так заморачиваться, тем более деструктивным способом, это нелогично

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this