|
|
View previous topic :: View next topic |
Author |
Message |
nurquhar
Joined: 05 Aug 2006 Posts: 149 Location: Redditch, UK
|
Can ICD2 be used to in Debug Mode on 18F24J10 ? |
Posted: Fri Oct 31, 2008 9:51 am |
|
|
I have an 18F24J10 part hooked upto my ICD2. I am using a 10mHz xtal, MPLAB 8.10 and PCH 3.249.
to solve the fuse bug in 3.249 I am setting fuses with
Code: | #fuses PRIMARY,H4_SW,NOIESO,NOXINST,NOWDT,NOPROTECT,NOFCMEN,CCP2B3,NODEBUG
#rom 0x1FFF8 = {0x04A0,0x0F05,0x02F8} |
Should I be able to debug at full speed ? ie 40mHz with the PLL on.
I find I can debug only upto the point where I issue the
Code: | setup_oscillator(OSC_PLL_ON) ; |
If I comment the above line out it seems to debug Ok through the rest of the code, however this is only at 10 not 40mHz.
Also for some reason if turn on the +ICD flag in the project options CCS complains that the part does not support ICD !! Even though it can !
Quote: | Executing: "C:\Program Files\PICC\Ccsc.exe" +FH "Fader5a.c" +DF +LN +T +A +M -Z +ICD +Y=9 +EA
*** Error 164 "N:\Projects\CityNeon\NewStreetSquare\NusoftController\Demo01\Fader5a\18F24J10.h" Line 2(9,20): Selected part does not have ICD debug capability |
|
|
|
PCM programmer
Joined: 06 Sep 2003 Posts: 21708
|
|
Posted: Fri Oct 31, 2008 12:25 pm |
|
|
When I compile your #fuses and #rom settings with vs. 4.081, I get this
data at the end of the .LST file:
Code: | Configuration Fuses:
Word 1: F400 DEBUG NOXINST NOSTVREN NOWDT NOPROTECT RESERVED
Word 2: FF05 H4_SW WDT32768 NOFCMEN NOIESO PRIMARY RESERVED
Word 3: F000 CCP2B3 RESERVED
ROM data:
01FFF8: A0 04 05 0F F8 02 |
Your ROM data does not match your intended fuse settings. I'm assuming
that you would like the ROM data to match the fuses generated by
a presumably good version of the compiler (4.081), but they don't.
For example, your ROM settings for Word 1 disable the DEBUG fuse.
Here is a comparison:
Code: |
Register CCS Your settings
Config1L 00 A0
Config1H F4 04
Config2L 05 05
Config2H FF 0F
Config3L 00 F8
Config4H F0 02
|
Refer to Table 20-1 in the 18F24J10 data sheet for an explanation of
the Config bits. It's on page 232 in the Acrobat Reader.
Quote: | TABLE 20-1: CONFIGURATION BITS AND DEVICE IDs |
|
|
|
nurquhar
Joined: 05 Aug 2006 Posts: 149 Location: Redditch, UK
|
|
Posted: Sat Nov 01, 2008 4:14 am |
|
|
Dear PCM
My question was realy about why I could'nt use ICD2 to debug past switching the PLL on and why CCS complains about +ICD compiler switch.
I think your focus on the fuses may be a red herring as I discuss below. I have tried with and without the manually setting the debug fuse bit. (I changed the #ROM as well !)
Code: | // My Debug Fuse Settings
#fuses PRIMARY,H4_SW,NOIESO,NOXINST,NOWDT,NOPROTECT,NOFCMEN,CCP2B3,DEBUG
#rom 0x1FFF8 = {0x0420,0x0F05,0x02F8}
Configuration Fuses:
Word 1: 0420 DEBUG NOXINST STVREN NOWDT NOPROTECT
Word 2: 0F05 H4_SW WDT32768 NOFCMEN NOIESO PRIMARY
Word 3: 02F8 CCP2B3 |
I am still using PCH 3.249. I know v4 is probably a lot better than it was year ago. However I am sure there are plenty of threads exploring that issue.
I note the following discrepancies with your analysis of comparing the config produced by my PCH 3.249 and your PCH 4.081.
In my PCH 3.249 I had the following :
Quote: | #fuses PRIMARY,H4_SW,NOIESO,NOXINST,NOWDT,NOPROTECT,NOFCMEN,CCP2B3,NODEBUG
#rom 0x1FFF8 = {0x04A0,0x0F05,0x02F8}
Produces in .LST
Configuration Fuses:
Word 1: 04A0 NODEBUG NOXINST STVREN NOWDT NOPROTECT
Word 2: 0F05 H4_SW WDT32768 NOFCMEN NOIESO PRIMARY
Word 3: 02F8 CCP2B3 |
Note the differences you have that I have highlighted for you.
Quote: | Configuration Fuses:
Word 1: F400 DEBUG NOXINST NOSTVREN NOWDT NOPROTECT RESERVED - Only BIT 2 of CONFIG1H is a fuse, other bits just ensure a NOP
Word 2: FF05 H4_SW WDT32768 NOFCMEN NOIESO PRIMARY RESERVED - BITS 4-7 of CONFIG2H are not fuses, bits just ensure a NOP
Word 3: F000 CCP2B3 RESERVED - Only BIT 0 of CONFIG3H is a fuse, others just used to ensure NOP
ROM data:
01FFF8: A0 04 05 0F F8 02 |
In summary it seems you have used DEBUG instead of NODEBUG and NOSTVREN instead of STVREN. Also 3.249 does not seem to care about setting the unused bits so the config words will look like NOP instuctions, should your code go to places it shouldn't. PCH 4.081 seems to have fixed this and does set the NOP bits |
|
|
PCM programmer
Joined: 06 Sep 2003 Posts: 21708
|
|
|
FvM
Joined: 27 Aug 2008 Posts: 2337 Location: Germany
|
|
Posted: Sat Nov 01, 2008 10:41 am |
|
|
According to the quoted support statement, the problem should be fixed now in MPLAB V8.15. Did you try? |
|
|
nurquhar
Joined: 05 Aug 2006 Posts: 149 Location: Redditch, UK
|
|
Posted: Sat Nov 01, 2008 10:51 am |
|
|
No I didn't. I did look at the release notes for 8.15 but I did not see anything that looked to me like a "we fixed that PLL problem". However it can't do any harm to try it. |
|
|
nurquhar
Joined: 05 Aug 2006 Posts: 149 Location: Redditch, UK
|
|
Posted: Sun Nov 02, 2008 3:42 am |
|
|
A nice Guy called Ken has put some new ICD2 firmware executives on the Microchip forum. These fix the "Can't get past PLL on instruction" when debugging on the 18F24J10 & with the 18F45K20 & 18F46K20 chips.
The great thing is you don't need to re-install a 8.15 version of MPLAB, just put the firmware files in the ICD2 directory of your PC.
I am now able to debug the 18F24J10 at full speed.
See this thread to get the downloads http://forum.microchip.com/tm.aspx?m=357884 |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|