I managed to run up to 22.118400MHz, but my custom bootloader built at 24MHz 115200 cannot communicate via arduino protocol.
However the pre-built version below, after uploaded, is able to communicate with bootloader via arduino protocol, but firmware cannot run properly, may be the voltage required is not up to level required, which I measured is 4.7V
C:\MiniCore\MiniCore-3.1.3\avr\bootloaders\optiboot_flash\bootloaders\atmega328pb\24000000\ optiboot_flash_atmega328pb_UART0_115200_24000000L_B5.hex
I also tested the 19200 built, but arduino protocol still fails to talk to the bootloader.
First of all, any idea why the custom compile unable to recognize the bootloader via arduino protocol ?
I am using make parameters below, any idea ?
# make atmega328pb OS=posix ENV=arduino \
AVR_FREQ=24000000UL UART=0 BAUD_RATE=115200 LED=B5 LED_START_FLASHES=2 \
CC=/c/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc \
OBJCOPY=/c/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy \
OBJDUMP=/c/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-objdump \
SIZE=/c/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-size
mkdir -p bootloaders/atmega328pb/24000000UL
Using avr-gcc 7.3.0
\nUART = UART0\tLED_PIN = B5\t LED_FLASHES = 2\t SUPPORT_EEPROM = 0\t COPY_FLASH_PAGES = 0
\x1B[1m\x1B[4m
BAUD RATE CHECK: Desired: 115200 Real: 115384 UBRRL = 25 Difference: 0.1 %\x1B[0m
/c/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc -g -Wall -Os -fno-split-wide-types -mrelax -mmcu=atmega328pb -DF_CPU=24000000UL -DOPTIBOOT_CUSTOMVER=1 -DBAUD_RATE=115200 -DLED_START_FLASHES=2 -DLED=B5 -DUART=0 -Wl,--section-start=.text=0x7e00 -Wl,--section-start=.version=0x7ffe -Wl,--relax -nostartfiles -o bootloaders/atmega328pb/24000000UL/optiboot_flash_atmega328pb_UART0_115200_24000000UL_B5.elf optiboot_flash.o
/c/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-size bootloaders/atmega328pb/24000000UL/optiboot_flash_atmega328pb_UART0_115200_24000000UL_B5.elf
text data bss dec hex filename
470 0 0 470 1d6 bootloaders/atmega328pb/24000000UL/optiboot_flash_atmega328pb_UART0_115200_24000000UL_B5.elf
/c/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy -j .text -j .data -j .version --set-section-flags .version=alloc,load -O ihex bootloaders/atmega328pb/24000000UL/optiboot_flash_atmega328pb_UART0_115200_24000000UL_B5.elf bootloaders/atmega328pb/24000000UL/optiboot_flash_atmega328pb_UART0_115200_24000000UL_B5.hex
\nOutput file name: bootloaders/atmega328pb/24000000UL/optiboot_flash_atmega328pb_UART0_115200_24000000UL_B5.hex
I managed to run up to 22.118400MHz, but my custom bootloader built at 24MHz 115200 cannot communicate via arduino protocol.
However the pre-built version below, after uploaded, is able to communicate with bootloader via arduino protocol, but firmware cannot run properly, may be the voltage required is not up to level required, which I measured is 4.7V
C:\MiniCore\MiniCore-3.1.3\avr\bootloaders\optiboot_flash\bootloaders\atmega328pb\24000000\ optiboot_flash_atmega328pb_UART0_115200_24000000L_B5.hex
I also tested the 19200 built, but arduino protocol still fails to talk to the bootloader.
First of all, any idea why the custom compile unable to recognize the bootloader via arduino protocol ?
I am using make parameters below, any idea ?