Replies: 2 comments 2 replies
-
|
I have only one must have to add:
|
Beta Was this translation helpful? Give feedback.
0 replies
-
|
I think OSSCAL_SAVE_CALIB should be completely removed, as it is more harm than good. Since the tuned OSCCAL value doesn't always pick the best value, a bad OSCCAL can be saved in the flash if the first tuning is off by 1 or 2 steps. Without OSSCAL_SAVE_CALIB, if the first tuing gets a bad value, unplugging and reconnecting the AVR usually gives a good OSCCAL value on the 2nd try. |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Is there any interest in simplifying the MN code to make it more maintainable?
main.c has 36 preprocessor #if blocks, which I find painful to work with. Doing proper testing is practically impossible given the number of build options that could impact the functioning of the code.
As a start, I'd like to get rid of OSSCAL_SAVE_CALIB and OSCCAL_SLOW_PROGRAMMING.
I think the boot options could be greatly simplified.
I understand why bootloaders that use a watchdog for a timeout (i.e. Optiboot) need to manage/backup MCUSR, but not MN.
My size optimization work has so far been focused mainly on the usbdrv code, reducing the size by >200 bytes. There's not much more I can squeeze out of the usbdrv code. The main.c code compiles to about 400 bytes, and I think I can reduce that by at least 25% while maintaining almost all of the MN optional functionality. Before I start on that I'd like to know what core functionality has to be part of MN.
A couple obvious requirements I see are:
Is there any other "must have" functionality?
Beta Was this translation helpful? Give feedback.
All reactions