I noticed the pre-built version of bootloader of atmega328pb is starting at address 0x7E00 for example under,
C:\MiniCore-3.1.3\avr\bootloaders\optiboot_flash\bootloaders\atmega328pb\22118400L
optiboot_flash_atmega328pb_UART0_115200_22118400L_B5.hex
After written the above bootloader, arduino protocol able to recognize the bootloader.
BUT I want to create the bootloader manually, I tested AVR-GCC versions below all resulting in bootloader start at 0x7C00
5.4.0
7.3.0
15.2.0
16.1.0
May i know what version of AVR-GCC or right parameters to pass in from make command in order to create version identical to the pre-built version of bootloader .hex as mentioned above ?
Pre-built C:\MiniCore-3.1.3\avr\bootloaders\optiboot_flash\bootloaders\atmega328pb\22118400L
optiboot_flash_atmega328pb_UART0_115200_22118400L_B5.hex
:107E000001C0B7C0112484B790E89093610010922C
:107E10006100882361F0982F9A70923041F081FFC1
:107E200002C097EF94BF282E80E0C6D0E9C085E05D
:107E30008093810082E08093C00088E18093C1003C
:107E400087E18093C40086E08093C2008EE0B4D0C6
:107E5000259A84E02AEB3AEF91E030938500209355
:107E6000840096BBB09BFECF1D9AA8954091C000A0
:107E700047FD02C0815089F793D0813479F490D0C6
:107E8000182FA0D0123811F480E004C088E0113817
:107E900009F083E07ED080E17CD0EECF823419F40B
:107EA00084E198D0F8CF853411F485E0FACF853598
:107EB00041F476D0C82F74D0D82FCC0FDD1F82D0DC
:107EC000EACF863519F484E085D0DECF843691F58B
:107ED00067D066D0F82E64D0D82E00E011E05801AB
:107EE0008FEFA81AB80A5CD0F80180838501FA10D8
:107EF000F6CF68D0F5E4DF1201C0FFCF50E040E0DC
:107F000063E0CE0136D08E01E0E0F1E06F0182E067
:107F1000C80ED11C4081518161E0C8012AD00E5F9A
:107F20001F4FF601FC10F2CF50E040E065E0CE01BB
:107F300020D0B1CF843771F433D032D0F82E30D086
:107F400041D08E01F80185918F0123D0FA94F11070
:107F5000F9CFA1CF853739F435D08EE11AD085E934
:107F600018D086E197CF813509F0A9CF88E024D0D9
:107F7000A6CFFC010A0167BFE895112407B600FCF3
:107F8000FDCF667029F0452B19F481E187BFE89594
:107F900008959091C00095FFFCCF8093C60008958E
**My custom built bootloader .hex:**
:107C000002C0C1C0FCC0112484B790E89093610009
:107C100010926100803061F0982F9A70923041F09C
:107C200081FF02C097EF94BF282E80E0CFD0E8C13B
:107C300082E08093C00088E18093C10085E1809359
:107C4000C40086E08093C2008EE0C0D0B3D08535FA
:107C500009F46AC088F4853409F464C040F48134BE
:107C600009F44EC0823409F45AC0B6D055C08135EB
:107C7000E1F788E0ABD0F9CF843709F46AC0B0F5FA
:107C8000863509F458C0843681F794D093D0F82E05
:107C900091D0E82E00E011E068010F5F1F4F8AD0FD
:107CA000F6018083F012F8CF97D06E018E2D00E0A0
:107CB00011E0853409F44AC040E050E063E0CE01B1
:107CC00062D000E011E0F8010E5F1F4F408151814A
:107CD00061E0C60158D082E0C80ED11CF012F3CF8B
:107CE00040E050E065E0CE014ED016C0853709F087
:107CF000BCCF72D08EE157D085E955D086E10BC05C
:107D000059D0182F69D0123811F480E004C088E0EF
:107D1000113809F083E047D080E145D097CF84E166
:107D200063D0FACF85E0FCCF45D0C82F43D0D82F01
:107D3000CC0FDD1F9ACF84E057D0E7CFF8016191D7
:107D40008F01C601AED08FEFC81AD80AF012F6CF55
:107D5000E3CF30D02FD0F82E2DD0D82E3DD08E01AD
:107D60008D2D853449F4FC0EC80193D01CD00F5FD3
:107D70001F4FF012F9CFD0CFF80185918F0113D0AA
:107D8000FA94D1F7C9CFFC010A0167BFE895112425
:107D900007B600FCFDCF667029F0452B19F481E190
:107DA00087BFE89508959091C00095FFFCCF809320
:107DB000C60008958091C00087FFFCCF8091C0006D
:107DC00084FD01C0A8958091C600089598E1909324
:107DD0006000809360000895EDDF803219F088E044
:107DE000F5DFFFCF84E1DFCFCF93C82FE3DFC150B2
:107DF000E9F7CF91F1CFCB01642FA901C4CF9F92B6
:107E0000AF92BF92CF92DF92EF92FF920F931F93A8
:107E1000CF93DF9358019E2C8B01E901C12CD12C0B
:107E2000CA14DB0429F4911441F188E0CFDFFFCFBD
:107E300040E050E063E0C801A6DFE12CF12CF7013F
:107E4000EC0FFD1F4591559161E0C701800F911F17
:107E50009ADF82E0E80EF11C80E8E816F10479F779
:107E600040E050E065E0C8018EDF8FEFC81AD80A05
:107E700000581F4FC058DF4FD3CFDF91CF911F91D4
:107E80000F91FF90EF90DF90CF90BF90AF909F90B9
:107E90000895F999FECF92BD81BDF89A992780B5D2
:107EA0000895262FF999FECF1FBA92BD81BD20BD3E
:0E7EB0000FB6F894FA9AF99A0FBE019608954B
:027FFE00000879
:0400000300007C007D
:00000001FF
Below is the make parameters used, but the custom built version of bootloader cannot be recognized by arduino protocol via USB.
# make atmega328pb OS=posix ENV=arduino \
BIGBOOT=1 AVR_FREQ=22118400UL BOOTSZ=1024 UART=0 BAUD_RATE=115200 LED=B5 \
CC=/c/avr-gcc-16.1.0-x64-windows/bin/avr-gcc \
OBJCOPY=/c/avr-gcc-16.1.0-x64-windows/bin/avr-objcopy \
OBJDUMP=/c/avr-gcc-16.1.0-x64-windows/bin/avr-objdump \
SIZE=/c/avr-gcc-16.1.0-x64-windows/bin/avr-size \
OPTIMIZE='-Os' \
CFLAGS='-fno-inline-small-functions -fno-split-wide-types -mshort-calls -fno-tree-scev-cprop -fno-tree-loop-distribute-patterns'
I have read the C:\MiniCore-3.1.3\avr\bootloaders\optiboot_flash\bootloaders\atmega328pb\atmega328pb_build_info.txt
Please advise what version of AVR-GCC or any other make commands/parameters used in order to create an identical bootloader based on Minicore pre-built bootloader **Pre-built C:\MiniCore-3.1.3\avr\bootloaders\optiboot_flash\bootloaders\atmega328pb\22118400L\
optiboot_flash_atmega328pb_UART0_115200_22118400L_B5.hex** ?
I noticed the pre-built version of bootloader of atmega328pb is starting at address 0x7E00 for example under,
C:\MiniCore-3.1.3\avr\bootloaders\optiboot_flash\bootloaders\atmega328pb\22118400L
optiboot_flash_atmega328pb_UART0_115200_22118400L_B5.hex
After written the above bootloader, arduino protocol able to recognize the bootloader.
BUT I want to create the bootloader manually, I tested AVR-GCC versions below all resulting in bootloader start at 0x7C00
5.4.0
7.3.0
15.2.0
16.1.0
May i know what version of AVR-GCC or right parameters to pass in from make command in order to create version identical to the pre-built version of bootloader .hex as mentioned above ?
Pre-built C:\MiniCore-3.1.3\avr\bootloaders\optiboot_flash\bootloaders\atmega328pb\22118400L
optiboot_flash_atmega328pb_UART0_115200_22118400L_B5.hex