• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::


Browsing this Thread:   1 Anonymous Users






MPLAB ICD2 燒錄問題
#1
新會員
新會員


查看用戶資訊
取得的 HEX 原始檔在 Configure bits 的設定是:INTOSC: I/O on RA6/OSC2/CLKOUT, I/O on RA7/OSC1/CLKIN

燒錄時,程式提示了
ICDWarn0033: MPLAB ICD 2 does not support programming this device if both the internal oscillator and internal MCLR are selected. You may continue programming, but you are encouraged to cancel, reconfigure your device, and try again.

但我還是燒了,結果出現失敗。
Programming Configuration Bits
.. Config Memory
Verifying configuration memory...
...Verify Failed (and stopped)
ICD0161: Verify failed (MemType = Config, Address = 0x2007, Expected Val = 0x3F10, Val Read = 0x0)
ICD0275: Programming failed.

而後對晶片作任何存取都出現
ICDWarn0020: Invalid target device id (expected=0x83, read=0x0)

請問:
1. 這樣是表示晶片燒壞了?
2. 不是的話,我如何把狀況排除?(例如清空PIC裡的所有資料,但又不會因 Invalid target device id 而無法執行)
3. 又或者,上述的設定需要什麼條件才能燒錄?


感謝~
PS: 我在網路上似乎也發現不少人有這類問題。
PS2: 附檔為網路上一個 Binary watch /w POV 功能,就是想弄這個來玩玩。

Attach file:


Link only for registered users

發表於: 2009/10/17 8:07
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: MPLAB ICD2 燒錄問題
#2
資深會員
資深會員


查看用戶資訊
我猜想 是 沒設定IC 種類 , MPLAB 內 上面 工具欄 選 Configure 再選 Select Device , 先設定正確的 IC 再進行燒錄 .....

聽說 ICD2 對燒錄的 IC 如-MCLR選擇 內部 RESET , 則燒錄上 較易出現問題......
( 我都使用 PICKit 2 的 獨立燒錄程式 , MY ICD2 從頭到尾 都在怡養天年....)

PS: 你是不是用 16F88X ? & WHAT IS POV ?

發表於: 2009/10/18 5:55
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: MPLAB ICD2 燒錄問題
#3
新會員
新會員


查看用戶資訊
感謝回覆。
我是用 16LF628A 這顆,在 configure 裡的 select device 也都設定了。

先交待一下我的背景,或許大家比較容易了解我的問題在那裡。

因為我不是科班出身的,電子相關的資訊都是自修來的,而且過去十餘年都在搞網路,所以也停滯了相當的時間。現在是網路穩定了,而又發現電子(MCU)這塊似乎有不少發展、應用空間,所以就準備把這塊玩熟,然後把它跟網路結合起來。

就我目前的認知,Configure bits 類似電腦上的 BIOS 設定,用來設定每顆 PIC 的運作模式,而我前述的燒錄訊息似乎是將 PIC 的狀態設定成不使用內頻的狀態,所以造成我的 Programmer 無法正確和它溝通。(我本來以為燒錄很單純,就買了副廠的 ICD2 燒錄板來用,而廠商提供的文件中也說了,如果測不到device的話,就要找別的燒錄器...囧rz)

所以,現在我突發奇想,如果為 PIC 加上外頻供應,不知道能不能連得起來?這個我等一下會來試試。

倒是,我在想燒錄的這個動作出錯,一來可能是振盪訊號的供應問題(總要讓IC run起來嘛),再者就是內部設定的檢核問題。

前者就如我的奇想,或許可以試試,但好奇的是,其他燒錄器是否沒這類問題?(因為我的燒錄器在 16LF628A 的RA6,RA7 二腳位是不用接線的)

後者的設定檢核,有可能是 IC 沒 run 起來造成的,但應該可以被 bypass 掉,因為 configure bits 的重要性應該是在執行階段,而非是燒錄階段。就這部份而言,我在想是不是跟使用的程式和燒錄器有關?

以上,請各位先進不吝賜教,謝謝!

11/11 的研討會上見囉~~ ^O^/

PS: POV = Persistence of Vision 就是視覺暫留的現象。這部份蠻有趣的,所以我想用 PIC 來作一些相關的應用。

發表於: 2009/10/18 23:09
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: MPLAB ICD2 燒錄問題
#4
資深會員
資深會員


查看用戶資訊
Configure bit 是設定一些在正常程式中動不到的地方故要另外設定
燒錄與振盪器無關 
so 內振  外振  均可以 
燒錄共須   V+  ,  V-  ,  MCLR RA5 燒錄高壓) , PGD RB7 DATA IN ) ,  PGC   RB6 CLOCK 五種線 ,
  (
28 Pin 以上 V+ , V有許多條 所以說 五種 )
    
五種線中 並不包含  RA6 RA7 OSC ) , 
 
但在其他 PIC 中   MCLR  ,  PGD PGC   有可能是與別的   I/O  腳位共用

11
/11 的研討會上 應該會有一片  DVD  DATA 片 
裡面資料很豐富 值得參考 另外可多逛  MICROCHIP 原廠網站也有許多資料可參考

     16F628A 算是蠻早期的東東 
又貴又不好買 電子廣場內大部分都是一些早期流下來的......)   
剛入門 最好從 16F886 ,  16F1936 18FXXXX   ,  24FXXKA.....    開始 比較不會浪費光陰.......

發表於: 2009/10/19 5:13
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: MPLAB ICD2 燒錄問題
#5
新會員
新會員


查看用戶資訊
感謝救世主。

沒關係,因為這次要作那個專題來玩玩,就當練習,也順便了解一些變因。

經過一番爬文和實驗後,我把那些原本會顯示 invalid target device id 的 16LF628A 都找到方法救回來了。

關鍵就如救世主和 help docs 裡面說的 MCLR 電壓,我用外部電源去推時就可以測到了。
之後 Erase part ,就可以回復到原始狀態。
但我發現我的 ICD2 好像會記得那個狀態,所以作完之後最好重新拔插一次,再作檢查。
以上,關於 invalid target device id 的問題算是解決了。

但以下有另一個問題:

因為拿到的 HEX 檔是用到了 Warning 33 的特殊狀況,也就是 MCLR 和 OSC 的問題。原始訊息:
ICDWarn0033: MPLAB ICD 2 does not support programming this device if both the internal oscillator and internal MCLR are selected. You may continue programming, but you are encouraged to cancel, reconfigure your device, and try again.

這造成我一直燒錄失敗。之後,我作了一些嚐試,例如:
A. 先燒 Program memory,再燒 Configure bits
B. 先燒 Configure bits, 再燒 Program memory

但結果都會在 verify 時出現錯誤,而比對失敗的第一個 byte 內容就是 Configure bits 的內容。

按理說,我燒的 program memory address 是 0x0 - 0x307
而 configure bits 的位置應該是 0x2007 而內容是 3F10

上述的 A 燒法是先把 configure bits 的 OSC 改為 HS,所以值變成 3F02,然後燒入,這樣都正常。

然後把 configure bits 改為 3F10 再單燒這部份內容時,燒錄成功,但 verify 卻失敗。

所以,我的疑問是:
1. 難道 ICD2 不給燒有警告訊息的 configure bits?
2. address 2007 的位置和內容似乎在 View 裡面看不到?

發表於: 2009/10/19 7:49
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: MPLAB ICD2 燒錄問題
#6
版主
版主


查看用戶資訊
1. 因為 MCLR 燒錄時設為 Interanl MCLR 時,MCLR 這隻腳會變成一般的 Input Pin,此時 ICD2 就無法裡用高壓方式給 MCLR 已進入燒錄模式,所以會發生燒錄錯誤的問題。所以 MCLR 如果設為 Input Pin 時要注意一下ICD 的燒錄訊息。

2. Configuration bits 的資料無法顯示在 Watch Window,可以在 Configuraton Bits 的視窗看到其設定的。

發表於: 2009/10/19 10:05
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: MPLAB ICD2 燒錄問題
#7
新會員
新會員


查看用戶資訊
感謝回應。

這樣說來,是 16F628A 這顆不支援這種設定方式?還是說有其他燒錄工具或方式,可以達到這個結果?

另外,Configuration bits 的內容是否可以另行燒錄?

因為我參考的那個玩家他就是燒出這樣的東西,只是不知道過程為何,真是傷腦筋。

http://cre.ations.net/creation/binarypov-custom-wristwatch

發表於: 2009/10/19 12:27
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: MPLAB ICD2 燒錄問題
#8
資深會員
資深會員


查看用戶資訊
我是 BEE   不是救世主 救世主  早就掛了 你是  CWTING 不是 新進會員 )
[
color=990000]    Configure bit 是設定一些在正常程式中動不到的地方故要另外設定[/color]

發表者 Ryang 於 2009/10/19 10:05:45
      1. 因為 MCLR 燒錄時設為 Interanl MCLR 時,MCLR 這隻腳會變成一般的 Input Pin,
[color=990000ICD2 就無法裡用高壓方式給 MCLR 已進入燒錄模式[/color],所以會發生燒錄錯誤的問題。
所以 MCLR 如果設為 Input Pin 時要注意一下ICD 的燒錄訊息。


   我最愛用的是  PICKit 2  
它也可像  ICD2  一樣當  DEBUGGER 但我沒用過),  
也可當 獨立燒錄器 在  MPLAB 內 or 外  燒錄)

     
而 有關 MCLR 燒錄問題 早期 FAE 是說要用  [color=990000]正式燒錄器 [/color來燒 
     
所以 建議的 TOOL  如下 :

  
1.  PM3   如果錢很多 建議使用 )
  
2.  PIC START PLUS   早期 插座式 燒錄器 不方便 無法  ON BOARD  燒錄 我家的也早已退休 ... )
  
3.  PICKit 2  便宜 輕薄短小 多用途  .....     服役中  )

        
致於   PICKit 3  沒用過 不于置評.....  ( 好像沒 獨立燒錄程式配合     ╮(╯_╰)╭         )

發表於: 2009/10/20 2:51
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: MPLAB ICD2 燒錄問題
#9
新會員
新會員


查看用戶資訊
感謝 Beee 的訊息。

這個起源於 Binary watch with POV (Persistence of vision) 的一連串問題,今天我終於全部解開了,也學習到很多,感謝大家。

分享心得如下:

1. 因為原作者並沒有給電路圖,而是劃出接線圖,結果在敏感的IC腳位部份少劃了關鍵的標記缺口,結果電路有拉錯,而且還錯不小。

2. 連帶的也對電路上零件 vs 16F628A 的腳位產生誤解,原本以為他是用外部振盪器,但實際上外部振盪器是用來當作定期的中斷訊號。

3. 過程中為了摸索問題,去書店逛了一下,發現台大附近書店幾乎沒這類書;重慶南路裡也不多,最後是在電腦人的聖殿(天瓏)看到比較多選擇。(我好奇這個東西不是應用性很大嗎?怎麼好像不被重視?)

4. K了半天書,算對 Microchip 的 MCU 架構、指令有一點了解後,又試著直接解讀作者的 HEX 檔轉出的組合語言程式。還好不算太長,大概看出裡面的作法和關鍵的中斷機制。

5. 看完程式後,才讓我確認 HEX 檔的程式和設定無誤,而麵包板上的電路應該有問題。然後才再仔細研究作者網頁,發現了 1. 和 2.。

6. 最後,按 HEX 的設定直接燒錄 16F628A ,雖然在 program memory burned & verified , configuration bits burned but NOT verified (因為 MCLR 問題)。但燒出來的 IC 已經讓電路跑起來了.....(超爽的)

在這個入門的 kid project 完成後,我想該是仔細再讀讀書本和 IC 規格,然後建立有系統的開發程序,盡快完成各種應用。(下一個目標是 MPPT 的機電控制系統)

以上,是這幾天衝撞後的心得,感謝大家的協助。PIC 真的很有趣~

發表於: 2009/10/20 16:10
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: MPLAB ICD2 燒錄問題
#10
版主
版主


查看用戶資訊
Microchip 針對初學者有開多種教育訓練 (RTC) 的課程,有時間來上一下課,這樣對玩PIC有很大的幫助。

發表於: 2009/10/21 12:02
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------