I'd like to make the Bootloader, Hardware Drivers, and Applications Code into 3 seperate projects. The Bootloader and the Application code would both know the location of the Hardware Drivers.
One benefit is that I'm not duplicating driver code by putting it in both locations. The other advantage comes in the form of reduced Application code size. Our product will have the ability to do a firmware update remotely via Satellite, GSM, or CDMA communication. In some of these cases the cost of sending those extra bytes is fairly significant.
I'm a noob when it comes to linker issues and don't know where to start. Has anyone done this before and can provide examples or advice on how to set this up?