-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
258 lines (161 loc) · 8.24 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
avrtest NEWS
============
* avrtest.h now works with -mint8. 2024-06-12
Notice that an -mint8 programm must be terminated with
some abort flavour or with avrtest_exit. Returning from
main or using [__builtin_]exit will only return an 8-bit
value, but the library functions are expecting a 16-bit
exit value.
* Support syscalls LOG_FMT_F7T etc. to log libgcc's 2024-06-10
internal IEEE double representation.
* Support syscalls like r339 2023-11-14
long double avrtest_sinl (long double);
long double avrtest_mull (long double, long double);
to help with IEEE double implementation. For a
complete list of functions, see README sections
"IEEE single emulation" and "IEEE double emulation".
There are also versions for float like:
float avrtest_sinf (float);
float avrtest_mulf (float, float);
* Use flash size from section .note.gnu.avr.deviceinfo r338 2023-10-01
provided by startup-code from AVR-LibC in crt<mcu>.o.
* Support -mmcu=avr2, avr25, avr3, avr31, avr35, r337 2023-09-30
avr4, avr5 and avrxmega2 for convenience. They
are basically aliases of already existing cores.
* Support logging of values (syscalls 7 and 8) also r335 2023-09-23
in avrtest.
* Support -mmcu=avrxmega4 for XMEGA devices with r331 2023-09-21
a 2-byte PC and with .rodata in RAM.
* Calls like fputc (c, stderr) now write to the r326 2023-09-12
host's stderr stream.
Support a new syscall avrtest_putchar_stderr (int)
that writes a character to stderr on the host.
A new command line option -no-stderr has been added
that (works similar to -no-stdout and) suppresses
all output to the host's stderr that originates from
target writes to stderr.
* Support a new syscall avrtest_abort_2nd_hit() that r318 2023-05-26
calls abort if it is executed more than once. This
is useful for programs that go haywire and execute
startup code more than once. The startup code in
dejagnuboards/exit.c now calls this syscall.
* Support a new option -s SIZE that specifies the r316 2023-05-26
flash size in bytes of the simulation. SIZE is
used when the program counter needs wrap-around.
* Add some rudimentary check that the supplied ELF r314 2023-05-19
executable matches the architecture and PC size
of the simulation.
* Option -m MAXCOUNT now handles 64-bit numbers r306 2022-09-19
correctly.
* Support new command line option -flush that r303 2022-09-19
flushes the host's stdout stream for each call of
avrtest_putchar (syscall 29).
* Support logging of 64-bit floating point values: r292 2019-12-16
- LOG_DOUBLE (X)
- LOG_LDOUBLE (X)
- LOG_D64 (X)
and respective macros with custom format string.
For details, see README.
* Add basic support for stdio.h functions to interact r265 2019-11-19
with the host's file system has been added. The files
that are to be accessed must be located in a sandbox
folder specified by the new command line option
-sbox SANDBOX
A new target module fileio.c has been added that
provides implementation of functions like:
fopen, fclose, feof, fflush, clearerr, fopen,
fread, fwrite
from stdio.h. In addition, the new module provides
functions that use file handles in place of FILE*
pointers. For details see the README file.
* Add support to push the current state of instruction r221 2019-08-25
logging to an internal stack in the simulator.
The state can be popped back when needed. Support is
available from the avrtest_log family and available by
new (C/C++, Assembler) macros in avrtest.h:
- LOG_PUSH_ON
- LOG_POP_OFF
- LOG_POP
* BUGFIX don't use entry points in the data address r218 2019-08-13
range.
* Add support for '-pm OFFSET' command line option. r214 2019-07-27
Devices like ATmega4808 from avrxmega3 see the
program memory at address 0x4000 in the RAM address
space. The default for avrxmega3 is 0x8000, however.
This option can be used to specify the right offset.
- Support avrtest-xmega -mmcu=avrxmega3 -pm OFFSET
* Add support for avrxmega7 devices that use r212 2018-07-18
RAMPX, RAMPY, RAMPZ resp. RAMPD as high-byte
for RAM accesses.
- Support avrtest-xmega -mmcu=avrxmega7
* Add support for avrxmega3 devices that see flash r203 2018-01-22
in RAM address space like ATtiny212, ATtiny1617, etc.
- Support avrtest-xmega -mmcu=avrxmega3
- Add a DejaGNU board description for ATtiny3216.
* Add assembler support to avrtest.h for: r196 2016-12-12
- LOG_ON
- LOG_OFF
- AVRTEST_EXIT
- AVRTEST_ABORT
- avrtest_syscall <sysno>
* Support logging of 64-bit values. r194 2016-12-12
* Support the reduced AVR Tiny cores with only 16 GPRs. r186 2016-07-11
The new executables for that core architecture are
avrtest-tiny and avrtest-tiny_log.
* BUGFIX of wrong decoding of first instruction if r181 2016-06-25
entry-point is not 0x0.
* Support call graph generation r178 2014-11-13
- -graph[=FILE] New option to generate .dot graph
* BUGFIX of wrong SBRC / SBRS / SBIC / SBIS / CPSE r165 2014-10-20
skip offset introduced with SVN r157 (2014-10-11).
* The magic ports to establish program <-> simulator r163 2014-10-19
interaction have been replaced by the more efficient
SYSCALLs.
* Show function names from ELF symbol table r153 2014-10-09
when logging.
- -no-syms New option to switch that off.
* Use entry point from ELF file. r152 2014-10-07
* New magic LOG_PORT for avrtest_log: r150 2014-10-06
(ignored by avrtest)
- Turn on / off logging by the simulated program.
- Capture and print performance data.
See README for details and examples.
* New options for avrtest_log: r144 2014-09-30
(ignored by avrtest)
- -no-log Don't log instructions as they are simulated.
- -args ... Pass all following command options to the
running program ready to use as 'argc' and
'argv' like in any hosted program:
int main (int argc, char *argv[])
{
/* code */
}
- -no-args ... Ignore all parameters following -no-args.
Set argc=0 and argv=NULL as main is entered.
* Improve log output: r135 2014-09-20
- Print flags like 'CZNVSHTI' insted of hex value when accessing SREG.
- Print instruction shortcut for CLR, LSL, ROL, TST when applicable.
- Better log of conditional jumps and instructions dealing with bits.
* New options: r121 2014-09-15
-runtime Show runtime statistics of avrtest itself.
-e ADDRESS Use byte address ADDRESS instead of the default
program entry point to start the simulation.
* Support AVR Xmega r92 2012-06-04
- New executables 'avrtest-xega' and 'avrtest-xmega_log'.
- New Xmega instructions XCH, LAC, LAS, LAT.
* New options: r76 2011-06-09
-no-stdin Disable wait and magic action when reading STDIN_PORT.
-no-stdout Disable magic action when writing to STDOUT_PORT.
* New header "avrtest.h"
- Applications can #include "avrtest.h" in their programs or compile
with -include "avrtest.h" to get macros for the magic ports
EXIT_PORT, ABORT_PORT, STDOUT_PORT and STDIN_PORT.
* Add support for devices with 3-byte PC r52 2008-07-22
-mmcu=ARCH New command line option to set the architecture.
Valid arguments for ARCH are: 'avr51' and 'avr6'.
Default is 'avr51'.
* Support ELF executables r37 2008-05-25
* New options:
-m CYCLES Execute at most CYCLES instructions.
Default is -m 0 (no limit).
-d Initialize SRAM before program execution.