1
*** Changes in avr-libc-1.6.7:
1
*** Changes in avr-libc-1.7.1:
4
[sourceforge.net: #2812125] ATmega16U4 missing in power.h
5
[sourceforge.net: #2913419] Misspelled Structure Element - xmega
6
[#26840] Missing #define in iom32m1.h
7
[#26876] include io.h into fuse.h
8
[#27201] _WORDREGISTER in xmega headers does not work in C99 mode
9
[#27434] Arguments of macros must be protected in parentheses
10
[#28688] using_tools.dox fails to build due to extra underscore
11
[#28756] Bug in AVR libc 1.6.7 (power.h for 8-bit AVR)
18
* Optimized functions:
5
[Atmel: #11793] XMEGA A devices: 4096-cycle DAC refresh interval setting has wrong name
6
[Atmel: #12314] Hi-Res(CTRLA) and AWex (FDEMASK)
7
[Atmel: #12536] Remove CALCTRL in xmega header files.
8
[no-id] Fix wrong vector table size for ATmega168A devices.
9
[#29235] power.h - warning: comma at end of enumerator list
10
[#30783] Missing prototype in power.h
11
[#31270] Stale link to Philips (now NXP) I2C specification/users manual
24
13
* New devices supported:
64
19
* Contributed Patches:
66
[#6878] eewr_byte.S update for patch #6718
71
*** Changes in avr-libc-1.6.6:
24
*** Changes in avr-libc-1.7.0:
27
[Atmel: #7159] the memory location of tccr0b is mixed with tccr0a for tiny48/88
28
[no-id] Fix CLKPCE bit value to be 7.
29
[no-id] inlining failed in call to '_delay_ms': function body not available
30
[no-id] malloc() could allocate memory beyond the limits of heap
31
[no-id] xmega header file updates.
74
32
[no-id] Enable ATmega128RFA1 in <avr/power.h>
75
33
[no-id] longjmp() writes to EIND register, it is forbidden by AVR-GCC's API
34
[no-id] Define _VECTORS_SIZE in iom3000.h
35
[no-id] Redefine __tmp_reg__ and __zer_reg__ for AVR TINY.
76
36
[AVR Tools: #9724] Error in ATtiny13A include file, PRR register
77
[sourceforge.net: #2693898] ATmega32U6 missing in power.h
78
[sourceforge.net: #2738926] avr/eeprom.h EEGET and EEPUT
79
[#23677] Request for cbrt() and strdup to be added to libc
80
[#23703] eeprom write functions optimisation
81
[#25846] include/avr/power.h:628:1: error: missing binary operator before token "defined"
82
[#25925] <avr/boot.h> cannot be included on Xmega devices
83
[#25929] boot.h Fuse read not compatible with Tiny48/88.
84
[#25930] New IO-Headerfiles missing PXn Portpindefinitions
85
[#26188] Wrong or missing definition of SIGNATURE_X in iom644.h and others
86
[#26284] boot_lock_fuse_bits_get does not compile under gcc 4.3.X
87
[#26308] WDE defined as WDE3 in io90pwm3b.h and io90pwm2b.h
88
[#26809] Some common math constants missing in math.h
90
* Contributed Patches:
92
[#6718] Optimize the EEPROM functions
105
* Optimized functions:
114
* New devices supported:
123
- Signature API added in <avr/signature.h>.
125
- All functions are now placed in the .text.avr-libc section, and the
126
floating point functions are placed in the .text.avr-libc.fplib section. This
127
allows the user the ability to relocate all avr-libc routines to a different
128
address using a custom linker script.
130
- EEPROM functions are rewriten. Now they are pure asm functions with
131
tuning for each device individually. The reading of long word or block
132
is speed up. New functions for floats are added. The group of 'update'
133
(burn only different bytes) functions is added. A set of Avr-libc bugs
136
- The port/pin assignments of the HD44780 LCD controller in the
137
stdiodemo example can now be distributed across more than a single
138
AVR port. The only remaining requirement is that all data bits
139
are assigned to a single port in ascending order.
142
*** Changes in avr-libc-1.6.6:
146
[no-id] Regenerated Xmega header files.
148
* Contributed Patches:
150
* New devices supported:
155
*** Changes in avr-libc-1.6.5:
158
[no-id] inlining failed in call to '_delay_ms': function body not available
159
[no-id] malloc() could allocate memory beyond the limits of heap
160
[sourceforge.net: #2305703] iom162.h ASSR bitdef, typo?
161
[sourceforge.net: #2411516] Error/Bug in the iotn88.h file
162
[sourceforge.net: #2420567] ATmega329P missing in sleep.h
163
[#24890] Small error in libm source fp_rempio2.S
164
[#25048] eeprom.h will not compile as c++ code.
165
[#25120] pgm_read_*_far() functions cause incorrect usage of the Z pointer for RAM access in ATxmega series
166
[#25131] Incorrect definition of default lfuse bits for ATTiny2313
167
[#25261] TWIHSR spelling deviates from XML file in AVR Studio 4.15
168
[#25535] Nonexistent bit definitions in iotn88.h/iotn48.h AREFD REFS1 RWWSB SM2
169
[#25645] xmega header files broken #defines
170
[#25723] Realloc corrupts free list when growing into the next free item
172
* Optimized functions:
173
cos, sin, tan: minor in space
174
sqrt (and callers: acos, asin and hypot)
176
* Contributed Patches:
177
[#6649] sqrt.S in libm changes
178
[#6720] FAQ update. Add EEPROM section, baud rate section. Correct spelling.
180
* New devices supported:
198
A sleeping BOD API was added to <avr/sleep.h>. This allows you to disable
199
the Brown Out Detector (BOD) before going to sleep, thereby reducing
202
The note about signbit() implementation is removed from documenatation.
203
The reason is that the GCC can replace it with inline code and the
204
nonzero value is unpredictable in such case.
206
*** Changes in avr-libc-1.6.4:
210
[#24762] 1.6.3 wdt.h compile-time bug
214
The Postscript documentation build has been removed in favour of
215
building only the PDF (and HTML and man page) versions. PDF offers
216
the same printing quality as postscript at a smaller file size.
217
This also works around a bug in doxygen 1.5.7 where it appears to
218
be no longer possible to set GENERATE_HTML = NO.
221
*** Changes in avr-libc-1.6.3:
225
[no-id] Fix CLKPCE bit value to be 7.
37
[sourceforge.net: #1836849] Multiplication does not work for AT90USB162
38
[sourceforge.net: #1883630] ATmegaXX4 - USART0 and USART1 additional bits aliases
39
[sourceforge.net: #1910885] Typo in io90pwm3b.h
40
[sourceforge.net: #1913681] Missing INT3 define in io90pwm3b.h
226
41
[sourceforge.net: #1957780] New 'FUSES-support' gives error in c++ files
227
42
[sourceforge.net: #1969436] Wrong flash size for ATmega32U4
228
43
[sourceforge.net: #2010688] ATtiny48 SPSR register bits
230
45
[sourceforge.net: #2016128] Incorrect ATMega32[c1|m1] Header Entries
231
46
[sourceforge.net: #2018957] Wrong SPM_PAGESIZE for mega1284P
232
47
[sourceforge.net: #2033993] User manual: data symbol spec incorrect
233
[#21621] Allow autoconf 2.61
234
[#21622] Support building in a subdirectory
235
[#21623] boot.h: Use the "z" register constraint
236
[#22240] Add EEPROM Page Size to header files
237
[#22540] Adding signature bytes to header files
238
[#22572] Documentation FAQ example proposal
239
[#22828] eeprom_write_block(): incompatibility in args order
240
[#22834] ATmega164P/324P/644P/1284P lack BODS/BODSE bits in MCUCR
241
[#22870] Error in wdt.h and ATmega164P
242
[#22877] Fuse information wrong for xmega devices.
243
[#22878] eeprom_*_word/dword/block cause hang in ATmega256x
244
[#23004] Watchdog enable docu only generated for Xmega series
245
[#23032] Define PORTxn, PINxn, DDxn bit names in iomxx4.h.
246
[#23166] atmega328p does not have SPMEN
247
[#23261] AT90USB162 and AT90USB82 missing power_all_[enable,disable]() in power.h
248
[#23409] Provide an implementation for strtok()
249
[#23546] FAQ documentation symbol seems wrong
250
[#23774] Using some defines from avr/fuse.h produces warning
251
[#23850] ATMega8 does not have MCUSR defined
252
[#23871] clock_prescale_set() not available for ATmega32U4
253
[#23959] Small typo in deprecated documentation
254
[#23969] eeprom_read_byte() throws interrupt EE_READY although EERIE is cleared, controller resets
255
[#24207] Example in inttypes.h is wrong
256
[#24446] _attribute_ should be __attribute__ (with double underscores)
258
* Contributed Patches:
260
[#6500] Reentrant code faq
261
[#6517] Pgmspace with float support
268
* New devices supported:
273
*** Changes in avr-libc-1.6.2:
277
[Atmel: #7159] the memory location of tccr0b is mixed with tccr0a for tiny48/88
278
[sourceforge.net: #1836849] Multiplication does not work for AT90USB162
279
[sourceforge.net: #1883630] ATmegaXX4 - USART0 and USART1 additional bits aliases
280
[sourceforge.net: #1910885] Typo in io90pwm3b.h
281
[sourceforge.net: #1913681] Missing INT3 define in io90pwm3b.h
48
[sourceforge.net: #2305703] iom162.h ASSR bitdef, typo?
49
[sourceforge.net: #2411516] Error/Bug in the iotn88.h file
50
[sourceforge.net: #2420567] ATmega329P missing in sleep.h
51
[sourceforge.net: #2693898] ATmega32U6 missing in power.h
52
[sourceforge.net: #2738926] avr/eeprom.h EEGET and EEPUT
53
[sourceforge.net: #2812125] ATmega16U4 missing in power.h
54
[sourceforge.net: #2913419] Misspelled Structure Element - xmega
282
55
[#3485] Using float arithmetic without linking with -lm result in incorrect code
283
56
[#19079] sscanf %s eats 1 char too much
284
57
[#19494] sfr_defs.h documentation: Remove references to deprecated macros.
285
58
[#21410] Incorrect use of 16-bit eeprom addresses in devices with 8-Bit address registers
59
[#21621] Allow autoconf 2.61
60
[#21622] Support building in a subdirectory
61
[#21623] boot.h: Use the "z" register constraint
286
62
[#21869] Multiple defines in iotn2313.h
287
63
[#21872] __floatunsisf/undisf incorrectly named
288
64
[#21905] scanf: float conversion ignores the suppression symbol
296
72
[#22016] Typo in iotn2313.h: SIG_OUTPUT_COPMARE0A
297
73
[#22119] Misleading statement in FAQ
298
74
[#22153] setjmp.o is wrong in libc.a (1.6.1) for avr's with SPH
75
[#22240] Add EEPROM Page Size to header files
299
76
[#22276] wdt_reset fails with devices with large WDTCSR addresses
300
77
[#22377] Wrong XRAMEND for some recent ioXXX.h header files.
301
78
[#22387] Missing EIMSK and __EEPROM_REG_LOCATIONS__ in iom168p.h
302
79
[#22390] Unclear note about function pointers
303
80
[#22447] Summary of iom?8p.h header updates needed
304
81
[#22493] Typo in iom1284p.h.
82
[#22540] Adding signature bytes to header files
305
83
[#22548] Missing IVCE and IVSEL in iom328p.h
306
84
[#22568] Missing EEPROM_REG_LOCATIONS in iom328p.h
85
[#22572] Documentation FAQ example proposal
307
86
[#22642] AT90USB162 and AT90USB82 not supported in <avr/power.h>
308
87
[#22643] math.h c99 incompability
309
88
[#22666] io90pwm3b.h errors
310
89
[#22785] ATMega644P Support Missing from avr/include/avr/sleep.h
90
[#22828] eeprom_write_block(): incompatibility in args order
91
[#22834] ATmega164P/324P/644P/1284P lack BODS/BODSE bits in MCUCR
92
[#22870] Error in wdt.h and ATmega164P
93
[#22877] Fuse information wrong for xmega devices.
94
[#22878] eeprom_*_word/dword/block cause hang in ATmega256x
95
[#23004] Watchdog enable docu only generated for Xmega series
96
[#23032] Define PORTxn, PINxn, DDxn bit names in iomxx4.h.
97
[#23166] atmega328p does not have SPMEN
98
[#23261] AT90USB162 and AT90USB82 missing power_all_[enable,disable]() in power.h
99
[#23409] Provide an implementation for strtok()
100
[#23546] FAQ documentation symbol seems wrong
311
101
[#23554] Wrong bit values in iom32u4.h
102
[#23677] Request for cbrt() and strdup to be added to libc
103
[#23703] eeprom write functions optimisation
104
[#23774] Using some defines from avr/fuse.h produces warning
105
[#23850] ATMega8 does not have MCUSR defined
106
[#23871] clock_prescale_set() not available for ATmega32U4
107
[#23959] Small typo in deprecated documentation
108
[#23969] eeprom_read_byte() throws interrupt EE_READY although EERIE is cleared, controller resets
109
[#24207] Example in inttypes.h is wrong
110
[#24446] _attribute_ should be __attribute__ (with double underscores)
111
[#24762] 1.6.3 wdt.h compile-time bug
112
[#24890] Small error in libm source fp_rempio2.S
113
[#25048] eeprom.h will not compile as c++ code.
114
[#25120] pgm_read_*_far() functions cause incorrect usage of the Z pointer for RAM access in ATxmega series
115
[#25131] Incorrect definition of default lfuse bits for ATTiny2313
116
[#25261] TWIHSR spelling deviates from XML file in AVR Studio 4.15
117
[#25535] Nonexistent bit definitions in iotn88.h/iotn48.h AREFD REFS1 RWWSB SM2
118
[#25645] xmega header files broken #defines
119
[#25723] Realloc corrupts free list when growing into the next free item
120
[#25846] include/avr/power.h:628:1: error: missing binary operator before token "defined"
121
[#25925] <avr/boot.h> cannot be included on Xmega devices
122
[#25929] boot.h Fuse read not compatible with Tiny48/88.
123
[#25930] New IO-Headerfiles missing PXn Portpindefinitions
124
[#26188] Wrong or missing definition of SIGNATURE_X in iom644.h and others
125
[#26284] boot_lock_fuse_bits_get does not compile under gcc 4.3.X
126
[#26308] WDE defined as WDE3 in io90pwm3b.h and io90pwm2b.h
127
[#26767] XMEGA GPIO register name discrepancy
128
[#26809] Some common math constants missing in math.h
129
[#26840] Missing #define in iom32m1.h
130
[#26876] include io.h into fuse.h
131
[#27201] _WORDREGISTER in xmega headers does not work in C99 mode
132
[#27235] malloc: Several things go wrong
133
[#27242] realloc: serious error when size shrinks
134
[#27243] malloc: small error in comment
135
[#27367] RAMSTART missing in elder device header files
136
[#27434] Arguments of macros must be protected in parentheses
137
[#28575] Minor bug in iousb162.h - missing FUSE_ prefixes
138
[#28688] using_tools.dox fails to build due to extra underscore
139
[#28756] Bug in AVR libc 1.6.7 (power.h for 8-bit AVR)
140
[#28812] iotn48.h TWS# bits off by one
141
[#28584] iocanxx.h Add word definitions to iocanxx.h
142
[#28627] power.h ATMEGA32U2 clock_prescale_set() not available
143
[#28901] Xmega header files with missing definitions for GPIO_t and CPU_t
144
[#28574] Xmega D ADC struct missing registers
145
[#28582] XMEGA A3B, RTC32 not properly supported
146
[#28921] pointer to function > 128k flash
147
[#29502] literal error in iox128a1.h
148
[#29653] PUD bit missing for at90usb82
149
[#29950] ATtiny167 SPM_PAGESIZE Discrepancy
150
[#30018] Errors in include files
151
[#30085] memcpy_P on XMega does not clr NVM.CMD before copy
152
[#30104] power.h - Missing "power_usart1_/enable/disable()" functions for ATmega644
153
[#30148] XMEGA register discrepancy
154
[#30600] Missing processor spec - wdt.h include file
155
[#30597] Missing definition for ATmega16/32/64m1/c1
156
[#30475] SPM_PAGESIZE is incorrect in io90pwm3b.h and io90pwm2b.h
157
[#30552] Missing definition ADCW
158
[#30569] ATmega16U4/32U4 wrong bit definition
159
[#30669] Improve comment in stdiodemo
160
[#30735] bug in example twitest
161
[#31086] ATTINY88 RAMEND value not set to correct value in iotn88.h
162
[#30363] _delay_xx() functions in <util/delay.h> are broken
163
[#31990] PRPSC0 used in power.h for AT90PWM81 instead of PRPSCR
164
[#31873] power_aes_enable/disable() are commented in power.h for xmega devices
335
188
branches of compiler (less 4.1) and ancient chips (without MOVW).
336
189
. The maximum quantity of conversions now is limited (255).
338
- EEPROM functions are rewriten. Now the base procedures (eeprom_read_byte
339
and eeprom_write_byte) are inline: they are evaluated at compile time
340
of user program. This gives a possibility to add support for new AVR
341
arhitectures very simply. Also this fixes Avr-libc bug #21410. New
342
functions for 32-bit words are added.
191
- EEPROM functions are rewriten. Now they are pure asm functions. The
192
reading of long word or block is speed up. New functions for 32-bit
193
words and floats are added. The group of 'update' (burn only different
194
bytes) functions is added. A set of Avr-libc bugs are fixed.
344
196
- Added support for XMEGA architectures.
198
- The Postscript documentation build has been removed in favour of
199
building only the PDF (and HTML and man page) versions. PDF offers
200
the same printing quality as postscript at a smaller file size.
201
This also works around a bug in doxygen 1.5.7 where it appears to
202
be no longer possible to set GENERATE_HTML = NO.
204
- A sleeping BOD API was added to <avr/sleep.h>. This allows you to disable
205
the Brown Out Detector (BOD) before going to sleep, thereby reducing
208
- The note about signbit() implementation is removed from documenatation.
209
The reason is that the GCC can replace it with inline code and the
210
nonzero value is unpredictable in such case.
212
- Signature API added in <avr/signature.h>.
214
- All functions are now placed in the .text.avr-libc section, and the
215
floating point functions are placed in the .text.avr-libc.fplib section. This
216
allows the user the ability to relocate all avr-libc routines to a different
217
address using a custom linker script.
219
- The port/pin assignments of the HD44780 LCD controller in the
220
stdiodemo example can now be distributed across more than a single
221
AVR port. The only remaining requirement is that all data bits
222
are assigned to a single port in ascending order.
224
- Added support for avrtiny10 architecture, to support the ATtiny10 Family.
226
- Added new headerfile: <avr/cpufunc.h>; currently contains _NOP() and
229
- The twidemo can now optionally address 24C32 and larger EEPROMs
230
that require 16-bit word addressing.
232
- Add a "memory barrier" to the cli() and sei() macros.
346
235
* New devices supported:
356
314
* Optimized functions:
324
sqrt (and callers: acos, asin and hypot)
325
sin, cos, tan: minor in space
330
* Contributed Patches:
332
[#6194] Twitest updated to handle larger EEPROM devices
333
[#6352] Far pointer library
334
[#6500] Reentrant code faq
335
[#6517] Pgmspace with float support
336
[#6555] malloc improvement
337
[#6649] sqrt.S in libm changes
338
[#6690] Shorten calculation of dallas 1-wire crc
339
[#6718] Optimize the EEPROM functions
340
[#6720] FAQ update. Add EEPROM section, baud rate section. Correct spelling.
341
[#6791] Minor fixes to stdio.h documentation
342
[#6878] eewr_byte.S update for patch #6718
343
[#6891] Add XMega software reset to the FAQ section on software reset
344
[#6895] Improved malloc behaviour when expanding used area
345
[#6897] Allow <util/setbaud.h> to be used with assembler source
363
350
eeprom_read_dword
364
357
eeprom_write_dword
366
*** Changes in avr-libc-1.6.1:
370
[#21862] File 'bench-libm.dox' does not exist in distribution
372
381
*** Changes in avr-libc-1.6.0: