1
*** Changes in avr-libc-1.2.3:
1
*** Changes in avr-libc-1.4.5:
5
[no-id] Make include/avr/sfr_defs.h -Wundef safe.
6
[no-id] Make include/avr/eeprom.h -Wundef safe.
7
[no-id] Fix the timing of the HD44780 driver in the stdiodemo.
8
[#15512] Bootloader macros not interrupt safe.
9
[#16125] HD44780 data bit assignment restrictive
10
[#16434] EMPTY_INTERRUPT has no misspelled vector checking
11
[#16411] Add 'used' and 'externally_visible' attributes to all ISR macros.
12
[#16441] eeprom.h should use __asm__
13
[#16868] depricated.h: outp() arguments order misprint
14
[#17068] wdt.h file: __AVR_ATmeg324P__ spelling mistake
15
[#17470] Add API for CLKPR register.
16
[#17551] Update documentation to point to issues with gcc4.1
17
[#17591] /avr-libc/libm/fplib/fp_split.S error return will fail for
19
[#17608] Add ISR_ALIAS() to avr/interrupt.h
23
- New Power Management API in <avr/power.h>. This provides C language
24
macros to manipulate the Power Reduction Register(s) and the System Clock
25
Prescaler register across multiple processors.
27
* New devices supported:
31
+ ATmega2560 [patch #4461]
32
+ ATmega2561 [patch #4461]
34
*** Changes in avr-libc-1.4.4:
38
[no-id] Fix location of OCR1 in simple demo for ATmega16/32
39
[no-id] Typo in iomxx0_1.h: PRUSART3.
40
[no-id] Fix the sleep mode definitions for the ATtiny2313.
41
[#15519] AT90CAN* processors incorrectly identified as "AT90S family"
42
[#15522] Typo in iotn2313.h vector table
43
[#15559] Wrong macro for boot_page_write(address) and ATmega128
44
[#15574] unneeded compatibility break
45
[#15595] GPIOR0 misspelled for ATtiny25/45/85
46
[#15732] interrupt.h: ISR() incompatibility with gcc 3.4.5
47
[#15890] missing /devtools/gen-avr-lib-tree.sh
48
[#16039] Names in Pxy (i.e. PA0) style of ports pins for some devices are
50
[#16260] _crc16_update lacks C equivalent
54
- The simple demo has been ported to ATmega640, ATmega644P,
55
ATmega1280, ATmega1281.
57
* New devices supported:
65
+ ATmega164P (renamed from ATmega164)
66
+ ATmega324P (renamed from ATmega324)
69
*** Changes in avr-libc-1.4.3:
73
[no-id] Not defined SPM_PAGESIZE for ATtinyX4/X5/X61 and ATtiny2313 devices.
74
[#15494] Compile warning and errors if compiler flag -Wundef flag specified
76
*** Changes in avr-libc-1.4.2:
80
[no-id] Fix the examples installation for non-doc builds.
81
[no-id] Fix the spelling of the OCR1A/B registers in ATtinyX4 devices.
82
[no-id] LED1/2 don't work in the largedemo on an ATmega16.
83
[#15266] Function ldexp incorrectly processes overflow and underflow cases.
87
- The simple demo has been ported to ATmega8515, ATmega8535,
88
ATmega164, ATmega165, ATmega169, ATmega324, ATmega325, ATmega3250,
89
ATmega329, ATmega3290, ATmega644, ATmega645, ATmega6450,
90
ATmega649, ATmega6490, ATtiny2313, ATtiny24, ATtiny25, ATtiny26,
91
ATtiny261, ATtiny44, ATtiny45, ATtiny461, ATtiny84, ATtiny85,
94
- More overhaul of the demo documentation, don't use the "squid"
95
cable for the largedemo as it is not part of the STK500.
97
* New devices supported:
103
*** Changes in avr-libc-1.4.1:
107
[#15161] util/delay.h misses inline keyword (regression)
108
[#15193] incorrect definition of IVSEL bit in MCUCR register
112
[patch #4611] sleep.h sleep_mode() not interrupt safe
114
- The simple demo has been modernized a bit. Documentation now
115
generally refers to the ATmega8 rather than the AT90S2313, and
116
the #ifdef spaghetti has been moved out into iocompat.h.
118
- A new demo project ("largedemo") has been added. It extends
119
the simple demo by adding some controls, and thereby touches
120
a good number of avr-libc concepts.
122
- Another demo project ("stdiodemo") has been added. It
123
demonstrates the setup of the standard IO facilities using
124
a practical small application.
126
- The demo projects now install their source code as part of
127
the documentation tree.
129
* New devices supported:
137
strstr_P (Contributed by Werner Boellmann)
139
*** Changes in avr-libc-1.4.0:
143
- The INTERRUPT() macro has been deprecated, and it will be
144
removed in a future version. Use __attribute__((interrupt))
145
explicitly if this functionality is really needed.
147
- A new ISR() macro has been added, and is now the preferred
148
for to introduce an interrupt service routine. It is
149
equivalent to the old SIGNAL() macro, which might become
150
deprecated in a future version.
152
- A new header file, <compat/deprecated.h> has been established.
153
Its purpose is to collect deprecated items from older versions of
154
the library, starting out with the enable_external_int(),
155
timer_enable_int(), and INTERRUPT() macros/functions, as well as
156
the old obsoleted inp/outp/sbi/cbi macros.
158
- A new include file subdirectory named "util/" has been created.
159
The files <compat/twi.h>, <avr/crc16.h>, <avr/delay.h>, and
160
<avr/parity.h> have been moved into the new util/ subdirectory.
162
- A new set of interrupt vector names has been added, closely
163
matching the names given in the datasheet, and more compatible to
164
other compilers available for the AVR platform. The table of
165
interrupt vector names in the documentation is now automatically
166
generated, and explicitly mentions the MCU type for each vector
169
- The standard IO facilities API has been enhanced
171
. The backend functions put and get that are passed to fdevopen()
172
during the setup of a stream now take the stream itself as an
174
By defining the macro __STDIO_FDEVOPEN_COMPAT_12 before
175
including <stdio.h>, an fdevopen() function prototype will be
176
declared that is backwards-compatible with avr-libc version
178
. It is possible to tie user data to a stream using
179
fdev_set_udata(), and to retrieve them using fdev_get_udata().
180
Together with the additional argument to the backend functions,
181
these functions can now e.g. keep track of internal user state,
182
or distinguish two different devices using the same backend
184
. The get backend function can now return _FDEV_EOF to indicate an
185
end-of-file condition, in addition to _FDEV_ERR for an error
186
condition. This will affect the internal state that can be
187
queried using the standard feof() and ferror() functions.
188
. A new macro fdev_setup_stream() is provided to setup a
189
user-supplied stream without the need to call fdevopen(), and thus
190
without requiring malloc(). A similar macro FDEV_SETUP_STREAM()
191
exists that can be used to initialized a FILE object. The
192
floating-point implementations of vfscanf() and vfprintf() now
193
allocate their conversion buffer on the stack, so they do not need
194
malloc() anymore either.
196
- An API has been added to track the library version number. See the
197
documentation of the new header file <avr/version.h>.
201
[#3573] Make local symbols in .S files truely local
202
[#12324] overview: boot_page_write_safe, etc.
203
[#12333] Standard requires libstdc to define vprintf and vscanf
204
[#12495] about Busy-wait delay loops(document)
205
[#12496] about set_sleep_mode() and tiny26/tiny2313
206
[#12735] No support for AT94K devices in sleep.h
207
[#12739] Gcc assumes that target libc provides ffs function
208
[#12775] Possible Bug in sscanf on string end
209
[#13340] Math lib documentation/lib mismatch
210
[#13557] small typo in avr-libc-user-manual-1.2.3
211
[#14224] _delay_ms() not inlining if called more than once in a unit
212
[#14241] 'eeprom_is_ready' is not compiled with ATmega48
213
[#14262] avr-libc documentation error about .init sections
214
[#14266] use __extension__ in avr-libc header files
215
[#14327] wdt_disable() missing a cli
216
[#14378] EEPROM library d'not support at86rf401 device
217
[#14380] configure/make work only in source directory
218
[#14433] Improve documentation of <avr/delay.h>
219
[#14486] some macros from boot.h doesn't compile correctly
220
[#14503] strnlen_P is wrong with classic AVRs
221
[#14798] several IO registers definition issue in header files
222
[#14852] fp pow function broken for negative x
226
[patch #3592] speedup tanh function in libm
227
[patch #3750] Allow passing user data to stdio fdevopen() get and
228
put methods. (This is part of the API changes
230
[patch #3780] <assert.h> header
231
[patch #3781] add dummy fflush() to <stdio.h>
232
[patch #3782] modernize <stdint.h>
233
[patch #3912] Fix ctype.S linker error due to asm branches out
235
[patch #3925] Dallas iButton 8-bit CRC
236
[patch #4087] C99 conformal headers stdint.h and inttypes.h
237
[patch #4505] Unified interrupt vector names in header files
238
[patch #4557] Adds to the fplib usage of MUL instruction
239
in group avr4; avr5 devices
240
[patch #4608] rpm spec file update
241
[patch #4622] unify doc file location in rpms
243
- Update the build system to recent versions of autoconf/automake;
244
the old "doconf" and "domake" scripts are gone now, "reconf" has
245
been renamed to "bootstrap".
246
- Update the documentation system to doxygen >= 1.4.1.
247
- Major overhaul of the documentation, new layout of the HTML pages,
248
several clarifications and additions.
249
- Add support for the following new devices (depending on the ability
250
of the compiler/binutils to handle them):
253
. ATmega329/3290/649/6490
256
. ATmega640/1280/1281
257
- The library is now compiled with -Os for avr3 and avr5 MCUs (i.e.
258
for those with > 8 KB of ROM); used to be -O3 before.
260
* New string functions. Contributed by Dmitry Xmelkov.
267
* Optimized functions.
281
*** Changes since avr-libc-1.2.4:
285
[no-id] EEPROM handling not working for AT90CAN128 ATmega48 ATmega88
286
ATmega165 ATmega168 ATmega169 ATmega325 ATmega3250 ATmega645
288
[#12646] strtod returns error for valid input (patch#4137)
289
[#13341] Remove ADHSM bit from header files.
291
* Other improvements:
293
[patch#4189] Document replacement for sbi/cbi instructions
295
* boot.h: implement boot_lock_fuse_bits_get() plus macros for the
296
respective addresses (low/high/ext fuse, lock bits)
299
*** Changes since avr-libc-1.2.3:
303
[no-id] Work around a bug in gas that made the weak symbol __stack
304
fixed inside gcrt1.S (since the assembler already inserted
306
[no-id] Modify the doxygen build system to cope with artefacts from
307
recent versions of doxygen and (pdfelatex-based) LaTeX.
308
[#12033] macros.inc need to be protected from multiple inclusion.
309
[#12040] overview: sbi in FAQ
310
[#12134] ADC register name definitions
311
[#12422] Add new bit definitions for LCDCCR register in iom169.h.
312
[#12448] Fix bit definition for SJW0 in iocan128.h
313
[#12785] Fix documenation for log10() function in math.h.
314
[#12955] Signal name misprints: SIG_COMPERATOR in iom169.h,
315
SIG_EPROM_READY in iotn26.h
316
[#12993] Signal "__EICR" redefined warning ATmega8
317
[#13290] avr/io.h EEAR def is flawed for the Mega48
318
[#13327] Fix bit definition for UCSZ02 in iom325.h, iom3250.h,
320
[#13678] The _wdt_write(value) macro in wdt.h doesn't work with
321
the ATmega325.(also with ATmega3250, ATmega645, ATmega6450,
324
* demo.c extended for ATmega16
326
*** Changes since avr-libc-1.2.2:
5
330
[#11987] sscanf parsing problem : leading zero ignored in %u
8
*** Changes in avr-libc-1.2.2:
332
*** Changes since avr-libc-1.2.1: