avr-libc-dev
[Top][All Lists]
Advanced

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

Re: [avr-libc-dev] Add lib per devide.


From: Dmitry K.
Subject: Re: [avr-libc-dev] Add lib per devide.
Date: Sun, 21 Dec 2008 17:12:49 +1000
User-agent: KMail/1.5

> > I against, to build full the avr-libc library for device,
> > this dramatically
> > increase compile time and the code size of avr-libc. Instead,
> > I suggest to
> > build libc for architecture and add small library with device specific
> > functions for eeprom, wdt, boot e.t.c. modules.

Hmm...  Yes, this is better in compile time and library
image size in comparison to pure lib_per_device.
However, this excludes the possible optimization, for
example '-mtiny-stack' for ATtiny2313.  At the other
hand, the current lib_per_arch approach permits to
have a small set functions per device with CPP redefining.

In practice, it would be good to use lib_per_project
approach, where the user builds the library individually
for each separate project.  The user adds the compiler
switches and library components choices.  The advantages
are:
  - optimization tuning, for example '-mcall-prologues'
  is not always the best choice,
  - extra optimization choice, for example OPTIMIZE_SPEED
  in a few of string functions,
  - no magic link switches like 'printf_flt', as this is
  resolved at compile-time,
  - extra variants, which are not suitable as universal,
  for example, to abort the program in case of interrupt
  vector is not set, or to place the code into unused
  interrupt zone.

This approach is used, for example, in eCos RTOS.
Personaly, I have compile my own libraries separatly
in each project.

However, I have no ideas how to make this in binary
WinAVR distributive.

Regards,
Dmitry.





reply via email to

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