CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to CCS Technical Support

Setting PIC18F8722 Bootloader size

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
ktallevi



Joined: 17 Dec 2005
Posts: 58

View user's profile Send private message

Setting PIC18F8722 Bootloader size
PostPosted: Mon Nov 20, 2006 10:40 am     Reply with quote

I noticed there is no #fuse to set the bootloader block size. CONFIG4L:BBSIZ bit.

I need to have a bootloader of 8k in size and protected. I see you can protect the bootloader but not set the size via fuses.

anyone have any suggestions? thanks

-kevin
jma_1



Joined: 08 Feb 2005
Posts: 147
Location: Wisconsin

View user's profile Send private message

PostPosted: Mon Nov 20, 2006 11:16 am     Reply with quote

Greetings,

If you use the CCS bootloader example, you can set the protected area size. I have not done this, but it appears you could modify LOADER_SIZE to suit your needs.

Why do you need 8k worth of reserved space? Are you trying to put a test application into the boot blocK? Is there enough space left over for your real application? If you are just trying to maintain data, can you use the EEPROM? These are just questions, but perhaps there might not be a need to reserve such a large amount of bootloader space.

Cheers,
JMA
ktallevi



Joined: 17 Dec 2005
Posts: 58

View user's profile Send private message

Setting PIC18F8722 Bootloader size
PostPosted: Mon Nov 20, 2006 11:28 am     Reply with quote

The PIC18f8722 has more than enough room for my application outside of the bootloader.

My bootloader will work over multiple interfaces so I require code to configure those external interfaces. I may not require 8k by the time I optimize my code.

Anyways, setting the boot block size using config words is required. I am just not sure how to do it. I could use a bit-set assembly routine but that occurs at run-time only.

Perhaps a modification to 18F8722.h is required to set the CONFIG4L:BBSIZ bit?
jma_1



Joined: 08 Feb 2005
Posts: 147
Location: Wisconsin

View user's profile Send private message

PostPosted: Mon Nov 20, 2006 11:38 am     Reply with quote

Greetings,

After looking at the 18F8722, there is tons of space available.

I do not understand your need to use the configuration bits to set your protected boot block size. If you compile your application source code with the space set aside, your application does not overwrite the boot block. Please explain further why you want to use the configuration bits.


Cheers,
JMA
ktallevi



Joined: 17 Dec 2005
Posts: 58

View user's profile Send private message

PostPosted: Mon Nov 20, 2006 11:55 am     Reply with quote

by using the configuration bits to set the bootloader size, it protects against any accidental writes to the bootloader area while the device is in the field.

which the chances of that are slim, it is possible.
PCM programmer



Joined: 06 Sep 2003
Posts: 21708

View user's profile Send private message

PostPosted: Mon Nov 20, 2006 12:45 pm     Reply with quote

Quote:

I noticed there is no #fuse to set the bootloader block size. CONFIG4L:BBSIZ bit.
I need to have a bootloader of 8k in size and protected.

I looked at the .H files for several related PICs (for vs. 3.249) and
they do have the Boot Block Size fuses defined. I think CCS may
have accidently left those fuses out of the Device Data file for the
18F8722. If you have PCWH, then you could use the Device Editor
to add those fuses. First look at the Device Data one of the PICs
shown below. Study how it's done in the device data file. Then
edit the data for the 18F8722 and do it the same way.

Note that the sizes shown below are in Words. To get the number of
of bytes, multiply the value by 2. For example, BBSIZ4K will protect 8 KB.
Quote:

c:\program files\picc\devices\18f6527.h
// Fuses: NOMCLR,XINST,NOXINST,BBSIZ1K,BBSIZ2K,BBSIZ4K

c:\program files\picc\devices\18f6622.h
// Fuses: NOMCLR,XINST,NOXINST,BBSIZ1K,BBSIZ2K,BBSIZ4K

c:\program files\picc\devices\18f6627.h
// Fuses: NOMCLR,XINST,NOXINST,BBSIZ1K,BBSIZ2K,BBSIZ4K

c:\program files\picc\devices\18f6722.h
// Fuses: NOMCLR,XINST,NOXINST,BBSIZ1K,BBSIZ2K,BBSIZ4K
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
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