My problem seems to be mainly the difference between the behavior of avrdude and AVR Studio in their use of the bits values. Furthermore the pure understanding of the size of the bootloader section to be set with the fuses.
- Reading not only the boards.txt file, but also the makefile in hardware/bootloaders/atmega168 where it is to read:
# the efuse should really be 0xf8; since, however, only the lower
# three bits of that byte are used on the atmega168, avrdude gets
# confused if you specify 1's for the higher bits, see:
# http://tinker.it/now/2007/02/24/the-tale-of-avrdude-atmega168-and-extended-bits-fuses/
For me and may be some others tinkering around with that, it would be very helpful if somebody could explain especially the meaning and needs of the right settings for the fuses of the bootloader section, additionally there is also a lock bit fuse setting: ( Arduino Playground - Burn168 as mentioned here ) which may be needed for this context.
This bootloader story seems to be very complex, mainly because there are some other rules to follow then for the "normal" operation conditions an Arduino user has to follow or even every AVR user who only uses his chips without a bootloader.
For example the size to set with the fuses for the bootloader. It seems for me that fuses of atmega8 and atmega168 were different mainly because of the page size of the chips. Don´t know if i am right. For me then is the question if the 168 and the 328p have the same settings because they have the same page size. Or do i have to take care of other things also? How is that to calculate with the size of the hex file of the bootloader?
For sure the bits differ completely, because they are in a different order. Thats what you see with AVR Studio/AVRispMkII very easily - you click it and you have your fuse bits shown in the GUI, but for others it´s not really visible.
Could someone who has a deeper knowledge of that give us some helpful hints where to and where not to go? What depends there in between? Is it possible to break it down to some simple rules? For example the reason for the setting of brownout detection at 4.3V should be understandable for everyone why to set or not to set. But for the bootloader this seems to be more complicated?
many thanks in advance for some help with that story.
ps:
One nice utility for use with a programmer i´ve found, but not up to date at the moment - 328 is missing - is to get there for mac and win: http://www.vonnieda.org/AVRFuses/
This utility seems to be very nice and helpful for doing pure programmer stuff. It supports a long list of them.
The 328 problem could be none, i have to try to change the avrdude path in the prefs to the arduino folder... i will report about that later.
I have not really used this software until now but found it very useful for some needful future situation. So try for your self please if it works.
Edit: tried AVRfuses with arduino-avrdude path, works, but don´t interacts with parts descriptions there.