-
Notifications
You must be signed in to change notification settings - Fork 2
/
CHANGELOG
474 lines (340 loc) · 14.9 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
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
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
05.06.2013, Matthias Koch, Mecrisp-Stellaris 0.1 experimental:
I am very happy to announce Mecrisp-Stellaris !
This is the very first beginning, expect monsters inside.
As this is the younger sister of Mecrisp for MSP430,
they share their development history and most design ideas.
12.06.2013, Matthias Koch, Mecrisp-Stellaris 0.2 experimental:
- Unicode support
- First interrupt handler for Systick-Timer
- Lots of small changes
- Ledcomm ported
15.06.2013, Matthias Koch, Mecrisp-Stellaris 0.3 experimental:
- Recognizes both LF and CR as line ending
- Uses hardware FIFO buffer for serial communication
- Enables GPIO hardware on startup
- Tidied up internal register usage
- Faster interrupt entry
- Fetch-Modify-Store definitions are now interrupt safe
- Mecrisp-Stellaris now generates smaller code
- Tidied up debug messages
- Lots of small changes
23.06.2013, Matthias Koch, Mecrisp-Stellaris 0.4 experimental:
- Examples in Forth for Analog, Timer, PWM and Interrupts
- Interrupt handling for Ports and Timers included
- Tidied up source code
- Core needs less RAM
- Lots of small changes
01.07.2013, Matthias Koch, Mecrisp-Stellaris 0.5 experimental:
- Faster comparisons & bit@
- Beautiful output for .s in current base
- Analog Interrupts for ADC0 included
- Examples in Forth for PLL setup and 1 Msps analog sampling
07.07.2013, Matthias Koch, Mecrisp-Stellaris 0.6 experimental:
- New target: STM32F407 on STM32F4-Discovery board
- Removed experimental atomic memory access from core
- Rearranged source code and
added English comments to simplify porting
- First examples for STM32F4 included
29.07.2013, Matthias Koch, Mecrisp-Stellaris 0.6.1 experimental:
- Bugfix in min and max
- 1 Msps analog sampling example for STM
24.08.2013, Matthias Koch, Mecrisp-Stellaris 0.7 experimental:
- New target: KL25Z128 on Freescale Freedom FRDM-KL25Z board
- Deep changes in core:
- New code generator for M0
- Improved code generator for M3
10.08.2013, Matthias Koch, Mecrisp-Stellaris 0.7.1 experimental:
- ADC and DAC examples for KL25Z128
- Improved code generation for M0
07.11.2013, Matthias Koch, Mecrisp-Stellaris 0.7.2:
- A lot of testing later: "experimental" is gone !
- Disassembler for M0 included
- Two channel 1 Msps sampling example for LM4F120
- Contributions:
Random number generator for STM32F4 by Sean Stasiak
LM4F232H5QC port for Chinese QF-LM4F232 board by 呂明貴 (Albert)
16.11.2013, Matthias Koch, Mecrisp-Stellaris 0.8:
- Deep changes in core: Opcodings !
They generate faster code for all targets.
28.11.2013, Matthias Koch, Mecrisp-Stellaris 0.8.1:
- New target: STM32F100 on STM VL Discovery board
18.12.2013, Matthias Koch, Mecrisp-Stellaris 0.9:
- Double numbers and s31.32 fixpoint calculations
- Sine/Cosine Cordic algorithm
- Two channel 1 Msps oscilloscope for LM4F120
31.12.2013, Matthias Koch, Mecrisp-Stellaris 0.9.1:
- Partial disassembler for M3/M4 included
- Small optimisations in core
13.01.2014, Matthias Koch, Mecrisp-Stellaris 0.9.2:
- Small optimisations in M3/M4 code generator
- Faster interrupt trampolines for M3/M4
- Timer interrupts for STM32F407
- Added rdrop and 2rdrop
06.02.2014, Matthias Koch, Mecrisp-Stellaris 0.9.3:
- Added for convenience: d/ mod f.n
- Final testing package for upcoming stable 1.0 release
01.03.2014, Matthias Koch, Mecrisp-Stellaris 1.0:
Finally the first stable release of Mecrisp-Stellaris !
21.03.2014, Matthias Koch, Mecrisp-Stellaris 1.0.1:
Bugfix in third loop index "k"
26.03.2014, Matthias Koch, Mecrisp-Stellaris 1.0.2:
- New target: TM4C1294 on Tiva Connected Launchpad
05.04.2014, Matthias Koch, Mecrisp-Stellaris 1.0.3:
- New target: STM32F429ZIT6 on STM F429 Discovery
- Instruction set emulator for Cortex M0 included
23.04.2014, Matthias Koch, Mecrisp-Stellaris 1.0.4:
- Added Intel Hex style binaries for STM targets
- Improved code generation for do and ?do
- Fixed minor issue with arshift when opcoded
with folding constant >= 32
- Added bit rotations ror and rol
- M3/M4 only:
- Added 12bitencoding
- Faster opcodes for inline literals,
calculations, logic and comparisions
- Included new opcodes into disassembler-m3
01.05.2014, Matthias Koch, Mecrisp-Stellaris 1.1.0
Big tidyup release !
- Improved readability of chip specific code
- Factored out a lot of common code
- Move now behaves well for both directions
- Added fill and compiletoram?
- Improved dictionary building macros
- Fixed flaw in LM4F120 PLL example
02.05.2014, Matthias Koch, Mecrisp-Stellaris 1.1.1
- New target: STM32F051R8 on STM F0 Discovery
- Tidyup and factoring of common STM terminal code
03.05.2014, Matthias Koch, Mecrisp-Stellaris 1.1.2
- New target: STM32F401RE on STM Nucleo F401RE
- Variables and <builds does> are now 4-aligned on M3/M4, too
- Added buffer:
- Hooks for terminal redirection on TM4C1294
08.05.2014, Matthias Koch, Mecrisp-Stellaris 1.1.3
- Added sp@ sp! rp@ rp!
- Added hook for inner quit loop
- ?emit and hooks for terminal redirection on all targets
- Serial terminal code calls vectorized pause for multitasking
- Tidyup and factoring of more common code
19.05.2014, Matthias Koch, Mecrisp-Stellaris 1.1.4
- New target: STM32F103C8 on Shenzhen LC Technology board
21.05.2014, Matthias Koch, Mecrisp-Stellaris 1.1.5
- Tab is now recognized as whitespace
- Added irq-fault
27.05.2014, Matthias Koch, Mecrisp-Stellaris 1.1.6
- Analog and PLL examples for TM4C1294
- Enabled Prefetch Buffer in PLL examples for STM32F407
- Added Forth source for multiline comments
- Added Bitlog and Bitexp functions
- Improved code generation for fetch-modify-store shortcuts
- Testing of LM4F120 binary on TI Tiva Launchpad with TM4C123GH6PM
03.06.2014, Matthias Koch, Mecrisp-Stellaris 1.1.7
- Added string handling helpers: expect tib >in
- Contribution by Mark Schweizer:
MK20DX256VLH7 port for Teensy 3.1 board
26.06.2014, Matthias Koch, Mecrisp-Stellaris 1.1.8
- Added Loran-C for TM4C1294
- Contribution by John Huberts:
Port for Nordic nRF51822
- Contribution by Bernd Paysan:
Ethernet drivers for TM4C1294
30.06.2014, Matthias Koch, Mecrisp-Stellaris 2.0.0
- Big changes in string handling !
The new core is now a lot more ANS aligned and handles addr-length strings.
- Renamed ?key in key? and ?emit in emit?
- Renamed old counted-string handling with c-prefix
- Create now has default action equivalent to : create <builds does> ;
Old behaviour is renamed into (create)
- Added irq-terminal to LM4F120 and TM4C1294 targets
- Fixed flaw in 16-bit Flash write emulation layer for Freescale targets
- Changed disassemblers and examples for new string handling
Simply renamed with same function:
?key --> key?
?emit --> emit?
serial-?key --> serial-key?
serial-?emit --> serial-emit?
hook-?key --> hook-key?
hook-?emit --> hook-emit?
expect --> cexpect
create --> (create)
type --> ctype
s" --> c"
Chanced behaviour:
string,
find
compare
number
token
parse
#>
s"
type
create
Freshly added:
cell+
cells
align
aligned
spaces
count
create
type
accept
evaluate
s"
current-source
setsource
source
02.07.2014, Matthias Koch, Mecrisp-Stellaris 2.0.0a
- Fixed a flaw in NVIC Forth code
- Fixed a minor flaw in ethernet driver
- Added 1Msps analog-digital converter ethernet stream example
08.07.2014, Matthias Koch, Mecrisp-Stellaris 2.0.0b
- Added comments for nRF51822 in README
- Fixed flaw in Pascal UDP ethernet terminal code
09.07.2014, Mark Schweizer, Mecrisp-Stellaris 2.0.1
Following changes added for MK20DX256:
- terminal.s: Turned on UART0 RX/TX FIFO
Changed code for ensuring UART overrun flag is cleared
Added support for hardware flow control
- vectors.s: Added UART0_S/E interrupt vektor to permit the possibility
of interrupt driven serial (interrupts not enabled by
default)
- interrupt.s: Added "ipsr" word to push Interrupt Program Status Register
on stack
Added initialization of UART0S / UART0E interrupts
- README: Documented serial connection, flashing, etc. (basic info)
- Forth: Added more examples, cleaned up code. Seperate README
located in that directory.
Matthias Koch:
- Cleaned up core sources to save a few bytes
16.07.2014, Matthias Koch, Mecrisp-Stellaris 2.0.2
- Added IPSR by Mark Schweizer for all targets
- Added UNHANDLED as new default for all IRQs
- irq-fault now catches fault handlers only
- irq-collection catches all other interrupts
- Factored common vector tables and interrupts
- Added dictionarynext to core
- Removed dump
- New target: STM32F303VCT6 on STM F3 Discovery
- New target: STM32L152RE on STM Nucleo L152RE
23.08.2014, Matthias Koch, Mecrisp-Stellaris 2.0.3
- Bugfix: Double division
- Some small optimisations in core
- Assembler for Cortex M0 added
18.10.2014, Matthias Koch, Mecrisp-Stellaris 2.0.4
- Optimisations for bit@ hbit@ cbit@
- Added rdepth rpick
- Forth code for blocks and trace
- Ported Ledcomm to Nucleo L152
- Contribution by John Huberts:
Nordic nRF51822 radio code
06.11.2014, Matthias Koch, Mecrisp-Stellaris 2.0.5
- New experimental target: LPC1114FN28 (without Flash write access for now)
- Unicode block editor added
11.11.2014, Matthias Koch, Mecrisp-Stellaris 2.0.5a
- Adapted Thumbulator emulator for LPC1114FN28 and
added Forth code to generate custom binaries for this target
- Fixed a small flaw in disassemblers
04.12.2014, Matthias Koch, Mecrisp-Stellaris 2.0.6
- Finally solved compilation into Flash for LPC1114FN28
01.01.2015, Matthias Koch, Mecrisp-Stellaris 2.0.7
- Delete character 127 is now recognized
- New target: STM32F030F4
- Ethernet driver now has support for DHCP and ARP
- Improved analog stream over ethernet
- Added Ledcomm for LPC1114FN28
- Added Real Time Clock for LM4F120 and TM4C1294
- Added Inertial Sensor code for STM32F3 Discovery
- Fixed counter rollover issues in systick timer delay
- Contribution by Terry Porter:
Register file generator from SVD to Forth with STM examples
08.02.2015, Matthias Koch, Mecrisp-Stellaris 2.0.8
- Fixed flaw in LPC1114FN28 specific flash buffer handling
that caused freezes after calling quit
- Multitasking example for all targets
- PLL and lowpower terminal code for LPC1114FN28
- Initial graphics drivers to draw pixels on STM32F429 Discovery
- Contribution by James Bowmann:
Forth drivers for Gameduino 2 on STM32F401RE Nucleo
Marsaglia pseudo random number generator
- Contribution by Terry Porter:
Register file generator with individual bitfields
22.02.2015, Matthias Koch, Mecrisp-Stellaris 2.0.9
- Added eint? and reset
- Removed obsolete ?dnegate
- Fixed some documentation flaws in glossary
13.03.2015, Matthias Koch, Mecrisp-Stellaris 2.1.0
- New target: LPC1115FBD48
- Contribution by Bert Lohmann:
I2C, LCD, PWM in and PWM out examples for LPC1114FN28
04.04.2015, Matthias Koch, Mecrisp-Stellaris 2.1.1
- New target: MSP432P401R on MSP432 Launchpad
- Eraseflash now performs an hardware Reset on all targets
11.04.2015, Matthias Koch, Mecrisp-Stellaris 2.1.2
- New target: STM32L053C8 on STM32L053 Discovery
- E-Paper display example for this new board
18.04.2015, Matthias Koch, Mecrisp-Stellaris 2.1.3
- Ethernet driver updated to new multitasker
- Added graphics library for lines, circles, ellipses and bitmap font
- Contribution by Jean Jonethal:
New target: Nucleo STM32F411
- Contribution by Glen Worstell:
An example for a custom prompt
27.09.2015, Matthias Koch, Mecrisp-Stellaris 2.1.4
- New experimental target: ARM-Linux and Android
- Faster implementation of abs function
- Jean Jonethal fixed UART blocking on overrun for STM32F303
- Added early experimental bignum implementation
- Contribution by Ulrich Hoffman:
Examples for syscall usage in ARM Linux
15.10.2015, Matthias Koch, Mecrisp-Stellaris 2.1.5
- Contribution by Абдрахимов Илья:
New target: STM L152 Discovery
22.10.2015, Matthias Koch, Mecrisp-Stellaris 2.2.0 & RA 1.0 experimental
- Merged the experimental RA branch with the mainstream package
Changes to the mainstream release are:
- Replaced align, with halign
- Removed align4, as it has been identical with align
- Improved maintainability of the code
- Small improvements under the hood here and there
28.10.2015, Matthias Koch, Mecrisp-Stellaris 2.1.6
- Many new examples for Teensy 3.1 by Andreas Wagner
- Bugfix for STM32L152 vector map and additional interrupt vectors,
more examples for STM L152 Discovery by Абдрахимов Илья (Ilya Abdrahimov)
31.10.2015, Matthias Koch, Mecrisp-Stellaris RA 1.1
- Merged news from 2.1.6 into this package
- Improved tuck
01.11.2015, Matthias Koch, Mecrisp-Stellaris RA 1.2
- Jean Jonethal added STM32F303-RA and fixed a bug.
05.11.2015, Matthias Koch, Mecrisp-Stellaris RA 1.3
- Inline-Cache allows register allocation across inlined definitions
08.11.2015, Matthias Koch, Mecrisp-Stellaris RA 1.4
- Small improvements for negate
14.11.2015, Matthias Koch, Mecrisp-Stellaris RA 1.5
- Smaller disassemblers
- Continuous sampling with exponential average for Loran-C
- RTC examples for STM L152 Discovery by Абдрахимов Илья (Ilya Abdrahimov)
- Contribution by Jean Jonethal:
New target: STM L476 Discovery
28.11.2015, Matthias Koch, Mecrisp-Stellaris RA 1.5a
- Added fast integer square root
- More examples for STM L152 Discovery by Абдрахимов Илья (Ilya Abdrahimov)
- Experimental new target: XMC1100 on Infineon XMC2GO board
24.12.2015, Matthias Koch, Mecrisp-Stellaris 2.2.0 - Christmas release !
My Christmas present for you:
Mecrisp-Stellaris RA with Register Allocator is ready for mainstream release
and should already be quite stable after a few months of testing.
Now you can choose for your projects if you need the smaller classic core
or the larger RA which includes much stronger optimisations.
Both should have exactly the same capabilities and behaviours.
Some hints for the choice:
If you touch performance barriers with the classic core,
if you love experiments and if you are curious,
try the fresh Mecrisp-Stellaris RA core.
If you have something that already works well with older releases,
if your project has high demands on stability,
if space is what you wish to save,
use the smaller and rock solid classic Mecrisp-Stellaris.
Changes relative to Mecrisp-Stellaris 2.1.6:
- Replaced align, with halign
- Removed align4, as it has been identical with align