source: uKadecot/trunk/srecord/Readme.txt@ 165

Last change on this file since 165 was 101, checked in by coas-nagasima, 9 years ago

TOPPERS/uKadecotのソースコードを追加

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
  • Property svn:mime-type set to text/plain
File size: 43.4 KB
Line 
1Read Me(SRecord) Read Me(SRecord)
2
3
4
5NAME
6 SRecord - manipulate EPROM load files
7
8DESCRIPTION
9 The SRecord package is a collection of powerful tools for manipulating
10 EPROM load files.
11
12 I wrote SRecord because when I was looking for programs to manipulate
13 EPROM load files, I could not find very many. The ones that I could
14 find only did a few of the things I needed. SRecord is written in C++
15 and polymorphism is used to provide the file format flexibility and
16 arbitrary filter chaining. Adding more file formats and filters is
17 relatively simple.
18
19 The File Formats
20 The SRecord package understands a number of file formats:
21
22 Ascii-Hex
23 The ascii-hex format is understood for both reading and
24 writing. (Also known as the ascii-space-hex format.)
25
26 ASM It is possible, for output only, to produce a serices of DB
27 statements containing the data. This can be useful for
28 embedding data into assembler programs. This format cannot be
29 read.
30
31 Atmel Generic
32 This format is produced by the Atmel AVR assembler. It is
33 understood for both reading and writing.
34
35 BASIC It is possible, for output only, to produce a serices of DATA
36 statements containing the data. This can be useful for
37 embedding data into BASIC programs. This format cannot be
38 read.
39
40 Binary Binary files can both be read and written.
41
42 B-Record
43 Files in Freescale Dragonball bootstrap b-record format can be
44 read and written.
45
46 C It is also possible to write a C array declaration which
47 contains the data. This can be useful when you want to embed
48 download data into C programs. This format cannot be read.
49
50 COE The Xilinx Coefficient File Format (.coe) is understood for
51 output only.
52
53 Cosmac The RCA Cosmac Elf format is understood for both reading and
54 writing.
55
56 DEC Binary
57 The DEC Binary (XXDP) format is understood for both reading and
58 writing.
59
60 Elektor Monitor (EMON52)
61 The EMON52 format is understood for both reading and writing.
62
63 Fairchild Fairbug
64 The Fairchild Fairbug format is understood for both reading and
65 writing.
66
67 Formatted Binary
68 The Formatted Binary format is understood for both reading and
69 writing.
70
71 Four Packed Code (FPC)
72 The FPC format is understood for both reading and writing.
73
74 Hexdump It is possible to get a simple hexdump as output.
75
76 IDT/sim The IDT/sim binary file format is understood for both reading
77 and writing.
78
79 Intel The Intel hexadecimal format is understood for both reading and
80 writing. (Also known as the Intel MCS-86 Object format.)
81
82 Intel AOMF
83 The Intel Absolute Object Module Format (AOMF) is understood
84 for both reading and writing.
85
86 Intel 16
87 The Intel hexadecimal 16 format is understood for both reading
88 and writing. (Also known as the INHX16 file format.)
89
90 LSI Logic Fast Load
91 The LSI Logic Fast Load format is understood for both reading
92 and writing.
93
94 Memory Initialization Format
95 The Memory Initialization Format (.mem) by Lattice
96 Semiconductor is understood for writing only.
97
98 MIF The Memory Initialization File format by Altera is supported
99 for both reading and writing.
100
101 MOS Technology
102 The MOS Technology hexadecimal format is understood for both
103 reading and writing.
104
105 MIPS-Flash
106 The MIPS Flash file format is supported for both reading and
107 writing.
108
109 Motorola S-Record
110 The Motorola hexadecimal S-Record format is understood for both
111 reading and writing. (Also known as the Exorciser, Exormacs or
112 Exormax format.)
113
114 MsBin The Windows CE Binary Image Data Format is supported both for
115 reading and writing.
116
117 Needham The Needham Electronics ASCII file format is understood for
118 both reading and writing.
119
120 OS65V The Ohio Scientific hexadecimal format is understood for both
121 reading and writing.
122
123 PPB The Stag Prom Programmer binary format is understood for both
124 reading and writing.
125
126 PPX The Stag Prom Programmer hexadecimal format is understood for
127 both reading and writing.
128
129 Signetics
130 The Signetics format is understood for both reading and
131 writing.
132
133 SPASM The SPASM format is used by a variety of PIC programmers; it is
134 understood for both reading and writing.
135
136 Spectrum
137 The Spectrum format is understood for both reading and writing.
138
139 Tektronix (Extended)
140 The Tektronix hexadecimal format and the Tektronix Extended
141 hexadecimal format are both understood for both reading and
142 writing.
143
144 Texas Instruments Tagged
145 The Texas Instruments Tagged format is understood for both
146 reading and writing (both 8 and 16 bit). Also known as the TI-
147 tagged or TI-SDSMAC format.
148
149 Texas Instruments ti-txt
150 The TI-TXT format is understood for reading and writing. This
151 format is used with the bootstrap loader of the Texas
152 Instruments MSP430 family of processors.
153
154 TRS-80 The Radio Shack TRS-80 object file format is understood for
155 reading and writing.
156
157 VHDL It is possible to write VHDL file. This is only supported for
158 output.
159
160 Verilog VMEM
161 It is possible to write a Verilog VMEM file suitable for
162 loading with $readmemh(). This format is supported for reading
163 and writing.
164
165 Wilson The Wilson format is understood for both reading and writing.
166 This mystery format was added for a mysterious type of EPROM
167 writer.
168
169 The Tools
170 The primary tools of the package are srec_cat and srec_cmp. All of the
171 tools understand all of the file formats, and all of the filters.
172
173 srec_cat
174 The srec_cat program may be used to catenate (join) EPROM load
175 files, or portions of EPROM load files, together. Because it
176 understands all of the input and output formats, it can also be
177 used to convert files from one format to another.
178
179 srec_cmp
180 The srec_cmp program may be use to compare EPROM load files, or
181 portions of EPROM load files, for equality.
182
183 srec_info
184 The srec_info program may be used to print summary information
185 about EPROM load files.
186
187 The Filters
188 The SRecord package is made more powerful by the concept of input
189 filters. Wherever an input file may be specified, filters may also be
190 applied to that input file. The following filters are available:
191
192 bit reverse
193 The bit-reverse filter may be used to reverse the order of bits
194 in each data byte.
195
196 byte swap
197 The byte swap filter may be used to swap pairs of add and even
198 bytes.
199
200 CRC The various crc filters may be used to insert a CRC into the
201 data.
202
203
204 checksum
205 The checksum filters may be used to insert a checksum
206 into the data. Positive, negative and bit-not checksums
207 are available, as well as big-endian and little-endian
208 byte orders.
209
210 crop The crop filter may be used to isolate an input address
211 range, or ranges, and discard the rest.
212
213 exclude The exclude filter may be used to exclude an input
214 address range, or ranges, and keep the rest.
215
216 fill The fill filter may be used to fill any holes in the
217 data with a nominated value.
218
219 length The length filter may be used to insert the data length
220 into the data.
221
222 maximum The maximum filter may be used to insert the maximum
223 data address into the data.
224
225 minimum The minimum filter may be used to insert the minimum
226 data address into the data.
227
228 offset The offset filter may be used to offset the address of
229 data records, both forwards and backwards.
230
231 random fill
232 The random fill filter may be used to fill holes in the
233 data with random byte values.
234
235 split The split filter may be used to split EPROM images for
236 wide data buses or other memory striping schemes.
237
238 unfill The unfill filter may be used to make holes in the data
239 at bytes with a nominated value.
240
241 unsplit The unsplit filter may be reverse the effects of the
242 split filter.
243
244 More than one filter may be applied to each input file.
245 Different filters may be applied to each input file. All
246 filters may be applied to all file formats.
247
248ARCHIVE SITE
249 The latest version of SRecord is available on the Web from:
250
251 URL: http://srecord.sourceforge.net/
252 File: index.html # the SRecord page
253 File: srecord-1.62.README # Description, from the tar file
254 File: srecord-1.62.lsm # Description, LSM format
255 File: srecord-1.62.spec # RedHat package specification
256 File: srecord-1.62.tar.gz # the complete source
257 File: srecord-1.62.pdf # Reference Manual
258
259BUILDING SRECORD
260 Full instructions for building SRecord may be found in the
261 BUILDING file included in this distribution.
262
263 It is also possible to build SRecord on Windows using the Cygwin
264 (www.cygwin.com) or DJGPP (www.delorie.com/djgpp) environments.
265 Instructions are in the BUILDING file, including how to get
266 native Windows binaries.
267
268COPYRIGHT
269 srecord version 1.62
270 Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
271 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Peter Miller
272
273 This program is free software; you can redistribute it and/or
274 modify it under the terms of the GNU General Public License as
275 published by the Free Software Foundation; either version 3 of
276 the License, or (at your option) any later version.
277
278 This program is distributed in the hope that it will be useful,
279 but WITHOUT ANY WARRANTY; without even the implied warranty of
280 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
281 GNU General Public License for more details.
282
283 You should have received a copy of the GNU General Public
284 License along with this program. If not, see
285 <http://www.gnu.org/licenses/>.
286
287 It should be in the LICENSE file included with this
288 distribution.
289
290AUTHOR
291 Peter Miller E-Mail: pmiller@opensource.org.au
292 /\/\* WWW: http://miller.emu.id.au/pmiller/
293
294RELEASE NOTES
295 This section details the various features and bug fixes of the
296 various releases. For excruciating and complete detail, and
297 also credits for those of you who have generously sent me
298 suggestions and bug reports, see the etc/CHANGES.* files.
299
300 Version 1.62 (2013-Jun-05)
301 * Luc Steynen <LucSteynen@edna.be> discovered that the -hecksum-
302 big-endian opion was a counter-intuitive alias for the the
303 -checksum-bitnot-big-endian option. The -checksum-big-endian
304 option is now deprecated, in favor of the -checksum-bitnot-
305 big-endian option; the code will warn uers of the old option
306 they will need to change. Ditto little-endian variants
307
308 * Alin Pilkington <apilkington@moog.com> found that the
309 Tektronics Extended format was calculating the record length
310 incorrectory. Thanks you for the bug report. This has been
311 fixed for both reading and writing.
312
313 * Dr. Benedikt Schmitt <Benedikt.Schmitt@safeintrain.de>
314 suggested being able to inject arbitrary data into the file
315 header (such as NUL termination characters). This change set
316 adds URL-style escapes (e.g. %25) to the string on he command
317 line. For example: -header or -generate -string
318
319 Version 1.61 (2013-Jan-04)
320 * Izzet Ozcelik <izzetozcelik@cscope.co.uk> discovered a bug in
321 the Tektronix-Extenden format line checksum calculations. The
322 comparison should have been in 8 bits, not int.
323
324 * Daniel Anselmi <danselmi@gmx.ch> contributed a Memory
325 Initialization Format by Lattice Semiconductor, for output
326 only.
327
328 * Daniel Anselmi <danselmi@gmx.ch> contributed a Xilinx
329 Coefficient File Format (.coe) output class.
330
331 Version 1.60 (2012-May-19)
332 * There are now several additional CRC-16 polynomials, plus the
333 ability to select a polynomial by name, rather than by value.
334 See http://en.wikipedia.org/wiki/Cyclic_redundancy_check for a
335 table of names and values.
336
337 Version 1.59 (2012-Feb-10)
338 * A number of additional CRC-16 polynomials have been added, as
339 well as the ability to select a polynomial by name, rather
340 than by value. See srec_input(1) for more information.
341
342 Version 1.58 (2011-Dec-18)
343 * The -guess command line option, for guessing the file format,
344 now also tells you the command line option you could have used
345 instead of -guess for the exact format.
346
347 * The Intergated Device Technology (IDT) system integration
348 manager (IDT/sim) binary format is now understood for both
349 reading and writing.
350
351 * The Stag Prom Programmer binary format is now supported for
352 both reading and writing.
353
354 * The Stag Prom Programer hexadecimal format is now understood
355 for both reading and writing.
356
357 * The MIPS-Flash fiel format is now supported for both reading
358 and writing.
359
360 * Bernhard Weirich <Bernhard.Weirich@riedel.net> discovered that
361 a backward compatible option had been omitted when the
362 -INtel_16 option was renamed -INtel_HeX_16 to more closely
363 match the usual abbreviation (INHX16) for this format. The
364 backwards compatible option name has been reintroduced.
365
366 * The windows build instructions have been greatly imptoved,
367 based on the experiences of Jens Heilig <jens@familie-
368 heilig.net> which he has generously shared.
369
370 * The documentation in the manual about sequence warnings has
371 been improved. The -disable-sequence-warnings option must
372 come before the input file on the command line. My thanks to
373 Emil Gracic <emil_kruki@yahoo.com> for reporting this problem.
374
375 Version 1.57 (2011-Jun-09)
376 * The byte order of the fletcher16 output has been reversed.
377
378 * The meaning of the -address-length option has been change for
379 the Intel output format. Previously, 2 meant using i16hex
380 20-bit segmented addressing, and >2 meant using i32hex
381 extended addressing. This has been changed: a value of 2
382 requests i8hex 16-bit addressing, a value of 3 requests i16hex
383 20-bit segment addressing, and a value >=4 requests i32hex
384 32-bit addressing. My thanks to Stephen R. Phillips
385 <srp@CSECorporation.com> for reporting the absence of i8hex
386 support.
387
388 * The -generate -repeat-string option is now able to take a
389 string that looks like a number as the text to be repeated. My
390 thanks to Stephen R. Phillips <srp@CSECorporation.com> for
391 reporting this problem.
392
393 * Luca Giancristofaro <luca.giancristofaro@prosa.com> discovered
394 a WinAVR linker that is a sandwich short of a picnic: it
395 generated non-conforming Intel hex end-of-file records. This
396 is no longer an error, but only a warning.
397
398 * There were some problems with the RPM spec file, these have
399 been improved. My thanks to Galen Seitz
400 <galens@seitzassoc.com> for reporting this problem.
401
402 Version 1.56 (2010-Sep-15)
403 * A bug has been fixed in the MsBin output, it now concatenates
404 records correctly, and calaulate checksums appropriately.
405
406 * It is now possible to ask the Fletcher 16 filter to give you a
407 specific answer, and adjusting the checksum to achieve that
408 result. It is also possible to specify different seed values
409 for the sums.
410
411 * There is a new srec_cat -enable=optional-address option to
412 cause output formats capable of omitting addresses, to omit a
413 leading zero address, as those formats usually default the
414 address to zero, if no address information is seen before the
415 first data record. Defaults to false (disabled).
416
417 * There is a new srec_cat(1) -output-block-packing option, that
418 may be used to pack output records even when they cross
419 internal SRecord boundaries.
420
421 * There is a new srec_cat(1) -output-block-size so that you can
422 specify the block size exactly, rather than implying it with
423 the line length option.
424
425 Version 1.55 (2010-Feb-10)
426 * The Makefile.in has been improved, it now copes with non-
427 standard --prefix options.
428
429 * The rpm.spec file has been improved, it now separates the
430 commands, shared libraries and development files.
431
432 Version 1.54 (2010-Jan-29)
433 * There is now a shared library installed, including the
434 necessary header files so that you can use all of the file
435 formats and filters in your own projects.
436
437 * The license on the shared library code is GNU Lesser General
438 Public License, version 3.0 or later.
439
440 * The code can cope with older versions of GNU Libgcrypt. In
441 the case of very old versions, by ignoring it.
442
443 * A number of build problems have been fixed.
444
445 Version 1.53 (2009-Nov-10)
446 * There is a new MsBin (Windows CE Binary Image Data) file
447 format, supported for both reading and writing.
448
449 * The lintian(1) warning about hyphen in the manual pages has
450 been silenced, by careful use of -, - and - as appropriate.
451 Sure makes some of the sources ugly, tho. The lintian(1)
452 warning about the undefined .XX macro has been silenced, by
453 making it conditional.
454
455 * The code will build without libgcrypt.
456
457 Version 1.52 (2009-Sep-17)
458 * There is a new srec_cat -generator -l-e-constant data
459 generator (and also -b-e-const) that may be used to insert
460 multi-byte constants into your data. See srec_input(1) for
461 more information.
462
463 Version 1.51 (2009-Sep-13)
464 * A number of gcc 4.4 build problems have been fixed.
465
466 * A bugs has been fixed in the Intel output format. When using
467 the segemented format (address-length=2) records that span the
468 end of segment boundary are tricky. The code now carefully
469 splits such output records, to ensure the two parts are
470 explicitly placed into separate segments.
471
472 Version 1.50 (2009-Jul-09)
473 * The CRC16 code has been enhanced to provide low-to-high bit
474 order, in addition to the previous high-to-low bit order. It
475 is also possible to specify the polynomial, with the default
476 the CCITT standard polynomial, as was in the previous code.
477 See srec_input(1) for more information.
478
479 * The MD5, RipeMD-160, SHA1, SHA224, SHA256, SHA384, SHA 512 and
480 Whirlpool message digests are now supported. See
481 srec_input(1) for more information.
482
483 * There is a new srec_cat -bit-reverse filter, that may be used
484 to reverse the bits in each data byte. See srec_input(1) for
485 more information.
486
487 Version 1.49 (2009-May-17)
488 * A typo in the srec_input(1) man page has been fixed.
489
490 Version 1.48 (2009-Apr-19)
491 * There are new Fletcher Checksum filters, both 32-bits and
492 16-bits, both little-endian and big-endian.
493
494 * There are new Adler Checksum filters, both 32-bits and
495 16-bits, both little-endian and big-endian.
496
497 Version 1.47 (2009-Feb-19)
498 * Memory Initialzation File (MIF) format by Altera is now
499 supported for reading and writing.
500
501 Version 1.46 (2009-Jan-13)
502 * There is a new option for the --x-e-length filters, they can
503 now accept a width, and this is divided into the byte lenght,
504 so that you can insert the length in units of words (2) or
505 longs (4).
506
507 * Some small corrections have been made to the documentation.
508
509 * The -minimum and -maximum options have been renamed -minimum-
510 address and -maximum-address, to avoid a command line grammar
511 syntax problem.
512
513 Version 1.45 (2008-Sep-30)
514 * A bug has been fixed in the srec_cat(1) command. You are now
515 able to specify several inputs within parentheses, instead of
516 just one. This allows filters to be applied to the
517 concatenation of several inputs.
518
519 * The srec_cat(1) command is now able to write FORTH output.
520
521 Version 1.44 (2008-Aug-29)
522 * Some compilers issue a warning when const appears before
523 extern. "warning: storage class is not first". The C output
524 has been updated to conform to this expectation.
525
526 * The manual page for srec_cat(1) has been enhanced to describe
527 the in-memory data model, and the resulting output data order.
528
529 * The -motorola optional width argument now produces a better
530 error message when it is out of range.
531
532 * The -fill filter now checks the size, and fails for absurdly
533 large fills, with a -big override if they really want >1GB
534 fills.
535
536 * A bug in the .spec file for rpmbuild has been fixed, it now
537 takes notice of $RPM_BUILD_ROOT
538
539 * There is a new -line-termination option, which may be used to
540 select the desired line termination of output text files.
541
542 Version 1.43 (2008-Jul-06)
543 * The srec-cat -data-only option has been broken down into four
544 separate controls. It is now possible to -enable and -disable
545 individual features, such as "header", "data-count",
546 "execution-start-address" and "footer". See srec_cat(1) for
547 more information.
548
549 * The srec_cat -start-address option has been renamed
550 -execution-start-address to remove any confusion with the
551 -offset filter. The documentation now explicitly explains the
552 difference between the two.
553
554 * Examples of converting to and from binary files have been
555 added to the srec_examples(1) man page.
556
557 * A bug has been fixed in the MOS Tech format, it now emits an
558 end record even when there is no execution start address
559 passed in.
560
561 Version 1.42 (2008-Jun-01)
562 * The MOS Technology format was not reading and writing end
563 records correctly, this has been fixed. The name of the
564 company has been corrected.
565
566 * Some examples of how to insert constant or scripted data into
567 your EPROM load files have been added to the srec_examples(1)
568 man page.
569
570 Version 1.41 (2008-May-12)
571 * False negative being reported by tests on Cygwin have been
572 fixed.
573
574 * There are six new filters (-be-exclusive-length, -le-
575 exclusive-length, -be-exclusive-maximum, -le-exclusive-
576 maximum, -be-exclusive-minimum and -le-exclusive-minimum)
577 which are very similar to their non-exclusive equivalents,
578 except that they do not include the adress range covered by
579 their output in their output.
580
581 * A bug has been fixed in the C word-array output. It was
582 getting offsets and lengths wrong in some cases.
583
584 * A bug has been fixed in the generated C array header file, it
585 no longer omits the section descriptor arrays.
586
587 * A problem with building RPM packages with the names of the
588 executables in the .spec file has been fixed, and the
589 BuildRequires has been updated.
590
591 Version 1.40 (2008-Mar-13)
592 * An RPM build problem has been fixed.
593
594 * The dependency on the Boost library is now documented in the
595 BUILDING file.
596
597 * Some build problems with g++ 4.3 have been fixed
598
599 * A bug has been fixed in the calculation of ranges on the
600 command line, it no longer goes into an infinite loop for
601 "-fill 0xFF -over { foo.hex -exclude -within foo.hex }"
602 construct, which should have been calculating an empty fill
603 set, but was instead calculating a 4GB fill set.
604
605 * The CRC32 filters now take an -xmodem option, to use an
606 xmodem-like (all bit zero) initial state, rather than the
607 default CCITT (all bits on) initial state.
608
609 Version 1.39 (2008-Feb-04)
610 * A bug has been fixed in the use of parentheses to group
611 filters and override the default precedences.
612
613 Version 1.38 (2008-Jan-14)
614 * The CRC16 filters now support a -Broken option, to perform a
615 common-but-broken CRC16 calculation, in addition to the CCITT
616 and XMODEM calculations.
617
618 * A link has been added to the CRC16 man page section to the
619 www.joegeluso.com/software/articles/ccitt.htm web page, to
620 explain the difficulties in seeding CRC16 calculations.
621
622 * A buglet has been fixed in the srec_motorola(5) man page, it
623 now includes S6 in the list of things that can appear in the
624 type field.
625
626 * The ability to negate expressions is now mentioned in the
627 srec_examples(1) man page.
628
629 Version 1.37 (2007-Oct-29)
630 * It is now possible to have negative expressions on the command
631 line, to facilitate "--offset - -minimum foo" usages.
632
633 * The srec_cat(1) command now has a simple hexadecimal dump
634 output format.
635
636 * The use of uudecode(1) in the tests has been removed, so
637 sharutils is no longer a build dependency.
638
639 Version 1.36 (2007-Aug-07)
640 * A bug has been fixed in the CRC-16 CCITT calculation; the
641 algorithm was correct but the start value was incorrect,
642 leading to incorrect results.
643
644 * The CRC16 filters have a new --no-augment option, to omit the
645 16 zero bits augmenting the message. This is not CCITT
646 standard conforming, but some implementations do this.
647
648 * A problem has been fixed in the generated Makefile.in file
649 found in the tarball.
650
651 * The license has been changed to GNU GPL version 3.
652
653 Version 1.35 (2007-Jun-23)
654 * A major build problem with the generated makefile has been
655 fixed.
656
657 Version 1.34 (2007-Jun-22)
658 * The C and ASM output formats have been improved in the word
659 mode.
660
661 * Several build problems have been fixed.
662
663 Version 1.33 (2007-May-18)
664 * More examples have been added to the documentation.
665
666 * It is now possible to perform set intersection and set
667 difference on address ranges on the command line.
668
669 * There is a new category of data source: generators. You can
670 generate constant data, random data and repeating data.
671
672 * The assembler and C-Array outputs now support additional
673 options to facilitate MSP430 systems. They can also
674 optionally write shorts rather than bytes.
675
676 * You can now round address ranges on the command line to be
677 whole multiples of a number of bytes.
678
679 Version 1.32 (2007-Apr-24)
680 * The TI-TXT format output has been improved; it is less spec
681 conforming but more reality conforming. It now allows odd
682 alignment without padding. It also ends with a q instead of a
683 Q.
684
685 * The warning for odd input addresses has been dropped. The
686 spec didn't like them, but the MSP430 handles them without a
687 hiccup.
688
689 Version 1.31 (2007-Apr-03)
690 * The Verilog format now suppresses comments when you specify
691 the --data-only option.
692
693 * The Texas Instruments ti-txt (MSP430) format is now understood
694 for reading and writing.
695
696 Version 1.30 (2007-Mar-21)
697 * The ascii-hex output format has been improved.
698
699 * The ti-tagged 16-bit format is now understood for reading and
700 writing.
701
702 * The Intel format no longer warns about missing optional
703 records.
704
705 * A bug in the ti-tagged format has been fixed, it now
706 understands the '0' tag.
707
708 Version 1.29 (2007-Mar-13)
709 * A serious bug has been fixed in the generated Makefile.
710
711 Version 1.28 (2007-Mar-08)
712 * It is now possible to read and write files in the Freescale
713 MC68EZ328 Dragonball bootstrap b-record format
714
715 Version 1.27 (2006-Dec-21)
716 * [SourceForge Feature Request 1597637] There is a new warning
717 issued when input data records are not in strictly ascending
718 address order. There is a new command line option to silence
719 the warning.
720
721 * [SourceForge Feature Request 1592348] The command line
722 processing of all srecord commands now understands @file
723 command line options, filled with additional space separated
724 strings witch will be treated as of they were command line
725 options. This gets around absurdly short command line length
726 limits in some operating systems.
727
728 Version 1.26 (2006-May-26)
729 * It is now possible to place parentheses on the command line in
730 more places to clarify your intent.
731
732 * This change prepares SRecord for the next public release.
733
734 Version 1.25 (2006-May-18)
735 * The assembler output has been enhanced to produce ORG
736 directives, if necessary, to change the data address.
737
738 * The srec_cat(1) command now only writes an execution start
739 address into the output if there was an execution start
740 address present in the input.
741
742 Version 1.24 (2006-Mar-08)
743 * Additional information has been added to the lseek error when
744 they try to seek to addresses >= 2**31
745
746 * The CRC 16 filters have been enhanced to accept an argument to
747 specify whether CCITT or XMODEM calculations are to be
748 performed.
749
750 Version 1.23 (2005-Sep-23)
751 * A segfault has been fixed on x86_64 when running the
752 regression test suite.
753
754 * A compile problem with the lib/srec/output/file/c.cc file has
755 been fixed.
756
757 Version 1.22 (2005-Aug-12)
758 * The -byte-swap filter now has an optional width argument, to
759 specify the address width to swap. The default is two bytes.
760
761 * The motorola file format now accepts an additional 'width'
762 command line argument, so you can have 16-bit and 32-bit
763 address multiples.
764
765 * A bug has been fixed in the VMEM output format. It was failing
766 to correctly set the next address in some cases. This fixes
767 SourceForge bug 1119786.
768
769 * The -C-Array output format now uses the const keyword by
770 default, you can turn it off with the -no-const option. The
771 -C-Array output format can now generate an additional include
772 file if you use the -INClude option. This answers SourceForge
773 feature request 942132.
774
775 * A fix for the "undefined symbols" problem when using g++ 3.x
776 on Cygwin and MacOsX has been added to the ./configure script.
777
778 * There is a new -ignore-checksum command line option. The
779 -ignore-checksums option may be used to disable checksum
780 validation of input files, for those formats which have
781 checksums at all. Note that the checksum values are still
782 read in and parsed (so it is still an error if they are
783 missing) but their values are not checked.
784
785 Version 1.21 (2005-Feb-07)
786 * More Doxygen comments have been added to the class header
787 files.
788
789 * There is a new srec_cat --crlf option, which may be used for
790 force CRLF output on operating systems which don't use that
791 style of line termination.
792
793 * A number of problems with GCC, particularly with the early 3.x
794 series.
795
796 * There is a new "Stewie" format, an undocumented format loosely
797 based on the Motorola S-Record format, apparently used in
798 mobile phones. More information would be most welcome.
799
800 * A number of build problems have been fixed.
801
802 Version 1.20 (2004-Feb-08)
803 * The AOMF format now accepts (and ignores) more record types.
804
805 Version 1.19 (2004-Jan-03)
806 * It is now possible to set the execution start address in the
807 output using the srec_cat -Execution_Start_Address command
808 line option.
809
810 * The Intel Absolute Object Module Format (AOMF) is now
811 supported for reading and writing.
812
813 * There is a new srec_cat -Random_Fill filter, like the srec_cat
814 -Fill filter except that it uses random values.
815
816 Version 1.18 (2004-Jan-01)
817 * The VMEM format is now able to output data for 64 and 128 bits
818 wide memories.
819
820 * A bug in the SRecord reference manuals has been fixed; the
821 CRCxx had a copy-and-paste glitch and always said big-endian
822 where little endian was intended half the time.
823
824 Version 1.17 (2003-Oct-12)
825 * There is now support for Intel Extended Segment addressing
826 output, via the --address-length=2 option.
827
828 * There is now support for output of Verilog VMEM format. See
829 srec_vmem(5) for more information.
830
831 * There is now support for reading and writing the INHX16
832 format, used in various PIC programmers. It looks just like
833 the Intel Hex format, except that the bytes counts and the
834 addresses refer to words (hi,lo) rather than bytes. See
835 srec_intel16(5) for more information.
836
837 Version 1.16 (2003-Jul-28)
838 * Some updates have been made to cope with GCC 3.2
839
840 Version 1.15 (2003-Jun-16)
841 * The ASCII-Hex implementation is now slightly more complete. I
842 still haven't found a definitive description.
843
844 * The Fairchild Fairbug format has been added for reading and
845 writing. See srec_fairchild(5) for more information.
846
847 * The Spectrum format has been added for reading and writing.
848 See srec_spectrum(5) for more information.
849
850 * The Formatted Binary format has been added for reading and
851 writing. See srec_formatted_binary(5) for more information.
852
853 * The RCA Cosmac Elf format has been added for reading and
854 writing. See srec_cosmac(5) for more information.
855
856 * The Needham EMP programmer format has been added for reading
857 and writing. See srec_needham(5) for more information.
858
859 Version 1.14 (2003-Mar-11)
860 * Numerous fixes have been made to header handling. It is now
861 possible to specify an empty header with the -header command
862 line option.
863
864 * Some more GCC 3.2 build problems have been fixed.
865
866 Version 1.13 (2003-Feb-05)
867 * Bugs have been fixed in the Texas Instruments Tagged and VHDL
868 formats, which produced inconsistent output.
869
870 * A couple of build problems have been fixed.
871
872 * There are two new output formats for ASM and BASIC.
873
874 Version 1.12 (2002-Dec-06)
875 * It is now possible to put -minimum input.spec (also -maximum
876 and -length) almost anywhere on the command line that you can
877 put a number. It allows, for example, the -offset value to be
878 calculated from the maximum of the previous file. The values
879 calculated by -Minimum, -Maximum and -Length may also be
880 rounded to arbitrary boundaries, using -Round_Down,
881 -Round_Nearest and -Round_Up.
882
883 * The malformed Motorola S5 records output by the Green Hills
884 tool chain are now understood.
885
886 Version 1.11 (2002-Oct-21)
887 * The Ohio Scientific OS65V audio tape format has been added for
888 reading and writing. See srec_os65v(5) for more information.
889
890 * Some build problems have been fixed.
891
892 Version 1.10 (2002-Jun-14)
893 * The Intel format now emits the redundant extended linear
894 address record at the start of the file; some loaders couldn't
895 cope without it.
896
897 * The Binary format now copes with writing to pipes.
898
899 * The Motorola format now understands the S6 (24-bit data record
900 count) records for reading and writing.
901
902 * The DEC Binary format now works correctly on Windows machines.
903
904 * The LSI Logic Fast Load format is now understood for both
905 reading and writing. See srec_fastload(5) for more
906 information.
907
908 Version 1.9 (2001-Nov-27)
909 * The DEC Binary (XXDP) format is now understood for both
910 reading and writing. See srec_dec_binary(5) for more
911 information.
912
913 * The Elektor Monitor (EMON52) format is now understood for both
914 reading and writing. See srec_emon52(5) for more information.
915
916 * The Signetics format is now understood for both reading and
917 writing. See srec_signetics(5) for more information.
918
919 * The Four Packed Code (FPC) format is now understood for both
920 reading and writing. See srec_fpc(5) for more information.
921
922 * Wherever possible, header data is now passed through by
923 srec_cat(1). There is also a new srec_cat -header option, so
924 that you can set the header comment from the command line.
925
926 * The Atmel Generic format for Atmel AVR programmers is now
927 understood for both reading and writing. See
928 srec_atmel_generic(5) for more information.
929
930 * The handling of termination records has been improved. It
931 caused problems for a number of filters, including the -fill
932 filter.
933
934 * A bug has been fixed in the checksum calculations for the
935 Tektronix format.
936
937 * There is a new SPASM format for PIC programmers. See
938 srec_spasm(5) for more information.
939
940 Version 1.8 (2001-Apr-20)
941 * There is a new "unfill" filter, which may be used to perform
942 the reverse effect of the "fill" filter.
943
944 * There is a new bit-wise NOT filter, which may be used to
945 invert the data.
946
947 * A couple of bugs have been fixed in the CRC filters.
948
949 Version 1.7 (2001-Mar-19)
950 * The documentation is now in PDF format. This was in order to
951 make it more accessible to a wider range of people.
952
953 * There is a new srec_cat --address-length option, so that you
954 can set the length of the address fields in the output file.
955 For example, if you always want S3 data records in a Motorola
956 hex file, use the --address-length=4 option. This helps when
957 talking to brain-dead EPROM programmers which do not fully
958 implement the format specification.
959
960 * There is a new --multiple option to the commands, which
961 permits an input file to contain multiple (contradictory)
962 values for some memory locations. The last value in the file
963 will be used.
964
965 * A problem has been fixed which stopped SRecord from building
966 under Cygwin.
967
968 * A bug has been fixed in the C array output. It used to
969 generate invalid output when the input had holes in the data.
970
971 Version 1.6 (2000-Dec-03)
972 * A bug has been fixed in the C array output. (Holes in the
973 input caused an invalid C file to be produced.)
974
975 * There is are new CRC input filters, both 16-bit and 32-bit,
976 both big and little endian. See srec_cat(1) for more
977 information.
978
979 * There is a new VHDL output format.
980
981 * There are new checksum filters: in addition to the existing
982 one's complement (bit not) checksum filter, there are now
983 negative and positive checksum filters. See srec_cat(1) for
984 more information.
985
986 * The checksum filters are now able to sum over 16-bit and
987 32-bit values, in addition to the existing byte sums.
988
989 * The srec_cmp program now has a --verbose option, which gives
990 more information about how the two inputs differ. See
991 srec_cmp(1) for more information.
992
993 Version 1.5 (2000-Mar-06)
994 * There is now a command line option to guess the input file
995 format; all of the tools understand this option.
996
997 * The "MOS Technologies" file format is now understood for
998 reading and writing. See srec_mos_tech(5) for more
999 information.
1000
1001 * The "Tektronix Extended" file format is now understood for
1002 reading and writing. See srec_tektronix_extended(5) for more
1003 information.
1004
1005 * The "Texas Instruments Tagged" file format is now understood
1006 for reading and writing. (Also known as the TI-Tagged or
1007 SDSMAC format.) See srec_ti_tagged(5) for more information.
1008
1009 * The "ascii-hex" file format is now understood for reading and
1010 writing. (Also known as the ascii-space-hex format.) See
1011 srec_ascii_hex(5) for more information.
1012
1013 * There is a new byte swap input filter, allowing pairs of odd
1014 and even input bytes to be swapped. See srec_cat(1) for more
1015 information.
1016
1017 * The "wilson" file format is now understood for reading and
1018 writing. This mystery format was added for a mysterious type
1019 of EPROM writer. See srec_wilson(5) for more information.
1020
1021 * The srec_cat program now has a -data-only option, which
1022 suppresses all output except for the data records. This helps
1023 when talking to brain-dead EPROM programmers which barf at
1024 anything but data. See srec_cat(1) for more information.
1025
1026 * There is a new -Line-Length option for the srec_cat program,
1027 allowing you to specify the maximum width of output lines.
1028 See srec_cat(1) for more information.
1029
1030 Version 1.4 (2000-Jan-13)
1031 * SRecord can now cope with CRLF sequences in Unix files. This
1032 was unfortunately common where the file was generated on a PC,
1033 but SRecord was being used on Unix.
1034
1035 Version 1.3 (1999-May-12)
1036 * A bug has been fixed which would cause the crop and exclude
1037 filters to dump core sometimes.
1038
1039 * A bug has been fixed where binary files were handled
1040 incorrectly on Windows NT (actually, any system in which text
1041 files aren't the same as binary files).
1042
1043 * There are three new data filters. The --OR filter, which may
1044 be used to bit-wise OR a value to each data byte; the --AND
1045 filter, which may be used to bit-wise AND a value to each data
1046 byte; and the --eXclusive-OR filter, which may be used to bit-
1047 wise XOR a value to each data byte. See srec_cat(1) for more
1048 information.
1049
1050 Version 1.2 (1998-Nov-04)
1051 * This release includes file format man pages. The web page
1052 also includes a PostScript reference manual, containing all of
1053 the man pages.
1054
1055 * The Intel hex format now has full 32-bit support. See
1056 srec_intel(5) for more information.
1057
1058 * The Tektronix hex format is now supported (only the 16-bit
1059 version, Extended Tektronix hex is not yet supported). See
1060 srec_tektronix(5) for more information.
1061
1062 * There is a new split filter, useful for wide data buses and
1063 memory striping, and a complementary unsplit filter to reverse
1064 it. See srec_cat(1) for more information.
1065
1066 Version 1.1 (1998-Mar-22)
1067 First public release.
1068
1069
1070
1071Reference Manual SRecord Read Me(SRecord)
Note: See TracBrowser for help on using the repository browser.