Greetings, folks
My big project is getting really close to finished (to the extent any project is ever really finished). Got some bug fixing to do, mostly small stuff.
EXCEPT: the subject of bootloader.
This will be a production product and, at least at the start, I will be "the production line" (contracted basic SMT assembly). Being adverse to spending time that does not need to be spent, I wonder whether or not the main application and the bootloader can be loaded at the same time. Logically, I would seem that it is only necessary to merge two hex files. So,....
1) First question: is there a tool within gcc that will do the merge of two hex files
2) Second: It seems logical that there would need to be two compiles since I doubt that gcc would be happy with two mains. But, does the base function in the bootloader have to even be main()? Or, is there some practical way to combine them within a single build?
I am going to have to recompile optiboot because I need to modify the entry mechanism slightly. There will, I think, need to be a section statement to place it at the correct address. What I was not able to tell when I read the avr-libc manual is whether the boot section address is specified in words or bytes.
Guess I can use some practical advice on the coarse of action. Merge two hex files resulting from two separate compiles OR somehow compile them together? And, how to properly specify the starting address of the bootloader.
Thanks for your input, advice, and suggestions!
Cheers
Jim