~ubuntu-branches/ubuntu/raring/avr-libc/raring-proposed

« back to all changes in this revision

Viewing changes to NEWS

  • Committer: Bazaar Package Importer
  • Author(s): Hakan Ardo
  • Date: 2011-07-14 11:15:32 UTC
  • mfrom: (1.1.10 upstream) (4.1.6 sid)
  • Revision ID: james.westby@ubuntu.com-20110714111532-e83i3vqdowgxw8lv
Tags: 1:1.7.1-2
include/util/delay.h.in: Add math.h to list of includes (closes:
#633822)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
*** Changes in avr-libc-1.6.7:
 
1
*** Changes in avr-libc-1.7.1:
2
2
 
3
3
* Bugs fixed:
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)
12
 
 
13
 
* New functions:
14
 
 
15
 
  memccpy_P
16
 
  strtok_P, strtok_rP
17
 
 
18
 
* Optimized functions:
19
 
 
20
 
  strlcat, strlcat_P
21
 
  strlcpy, strlcpy_P
22
 
  strtok, strtok_r
 
4
 
 
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
23
12
 
24
13
* New devices supported:
25
14
 
26
 
  ATmega8U2
27
 
  ATmega16U2
28
 
  ATmega32U2
29
 
  ATxmega192D3
30
 
  ATtiny2313A
31
 
  ATtiny4313
32
 
  ATtiny24A
33
 
  ATtiny44A
34
 
  ATtiny261A
35
 
  ATtiny461A
36
 
  ATtiny861A
37
 
  ATmega644PA
38
 
  ATmega88PA
39
 
  ATmega16A
40
 
  ATmega64HVE
41
 
  ATmega169PA
42
 
  ATmega649P
43
 
  ATmega324PA
44
 
  ATmega16HVA2
45
 
  ATmega16HVB
46
 
  ATmega48A
47
 
  ATmega88A
48
 
  ATmega168A
49
 
  ATmega328
50
 
  ATmega164A
51
 
  ATmega324A
52
 
  ATmega644A
53
 
  ATmega165A
54
 
  ATmega169A
55
 
  ATmega645A
56
 
  ATmega6450A
57
 
  ATmega649A
58
 
  ATmega6490A
59
 
  ATmega6490P
60
 
  ATmega645P
61
 
  ATmega6450P
62
 
  ATmega329PA
 
15
  ATTiny84a
 
16
  ATMega16HVB RevB
 
17
  ATMega32HVB RevB
63
18
 
64
19
* Contributed Patches:
65
20
 
66
 
  [#6878] eewr_byte.S update for patch #6718
67
 
 
68
21
* Other changes:
69
22
 
70
23
 
71
 
*** Changes in avr-libc-1.6.6:
 
24
*** Changes in avr-libc-1.7.0:
72
25
 
73
26
* Bugs fixed:
 
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
89
 
 
90
 
* Contributed Patches:
91
 
 
92
 
  [#6718] Optimize the EEPROM functions
93
 
 
94
 
* New functions:
95
 
 
96
 
   cbrt
97
 
   eeprom_read_float
98
 
   eeprom_update_block
99
 
   eeprom_update_byte
100
 
   eeprom_update_dword
101
 
   eeprom_update_float
102
 
   eeprom_update_word
103
 
   eeprom_write_float
104
 
 
105
 
* Optimized functions:
106
 
 
107
 
   eeprom_read_block
108
 
   eeprom_read_dword
109
 
   eeprom_read_word
110
 
   eeprom_write_block
111
 
   eeprom_write_dword
112
 
   eeprom_write_word
113
 
 
114
 
* New devices supported:
115
 
  
116
 
  + ATxmega192A3
117
 
  + ATxmega128D3
118
 
  + ATxmega256D3
119
 
  + ATxmega64D3
120
 
 
121
 
* Other changes:
122
 
  
123
 
  - Signature API added in <avr/signature.h>.
124
 
  
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.
129
 
 
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
134
 
  are fixed.
135
 
 
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.
140
 
 
141
 
 
142
 
*** Changes in avr-libc-1.6.6:
143
 
 
144
 
* Bugs fixed:
145
 
 
146
 
  [no-id] Regenerated Xmega header files.
147
 
 
148
 
* Contributed Patches:
149
 
 
150
 
* New devices supported:
151
 
 
152
 
* Other changes:
153
 
 
154
 
 
155
 
*** Changes in avr-libc-1.6.5:
156
 
 
157
 
* Bugs fixed:
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
171
 
 
172
 
* Optimized functions:
173
 
  cos, sin, tan:  minor in space
174
 
  sqrt  (and callers: acos, asin and hypot)
175
 
 
176
 
* Contributed Patches:
177
 
  [#6649] sqrt.S in libm changes
178
 
  [#6720] FAQ update. Add EEPROM section, baud rate section. Correct spelling.
179
 
 
180
 
* New devices supported:
181
 
 
182
 
  + AT90SCR100
183
 
  + ATtiny87
184
 
  + ATxmega32A4
185
 
  + ATmega16M1
186
 
  + ATmega64C1
187
 
  + ATmega64M1
188
 
  + ATA6289
189
 
  + AT90PWM81
190
 
  + ATmega128RFA1
191
 
  + ATxmega32D4
192
 
  + ATxmega16A4
193
 
  + ATxmega16D4
194
 
  + ATmega16U4
195
 
 
196
 
* Other changes:
197
 
 
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
200
 
  power even further.
201
 
 
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.
205
 
 
206
 
*** Changes in avr-libc-1.6.4:
207
 
 
208
 
* Bugs fixed:
209
 
 
210
 
  [#24762] 1.6.3 wdt.h compile-time bug
211
 
 
212
 
* Other changes:
213
 
 
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.
219
 
 
220
 
 
221
 
*** Changes in avr-libc-1.6.3:
222
 
 
223
 
* Bugs fixed:
224
 
 
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)
257
 
 
258
 
* Contributed Patches:
259
 
 
260
 
  [#6500] Reentrant code faq
261
 
  [#6517] Pgmspace with float support
262
 
 
263
 
* New functions:
264
 
 
265
 
   strdup
266
 
   strtok
267
 
 
268
 
* New devices supported:
269
 
 
270
 
  + ATmega32U6
271
 
 
272
 
 
273
 
*** Changes in avr-libc-1.6.2:
274
 
 
275
 
* Bugs fixed:
276
 
 
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
312
165
 
313
166
* Other changes:
314
167
 
335
188
      branches of compiler (less 4.1) and ancient chips (without MOVW).
336
189
      . The maximum quantity of conversions now is limited (255).
337
190
 
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.
343
 
    
 
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.
 
195
 
344
196
  - Added support for XMEGA architectures.
345
197
 
 
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.
 
203
 
 
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
 
206
    power even further.
 
207
 
 
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.
 
211
 
 
212
  - Signature API added in <avr/signature.h>.
 
213
 
 
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.
 
218
 
 
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.
 
223
 
 
224
  - Added support for avrtiny10 architecture, to support the ATtiny10 Family.
 
225
 
 
226
  - Added new headerfile: <avr/cpufunc.h>; currently contains _NOP() and
 
227
    _MemoryBarrier().
 
228
 
 
229
  - The twidemo can now optionally address 24C32 and larger EEPROMs
 
230
    that require 16-bit word addressing.
 
231
 
 
232
  - Add a "memory barrier" to the cli() and sei() macros.
 
233
 
 
234
 
346
235
* New devices supported:
347
236
 
 
237
  + ATxmega64D3
 
238
  + ATxmega128D3
 
239
  + ATxmega256D3
 
240
  + ATxmega192A3
348
241
  + ATxmega128A1
349
242
  + ATxmega64A1
350
243
  + ATmega32M1
352
245
  + ATmega32U4
353
246
  + ATtiny167
354
247
  + ATtiny13A
 
248
  + ATmega32U6
 
249
  + AT90SCR100
 
250
  + ATtiny87
 
251
  + ATxmega32A4
 
252
  + ATmega16M1
 
253
  + ATmega64C1
 
254
  + ATmega64M1
 
255
  + ATA6289
 
256
  + AT90PWM81
 
257
  + ATmega128RFA1
 
258
  + ATxmega32D4
 
259
  + ATxmega16A4
 
260
  + ATxmega16D4
 
261
  + ATmega16U4
 
262
  + ATmega8U2
 
263
  + ATmega16U2
 
264
  + ATmega32U2
 
265
  + ATxmega192D3
 
266
  + ATtiny2313A
 
267
  + ATtiny4313
 
268
  + ATtiny24A
 
269
  + ATtiny44A
 
270
  + ATtiny261A
 
271
  + ATtiny461A
 
272
  + ATtiny861A
 
273
  + ATmega644PA
 
274
  + ATmega88PA
 
275
  + ATmega16A
 
276
  + ATmega64HVE
 
277
  + ATmega169PA
 
278
  + ATmega649P
 
279
  + ATmega324PA
 
280
  + ATmega16HVA2
 
281
  + ATmega16HVB
 
282
  + ATmega48A
 
283
  + ATmega88A
 
284
  + ATmega168A
 
285
  + ATmega328
 
286
  + ATmega164A
 
287
  + ATmega324A
 
288
  + ATmega644A
 
289
  + ATmega165A
 
290
  + ATmega169A
 
291
  + ATmega645A
 
292
  + ATmega6450A
 
293
  + ATmega649A
 
294
  + ATmega6490A
 
295
  + ATmega6490P
 
296
  + ATmega645P
 
297
  + ATmega6450P
 
298
  + ATmega329PA
 
299
  + ATxmega128A1U
 
300
  + ATxmega64A1U
 
301
  + ATtiny4
 
302
  + ATtiny5
 
303
  + ATtiny9
 
304
  + ATtiny10
 
305
  + ATtiny20
 
306
  + ATtiny40
 
307
  + ATtiny84A
 
308
  + ATmega325A
 
309
  + ATmega3250A
 
310
  + ATmega329A
 
311
  + ATmega3290A
 
312
  + M3000
355
313
 
356
314
* Optimized functions:
357
315
 
 
316
   eeprom_read_block
 
317
   eeprom_read_dword
 
318
   eeprom_read_word
 
319
   eeprom_write_block
 
320
   eeprom_write_dword
 
321
   eeprom_write_word
358
322
   strtod
359
323
   setjmp
 
324
   sqrt   (and callers: acos, asin and hypot)
 
325
   sin, cos, tan:  minor in space
 
326
   strlcat, strlcat_P
 
327
   strlcpy, strlcpy_P
 
328
   strtok, strtok_r
 
329
 
 
330
* Contributed Patches:
 
331
 
 
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
360
346
 
361
347
* New functions:
362
348
 
 
349
   cbrt
363
350
   eeprom_read_dword
 
351
   eeprom_read_float
 
352
   eeprom_update_block
 
353
   eeprom_update_byte
 
354
   eeprom_update_dword
 
355
   eeprom_update_float
 
356
   eeprom_update_word
364
357
   eeprom_write_dword
365
 
 
366
 
*** Changes in avr-libc-1.6.1:
367
 
 
368
 
* Bugs fixed:
369
 
 
370
 
  [#21862] File 'bench-libm.dox' does not exist in distribution
 
358
   eeprom_write_float
 
359
   memccpy_P
 
360
   strdup
 
361
   strtok
 
362
   strtok_P
 
363
   strtok_rP
 
364
   strlen_PF
 
365
   strnlen_PF
 
366
   memcpy_PF
 
367
   strcpy_PF
 
368
   strncpy_PF
 
369
   strcat_PF
 
370
   strlcat_PF
 
371
   strncat_PF
 
372
   strcmp_PF
 
373
   strncmp_PF
 
374
   strcasecmp_PF
 
375
   strncasecmp_PF
 
376
   strstr_PF
 
377
   strlcpy_PF
 
378
   memcmp_PF
 
379
   
371
380
 
372
381
*** Changes in avr-libc-1.6.0:
373
382
 
771
780
* boot.h: implement boot_lock_fuse_bits_get() plus macros for the
772
781
          respective addresses (low/high/ext fuse, lock bits)
773
782
 
774
 
* Bugs fixed:
775
 
 
776
 
  [sourceforge.net: #1836849] Multiplication does not work for AT90USB162
777
 
 
778
 
* Other changes:
779
 
 
780
 
  - Added 'avr35' architecture. Now 'MOVW' and 'LPM Rx, Z[+]' instructions
781
 
    supported for AT90USB82 and ATt90USB162 devices. GCC 4.3 or above is 
782
 
    necessary to use this. 
783
783
 
784
784
*** Changes since avr-libc-1.2.3:
785
785