What programming methods can this chip support? Is there serial programming or SWD programming?
The Arduino IDE (a free download) supports programming in C++. The IDE pre-processes your code (which they call a "sketch") slightly but it is still C++.
You can drop into assembler if you absolutely must, but the C++ compiler does a good job of ...
Are the ATMEGA and STM32 programmers not universal?
They are not the same. As far as I know their programming arrangements are completely distinct.
What programming methods can this chip support?
Traditional AVR In-Circuit-Serial-Programming (ICSP) using a 2x3 header pin connector and one of a variety of programmers such as the STK500 which has low-cost ...
The answer was that you must connect the reset pin of the target ICSP to pin 10 of the programmer Mega 2560. This was not very clear in the tutorial here: https://www.arduino.cc/en/pmwiki.php?n=Tutorial/ArduinoISP.
This fixed the problem for me, so it was a connection issue.
Only from bootloader section is it possible to write to flash on ATmega2560. Optiboot 8 has a do_spm function to write to flash. It is accesible over a header file available in examples in the Optiboot GithHub repository.
After the updated application binary is written to free part of the flash by the running application it is necessary to copy the updated ...