View previous topic :: View next topic |
Author |
Message |
Tre
Joined: 03 Jun 2005 Posts: 21
|
Fuse settings for 30F6012A |
Posted: Sun Sep 09, 2012 10:05 am |
|
|
I am using MPLAB-X (v1.4) and CCS 4.13.
When I try to program the device (dsPIC30F6012a), I always get the following error:
Address: f80004 Expected Value: 8000 Received Value: 8700
I have traced this back to the config bits for the FBORPOR register. The chip always seems to be ORing my fuse settings with 0x700. I believe that these are for motor control PWM bits (which this chip family has but not this particular device) all being set to 1. Particularly, the PWMPIN, HPOL, and LPOL bits.
My fuse settings are:
Code: |
#fuses BROWNOUT // Brownout reset
#fuses PUT64 // Power On Reset Timer value 64ms
#fuses BORV45 // Brownout reset at 4.2V
#fuses MCLR // Master Clear pin enabled
|
My question, is there anything that I can do?
I've tried:
Code: | #rom 0xf80004 = {0x8700} |
to pretend like I want those config bits to be set just so the programmer won't complain but that doesn't seem to help.
The device still seems to function fine like it is being programmed, but I believe that this is the root cause of my ICD debugging problems.
Help! |
|
|
Ttelmah
Joined: 11 Mar 2010 Posts: 19499
|
|
Posted: Mon Sep 10, 2012 7:25 am |
|
|
Agreed F80004, is FBORPOR.
I'd just try setting the bits high in the code, and see what happens.
You can do this with a #ROM statement.
Interestingly, the manual does not specify, either in the one for the chip, or in the programming manual, what these unused bits should read as.
Best Wishes |
|
|
maier
Joined: 03 Apr 2014 Posts: 2 Location: Deutschland
|
Re: Fuse settings for 30F6012A |
Posted: Thu Apr 03, 2014 8:56 am |
|
|
Tre wrote: | I am using MPLAB-X (v1.4) and CCS 4.13.
When I try to program the device (dsPIC30F6012a), I always get the following error:
Address: f80004 Expected Value: 8000 Received Value: 8700
I have traced this back to the config bits for the FBORPOR register. The chip always seems to be ORing my fuse settings with 0x700. I believe that these are for motor control PWM bits (which this chip family has but not this particular device) all being set to 1. Particularly, the PWMPIN, HPOL, and LPOL bits.
My fuse settings are:
Code: |
#fuses BROWNOUT // Brownout reset
#fuses PUT64 // Power On Reset Timer value 64ms
#fuses BORV45 // Brownout reset at 4.2V
#fuses MCLR // Master Clear pin enabled
|
My question, is there anything that I can do?
I've tried:
Code: | #rom 0xf80004 = {0x8700} |
to pretend like I want those config bits to be set just so the programmer won't complain but that doesn't seem to help.
The device still seems to function fine like it is being programmed, but I believe that this is the root cause of my ICD debugging problems.
Help! |
I have today the same problem using MPLAB X IDE v2.05 and PCWHD V5.016 together with dsPIC30F3014.
Is there now a solution to the problem? |
|
|
MAES
Joined: 09 Jun 2014 Posts: 1
|
|
Posted: Mon Jun 09, 2014 9:41 am |
|
|
I have today the same problem using MPLAB X IDE v2.10 and PCWHD V5.016 together with dsPIC30F4013 and dsPIC30F3013 .
#rom 0xf80004 = {0x87..} has no effect. |
|
|
celdersh
Joined: 10 Jul 2014 Posts: 1
|
|
Posted: Thu Jul 10, 2014 9:40 am |
|
|
The solution (from CCS support) is to add
#fuses 3=0x0700
before any #fuses in your code. Worked for me.
Craig. |
|
|
|