MicroCHIP.RU
Главная Документация Отладочные средства Справочник Поиск Ссылки
 Новости   Конференция   Контакты 
 

осваиваем ICD2

 Нoвaя темa  |  Наверх  |  Перейти к теме  |  Поиск  |  Правила  |  Вход 

ВНИМАНИЕ!
Вы просматриваете архив форума.

Этот форум работает только в режиме просмотра и поиска.

Действующий форум переведен на новый движок и
находится по адресу www.microchip.su

 осваиваем ICD2
Автор: Peter M. ()
Дата:   05/07/2004 12:57

Приобрели фирменный сабж с источником питания и кабелем для подключения через RS232. Пытаюсь
подключиться к своему девайсу. Сразу возникают вопросы:
1. Распиновка выходного разъема для ICD и ICD2 совпадает или как?
2. Мой девайс питается от отдельного источника. Так вот нужно ли подключать провод питания
который идет от ICD2 к моему ус-ву ведь мое уже и так запитано?
3. Вывод MCLR подтянут резистором к питанию. Нужно ли его отключить от подтяжки и соединить с
соотв. проводом от ICD2( для ICD который у меня был ранее это рекомендовалось)
Работать буду от USB. Нужно ли в этом случае подключать прилагаемый к ICD2 источник питания или
будет достаточно питания получаемого от USB ( зелененький LED Power горит нормально и без доп.
источника).
Благодарствую всех консультантов!


 
 Re: осваиваем ICD2
Автор: Sashko ()
Дата:   05/07/2004 13:18

Приветик! У меня ICD2. Ответы:
1) ICD не имел, поэтому хз.
2) Как я выяснил провод питания от ICD2 к устройству не нужен, если оно уже запитано.
3) Резистор отключать не надо. Просто соединяй MCLR с соответствующим проводом от ICD2.

Я тоже работаю по USB, но у меня без вкюченного источника питания ICD2 шить отказывался, хотя
по логике он нафиг не нужен.
Мысль пришла такая: Без источника проходит только низковольтовое программирование, которое я не
использую. А посему для высоковольтового программирования (MCLR = 9..13.5 v) всетаки придется
включать источник.


 
 Re: осваиваем ICD2
Автор: Peter M. ()
Дата:   05/07/2004 13:36

Sashko писал(а):

> 1) ICD не имел, поэтому хз.
По схеме этого совкового ICD и фирменного ICD2 вроде бы совпадает...
> 2) Как я выяснил провод питания от ICD2 к устройству не нужен,
> если оно уже запитано.
> 3) Резистор отключать не надо. Просто соединяй MCLR с
> соответствующим проводом от ICD2.
>
А выяснять я стал потому что когда я все таким макаром соединил ICD2 стал ругаться что
неправильный ID у target device кажись ошибка 20, т.е. насколько я понимаю ситуацию ICD2 не
может считать ID микроконтроллера( в моем случае это pic18f2320). Правда макет мой собран на
дырчатой плате WishBoard куда не впаиваешь а все втыкаешь, в т.ч. и проводочки от ICD2.
Пользуюсь я кабелечком от прежнего ICD - у него с одной стороны RJ45, а с другой просто концы -
очень удобно тыкать в нужные места на плате!

...
> использую. А посему для высоковольтового программирования (MCLR
> = 9..13.5 v) всетаки придется
> включать источник.
Это тот который в комплекте?
Спасибо за советы.


 
 Re: осваиваем ICD2
Автор: Sashko ()
Дата:   05/07/2004 13:48

У меня он выдает ICDWarn0020: Invalid target device id (expected=0x43, read=0x0)
Но я на это дело уже не обращаю внимание.


 
 Re: осваиваем ICD2
Автор: Peter M. ()
Дата:   05/07/2004 13:58

Sashko писал(а):

> У меня он выдает ICDWarn0020: Invalid target device id
> (expected=0x43, read=0x0)
> Но я на это дело уже не обращаю внимание.
У меня что-то сильно сильно похожее на это! К сожалению проводочки со страху повыдергал,
поэтому точно сказать не могу ;-) Посему позволю себе вопрос со страху - а он может вылететь
если разьем подключен не так? Если тебе не трудно, то дай плз распиновку RJ45 если смотреть на
шайбу сверху и RJ45 cлева, а USB справа и для пущей уверенности пусть 1-ый контакт RJ45-го
будет идти от индикаторов. Надеюсь диспозиция понятна!!! а то у страха глазки круглые :-)

Успехов и удач!


 
 Re: осваиваем ICD2
Автор: msp ()
Дата:   05/07/2004 14:22

1. Совпадают.
2. Подключать обязательно. При этом в МПЛАБ нужно правильно указать источник питания схемы.
Причем сделать это нужно до подключения самой схемы.
3. Конденсаторов на мцлр точно не должно быть. Да и сопротивления желательно тоже убрать, они
только мешаться будут.

/* Посему позволю себе вопрос со страху - а он может вылететь если разьем подключен не так?*/

Запросто. И даже очень вероятно.

/* дай плз распиновку RJ45 если смотреть на шайбу сверху и RJ45 cлева,*/

Распиновка есть в хелпе МПЛАБ.




 
 Re: осваиваем ICD2
Автор: Peter M. ()
Дата:   05/07/2004 14:41

Сделал все согласно советам. Подключаться стал даже без варнингов! Но вот отлаживаться( в см.
ходить по шагам) мерзавец не хочет!!! Как его образумить?
Заранее благодарен!
Компилю с установленной опцией ICD.


 
 Re: осваиваем ICD2
Автор: msp ()
Дата:   05/07/2004 14:56

/* Как его образумить? */
Покажи параметры компиляции и линковки (скопируй содержимое Output.Build и заодно Output.MPLAB
ICD 2)




 
 Re: осваиваем ICD2
Автор: Peter M. ()
Дата:   05/07/2004 15:05

msp писал(а):

> /* Как его образумить? */
> Покажи параметры компиляции и линковки (скопируй содержимое
> Output.Build и заодно Output.MPLAB
> ICD 2)
>
Показываю...
Clean: Deleting intermediary and output files.
Clean: Deleted file "E:\PrPIC\sigdelta\SFUN_I.obj".
Clean: Deleted file "E:\PrPIC\sigdelta\SFUN_I.cce".
Clean: Deleted file "E:\PrPIC\sigdelta\MYDEL.obj".
Clean: Deleted file "E:\PrPIC\sigdelta\MYDEL.cce".
Clean: Deleted file "E:\PrPIC\sigdelta\memTstM.obj".
Clean: Deleted file "E:\PrPIC\sigdelta\memTstM.cce".
Clean: Deleted file "E:\PrPIC\sigdelta\sig_del.lde".
Clean: Deleted file "sig_del.cof".
Clean: Deleted file "E:\PrPIC\sigdelta\sig_del.mcs".
Clean: Done.
Executing: "D:\MCU\htpic18\bin\picc18.exe" -C -E"SFUN_I.cce" "SFUN_I.C" -O"SFUN_I.obj" -ICD -Q -
MPLAB -18F2320
Executing: "D:\MCU\htpic18\bin\picc18.exe" -C -E"MYDEL.cce" "MYDEL.C" -O"MYDEL.obj" -ICD -Q -
MPLAB -18F2320
Executing: "D:\MCU\htpic18\bin\picc18.exe" -C -E"memTstM.cce" "memTstM.c" -O"memTstM.obj" -ICD -
Q -MPLAB -18F2320
Executing: "D:\MCU\htpic18\bin\picc18.exe" -
E"sig_del.lde" "E:\PrPIC\sigdelta\SFUN_I.obj" "E:\PrPIC\sigdelta\MYDEL.obj" "E:\PrPIC\sigdelta\m
emTstM.obj" -O"sig_del.cof" -O"sig_del.hex" -ICD -Q -MPLAB -18F2320

Memory Usage Map:

Program ROM $000000 - $000003 $000004 ( 4) bytes
Program ROM $000008 - $000115 $00010E ( 270) bytes
Program ROM $00023E - $000ADB $00089E ( 2206) bytes
$0009B0 ( 2480) bytes total Program ROM

RAM data $0000C4 - $0000FF $00003C ( 60) bytes
RAM data $0001BA - $0001F3 $00003A ( 58) bytes
$000076 ( 118) bytes total RAM data

Near RAM $000000 - $00000F $000010 ( 16) bytes total Near RAM
Near bits $000080 - $000080 $000001 ( 1) bits total Near bits
ROM data $000004 - $000005 $000002 ( 2) bytes
ROM data $000200 - $00023C $00003D ( 61) bytes
$00003F ( 63) bytes total ROM data

Config Data $300000 - $300007 $000008 ( 8) bytes total Config Data


Program statistics:

Total ROM used 2543 bytes (31.0%)
Total RAM used 135 bytes (26.4%) Near RAM used 17 bytes (13.3%)

Loaded E:\PrPIC\sigdelta\sig_del.cof
BUILD SUCCEEDED: Mon Jul 05 15:04:18 2004

ICD2
Connecting to MPLAB ICD 2
...Connected
Setting Vdd source to target
Target Device PIC18F2320 found, revision = Rev 0x3
...Reading ICD Product ID
Running ICD Self Test
...Passed
MPLAB ICD 2 Ready
Resetting Target
MPLAB ICD 2 Ready


 
 Re: осваиваем ICD2
Автор: msp ()
Дата:   05/07/2004 15:23

Вроде все сделано грамотно. А на брейкпонте все-таки останавливает или нет?




 
 Re: осваиваем ICD2
Автор: Peter M. ()
Дата:   05/07/2004 15:35

msp писал(а):

> Вроде все сделано грамотно. А на брейкпонте все-таки
> останавливает или нет?
>
Ни на брейкпойнте не останавливается, ни пошагово не ходит. Еще обратил внимание на несколько
странную вещь - если делаю команду дойти до курсора, то мигает индикатор Busy но до курсора не
доходит( хотя м.б. и не должен). Еще если нажимаю F7 то моргнет Busy и все. Значение рс при
этом не меняется - стоит нулевое.
Я тут покурил и подумал что видимо контроллер после перестройки проекта под ICD2 нужно
перепрограммировать( в ICD это делалось как-то само) что я и проделал - результат прежний. Да
для справки MPLAB стоит 6.60 Еще если использовать ICD2 как прграмматор он сам отключается от
дебагера или нужно лезть переключать?


 
 Re: осваиваем ICD2
Автор: msp ()
Дата:   05/07/2004 16:02

Попробуй сначала на каком-нибудь простом примере из 5 - 10 строчек. Навроде
while (1)
{
++t1;
LC3 ^= 1;
t2 = t1 & 0x01;
}
Т.е. что-нибудь гарантированно работающее. Загружен должен быть *.cof.
После компиляции нажми кнопку program target device. Т.е. программировать нужно из-под отладчика.

Напишет что-нибудь похожее на
MPLAB ICD 2 Ready
Programming Target...
...Erasing Part
...Programming Program Memory (0x0 - 0x4DF)
...Loading DebugExecutive
...Programming DebugExecutive
...Programming Debug Vector
...Programming RSBUG
Verifying...
...Program Memory
...Debug Executive
...Debug Vector
...Verify Succeeded
Programming Configuration Bits
.. Config Memory
Verifying configuration memory...
...Verify Succeeded
Connecting to debug executive
...Programming succeeded
MPLAB ICD 2 Ready

/* Еще если использовать ICD2 как прграмматор он сам отключается от дебагера или нужно лезть пере
ключать? */

Если переключаться из отладчика в программатор (или обратно), МПЛАБ выдаст предупреждение и
выключит отладчик.




 
 Re: осваиваем ICD2
Автор: Peter M. ()
Дата:   05/07/2004 16:10

Ага! Спасибо! Несколько покувыркавшись я вполне придерживаюсь аналогичной точки зрения. Счас
сочиню чего нибудь попроще и буду кувыркаться с этим ICD2 :-) Может быть сменить еще и таргет
ну к примеру на 252 - они у меня под рукой, или по прежнему упражняться на 2320?

Еще раз спасибо за внимание к моим проблемам!


 
 Re: осваиваем ICD2
Автор: Ilya ()
Дата:   06/07/2004 11:45

Если лень прочитать документацию, то комплекте есть такой зелененький постер.
Если его развернуть и посмотреть на картинки, то все ваши вопросы отпадут.