avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[avr-gcc-list] Reusing code and variables from bootloader in main progra


From: Andrey Demenev
Subject: [avr-gcc-list] Reusing code and variables from bootloader in main program
Date: Sun, 27 Jun 2010 00:04:22 +1100

I have atmega64 with SD card connected. The card is used for storing
WAV files, logs, etc. I want to add a bootloader that would upgrade
the main program if certain file is present on the card. Using
separate copies of filesystem library in main program and bootloader
is too expensive in terms of flash space. I am thinking about this
solution: link the bootloader with filesystem libraries, and in main
program have a set of pointers to filesystem library functions in
.noinit section. When bootloader is started , it upgrades main program
if necessary, and then initializes the prointers with correct
addresses and jumps to address zero, starting the main program. Since
variables are in .noinit, main program would not initialize them,
preserving the addresses. Obviously, main program also needs to know
addresses of all global variables used by filesystem lib.  The problem
is : how do I make both program use same addresses for certain
variables?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]