When we upload through the likes of AVRISP however (such as when we burn the boot loader), avrdude will read the signature row directly from the chip itself and so there is a mismatch if the “non p” version is expected. The boot loader could have opted to fetch this from the AtMega signature row at run time, but choose not to (I assume less code/space/complexity is the reason). When using a boot loader, the signature bytes are indeed hardcoded based on the mcu define at compile time. I believe both the above conflicting statements are true, but in different contexts. There are signature bytes differences between the 328 and 328p, but they are 'hardcoded' in the silicon of the chip not the bootloader. The signature of the atmega328p is hardcoded into the bootloader, so you have to hack and recompile the bootloader to let it recognize the new ic (the 328 non "p").
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |