forked from tridge/ec2
-
Notifications
You must be signed in to change notification settings - Fork 1
/
ChangeLog
198 lines (184 loc) · 9.51 KB
/
ChangeLog
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
Ricky:
- Improved device detection, should detect most silicon labs devices
uniquely now.
- Fixed missing header files issue with previous test builds
- Added devel-tools
- sniffer (minor tweaks to code from Henri Geist)
Allows sniffing communications between the IDE and an EC2 using the
serial port.
- playback test app to playback data captures from sniffer to the IDE.
Great to try the affect to fiddling with return values to see their
impact on the IDE.
This was instrumental in improving the device identification logic.
- Fix spurious timeout errors on JTAG devices for command 0x04 in
ec2_target_reset(), (trying to rx 1 to many bytes)
- added system reset code before halt in connect sequence as it seems
necessary.
- disconnect on EC2 fixed
- Updates to the doc directory.
- Revised JTAG initialisation sequence
- Have added warning about --mode=auto because this mode makes the init
sequence differ from the SiLabs ide and I did observe some strangeness
involving it.
- Removed EC2test since ec2test-any replaces it and has much less problems
and can now support any device in the device table.
- Remove ec2test-F310 as replaced by ec2test-any (see above).
- Add command line switches to control tests of ec2test-any, can not turn
off blocks of tests, see --disable-xxx options.
- Added --quick option to allow shortening of some tests in ec2test-any at
the expense of reliability.
The quick option speeds up tests like the random data random address for
various memory areas but does not affect tests that test every memory
location.
- EC3 & C2 reads 0x00's, reordered startup to match IDE,
might solve this, seemed to be intermittent. seems to be fixed but not
sure...
- Only print "ec2 will be slower for ec2test-any" if --port != USB
- Made protocol reverse enginering details available in cvs as protocol
module and also in tgz.
- Added additional delays in xdata and data RAM reads since the EC2 seems to
choke at the rate we send other commands.
- Fixed Automake makefile.am files so that all necessary header files end up
in the source distribution files.
- Remove commented out code (cleanup).
- Added ec2drv.spec to allow building of RPMs
- Updated protocol documentation module with latest data captures and
understanding.
- Increased delays on RS232 communications since we seem to be overloading
the EC2 sometimes.
- Added Support for C2 devices with EMIF (External Memory interface)
This makes the F340 pass all tests
- Marked F340 as tested in device table
- Fixed F120 XDATA size type, affected other micros is same family
- Added support for paged SFRs
- Made JTAG Flash read code more generic
- raised minimum EC2 version to 0x13 because 0x12 caused problems with
missing 0x0d at end of replies etc. This necessitated extra delays to
allow flushing of buffers etc.
- Added F120 Flash memory read / write support.
- Added function to check a block of flash accesses will avoid the reserved
areas and hooked it up.
- Added scratchpad test to ec2test-any.
- Fixed ec2test-any xdata random test and a corruption bug exposed when it
was fixed.
- Fixed 0x0d seen in read data streams caused by not reading terminating
0x0d of previous operation in some places (wasn't sent on earlier EC2
versions).
- various fixes for newer gcc versions to allow compilation.
- split out c2 and JTAG code into a separate file where possible
- moved much of the debugger bootloader support to its own file boot.c/h
- Added target debugging test to ec2test-any, breakpoints, stepping etc.
- Add support for F120 XDATA, register in different location
- Flash routines now use the paged sfr support.
- add cache control functions and have flash accessors call them.
- Removed support for EC2 ver 0x12 as it does not terminate all replies
with 0x0d.
- Update Doxygen comments
- 8051F120 breakpoints, run, step etc supported and tested.
- Made C2 breakpoint code generic, works with F30x and F31X just needs a
simple data capture to support other c2 devices. Discovered for C2
breakpoints are controlled via reserved SFR's!
- Long standing EC2 bug relating to corruption of data causing some tests
to fail. Caused by newer EC2 versions correctly terminating command
replies that older ones didn't and hence ec2drv wasn't reading the
extra bytes and this allowed the PC to get ahead of the EC2 causing
corruption. this is the FIX that necessitated killing off support for the
EC2 0x12 firmware.
- Hooked Kolja's CRC routine to the bootloader page write function so not
upload of new firmware to the EC2 / EC3 are checked.
- Added version of read_port called read_port_tm which has a millisecond
timeout value which is necessary to allow for long operations such as
erasing the chip while still allowing a reasonable short time for other
operations.
- ec2-update-fw updated and now has proper command line parameters.
Provides a method to unscramble blocks of firmware but the default is to
load raw 8051 binaries. Firmware images will now be provided in
unscrambled form for ease of use since each firmware from Silicon labs
is scrambled in a different order which just complicated things so it is
easier to provide the unscrambled version.
The unscrambled uploading and addition of xor 0x55 will make it easy for
others to implement their own EC2 firmware.
- updated firmware tools docs and provide new .raw images.
- added command lines options to ec2readfw to allow reading the debuggers
entire code memory or just the firmware locations.
- Prevented spurious Failed to halt message from flash write code.
- modified all tools so that a disconnect is performed on failure or CTRL-C
This is to reduce the liklehood of destroying a micro in C2 mode at the
next reconnect (only seemed to be a problem on C2).
- updated ec2writeflash / ec2readflash to support >64k
- Updated Max firmware versions to EC3 = 0x0c, EC2 = 0x14 as these seem good
- Added Fixes for library files not including .so reported by Sean Collins.
http://sourceforge.net/forum/forum.php?thread_id=1668047&forum_id=499982
- Detect and report presense of but lack of access rights to an EC3,
suggesting try as root or setup udev.
- Add code to support F35x (Paged debug sfr's)
(general paged sfr support for c2 mode)
- Addeed command lines options -ex and -command to newcdb to allow passing
of single commands and files containg commands into newcdb on the command
line.
- Define breakpoint SFR's as both page na daddress since different
processors have the sfr's in different banks. The F530 is the first one I
have seen which use a page other than f or no paging.
Found in data capture from Sean.
- Fix Segfault when opening cdb file with too many missing source files
reported by Julian.
- Cleaned up sym_type_tree initialisation and add call to clear the tree
back to the terminal types when the file command is used.
- Implemented more of the newcdb print command can print arrays and now has
default format types.
Henri Geist:
- bugfix for ec2drv serial communications, to avoid missing part of the read
data when only a part of them has arrived at time of the read syscall
on the serial port.
Kolja Waschk:
- EC2/3 Bootloader Read firmware function now fixed. (incorrect byte order
in address.
- Routine to match the checksum/CRC that the EC2/3 calculated on a page of
memory.
- Provided basic read debugger firmware utility.
Nebojša:
- Allow compilation with GCC 4.1
Thomas Sailer:
- Patch containing large number of warning fixes for GCC4
Marco Oesch:
- Correct EC2 Firmware size for ec2rfw.c, also ensure entire debugger read
size set correctly.
Steve Brown:
- Fix for EC3 not reading enough bytes causing following commands to return
garbage.
- Provided breakpoint registers for F320/1
- Confirmed F320 ok with EC3 version 0x0d. (We now accept 0x0d as top version for EC3 firmware)
- Identifed "copy&paste" stylebug involving debug option in writeflash.c.
The fix should make the option work as intended.
Frieder Ferlemann:
- Identified several compile issues with newer GCC (Ricky added fixes for these)
Julian Lamb:
- data captures and example code for F340 Beakpoints
- Fix The step command always stops after the first instruction is run
bug in silabs target.
- Remove "starting program" message from cmdcommon since it duplicates
lower layer messages.
- fixes to cmddisassemble
- X gives "bad command" always
- segfault with command "x /2ig" (with no 3rd arg)
- x command doesn't accept >1 digit
- When using x to print out instructions, it adds a "+1" randomly
to Improve formatting.
- When using x to print out large groups of data, the performance
is quite slow.
- Fixed The context manager doesn't load in more than 1 asm source file
bug.
- Info on DPTR being mapped into 0x27 and 0x28 undocumented registers.
- Found more registers to be remapped to alternate addresses including
the all important DPTR. Now "info registers" in newcdb gives the
correct DPTR value :-)
- Fix can't set breakpoints on asm files. The command line forces you to
add a ".asm" extension to the file name, yet the file name is stored
without the .asm extension (patch to symtab.cpp)
- clean up indenting on print_asm_line to make output prettier.
- Fix modulemgr doesn't clear out modules between "file" commands.
Known issues:
- If the device is locked reads from RAM and FLASH return 0x00 rather than
reporting an error
TODO:
- choose correct clock and flash scale values for each processor.