Mega2560 bootloader question

Okay, I got it to work. The only reason I'm doing this is to run the Mega at 10MHz instead of 16MHz. Here's what I found along the way:

  1. The bootloader needed to be built with WinAvr. For some reason using Atmel Studio doesn't work. I tried to match the compile and link flags in both builds but that is apparently not enough. I also used the include files packaged with the arduino release instead of the files in the AVR toolchain installed with Atmel Studio. Maybe that was a mistake. Any ideas? Just curious and it matters little since I've got it working.

  2. It would not work with a 115,200 baud upload speed. 57,600 did not work either but 28,800 is okay. The system clock is now 10MHz (accurate to better than 1 ppm) and baud rate calcs seem to indicate that 115,200 can be done with only 1.3% error. Bottom line is that it works and I don't mind the uploads taking a little longer. I would like to understand why, however. Are there significant errors in the baud rate generated on the host computer side?