Phyton CodeMaster-ARM Revision History


2.28.00 (Dec 23, 2011)

Added [CMC-ARM C Compiler]: "no-inline" directive (#pragma inline -).

Added [CMC-ARM C Compiler]: inlinization of functions containing inline assembler.

Fixed [CMC-ARM C Compiler]: in rare cases volatile access was ignored.

Fixed [CMC-ARM C Compiler]: duplicated warnings.

Fixed [CMA-ARM Assembler]: internal error on very long -I option.

Changed [CMLINK Linker]: total scopes number maximum increased.

2.27.01 (Dec 6, 2011)

Fixed [JEM-MultiChip]: The DSP memory writing procedure.

2.27.00 (Nov 16, 2011)

Added [CMC-ARM C Compiler]: support for long long and unsigned long long types.

Added [CMC-ARM C Compiler]: __packed attribute.

Added [CMC-ARM C Compiler]: speed optimization mode (-Ts option).

Added [CMC-ARM C Compiler]: shift constant offset out of range warning.

Fixed [CMC-ARM C Compiler]: ARM mode internal error on two similar literals in different segments.

Fixed [CMC-ARM C Compiler]: warning on unused inline functions (suppressed).

Fixed [CMC-ARM C Compiler]: internal error on & and * unary operator combinations in static initializers.

Fixed [CMC-ARM C Compiler]: wrong code with common subexpression elimination in two consequent loops.

Fixed [CMA-ARM Assembler]: long instruction variant may be erroneously chosen in the multi-module file (Cortex-M3).

2.26.02 (Oct 25, 2011)

Added [CMC-ARM C Compiler]: Declarations of the bit fields in the structures describing SFRs in the standard #include-files.

2.26.01 (Sep 13, 2011)

Fixed [CodeMaster-ARM]: Bug in disassembling and simulating the "ADR Rd,label" instruction.

Fixed [CodeMaster-ARM]: The IPR register array address for the Milandr microcontrollers.

Fixed [CMA-ARM Assembler]: Wrong offsets resulted from jump optimization.

2.26.00 (Jul 6, 2011)

Added [JEM-ARM-V2]: Support of Fujitsu MB9BF104N, MB9BF104R, MB9BF105N, MB9BF105R, MB9BF106N, MB9BF106R, MB9BF304N, MB9BF304R, MB9BF305N, MB9BF305R, MB9BF306N, MB9BF306R, MB9BF404N, MB9BF404R, MB9BF405N, MB9BF405R, MB9BF406N, MB9BF406R, MB9BF504N, MB9BF504R, MB9BF505N, MB9BF505R, MB9BF506N, MB9BF506R microcontrollers.

Fixed [JEM-ARM-V2]: Bug in blank checking algoritm used for Milandr microcontrollers.

Added [CMC-ARM C Compiler]: #pragma inline (inline functions).

Added [CMC-ARM C Compiler]: object attributes: __inline, __ramfunc, __noinit.

Fixed [CMC-ARM C Compiler]: correct symbol information for function prolog.

Fixed [CMC-ARM C Compiler]: internal error if very long names are used both for local variable and for its function.

Fixed [CMLINK Linker]: false overlapping range warnings as dead code elimination result.

2.25.03

Added [JEM-MultiChip]: DSP core software breakpoints support.

2.25.02

Fixed [JEM-ARM-V2]: Bug caused a JTAG exchange error due to incorrect TRST control.

2.25.01

Changed [CMC-ARM C Compiler]: Concatenated string literal limit is increased to 64K.

Added [JEM-ARM-V2]: Examples for the Texas Instruments EK-LM3S8962 evaluation kit.

2.25.00

Changed [CMC-ARM C Compiler]: Include file searching is altered for #include <> form (the folders specified with -I option are searched first).

Fixed [CMC-ARM C Compiler]: Internal error on #pragma locate with zero address.

Fixed [CMC-ARM C Compiler]: Internal error with long comment

Fixed [CMC-ARM C Compiler]: Incorrect common function ending label name

Fixed [CMC-ARM C Compiler]: Internal error with literal pool in ARM interworking mode (using #pragma thumb).

Fixed [CMC-ARM C Compiler]: Alignment error with inline assembler if function name is used as the label.

Fixed [CMC-ARM C Compiler]: Incorrect code with common ending of several large functions in THUMB interworking mode.

Added [CMA-ARM Assembler]: New -D option for numeric macro definitions.

Fixed [CMA-ARM Assembler]: Incorrect forward label address calculation in absolute segment.

Added [JEM-ARM-V2]: Support of Nxp LPC1102, LPC1111/201, LPC1111/202, LPC1112/201, LPC1112/202, LPC1113/201, LPC1113/202, LPC1113/301, LPC1113/302, LPC1114/201, LPC1114/202, LPC1114/301, LPC1114/302, LPC11C12/301, LPC11C14/301, LPC1311, LPC1313, LPC1342, LPC1343, LPC1751, LPC1752, LPC1754, LPC1756, LPC1764, LPC1758, LPC1759, LPC1763, LPC1765, LPC1766, LPC1767, LPC1768, LPC1769 microcontrollers.

Added: Support for the Cortex family of microcontrollers by the J-Link debugger from CodeMaster-ARM.

2.23.00

Added [JEM-ARM-V2]: Support of Atmel ATSAM3N1A, ATSAM3N1B, ATSAM3N1C, ATSAM3N2A, ATSAM3N2B, ATSAM3N2C, ATSAM3N4A, ATSAM3N4B, ATSAM3N4C, ATSAM3S1A, ATSAM3S1B, ATSAM3S1C, ATSAM3S2A, ATSAM3S2B, ATSAM3S2C, ATSAM3S4A, ATSAM3S4B, ATSAM3S4C, ATSAM3U1C, ATSAM3U1E, ATSAM3U2C, ATSAM3U2E, ATSAM3U4C, ATSAM3U4E microcontrollers.

CMC-ARM C Compiler:

- bugfix: source file references were included to object files despite of -d option absence.

CMLINK Linker:

- a couple of fixes in ELF file (DWARF) output.

2.22.01

Fixed: Invalid execution of the "Low-level step over" command.

Fixed: Errors with the Code Browser window.

CMC-ARM C Compiler:

Bugfix: Incorrect generation of some POP and LDMIA variants (Cortex-M3 only);

CMA-ARM Assembler:

Bugfix: Incorrect generation of some POP and LDMIA variants (Cortex-M3 only);

Bugfix: Internal error on some incorrect macro assembling.

CMLINK Linker:

- changes in ELF file (DWARF) output for compatibility with some of toolset vendors;

2.22.00

Added [JEM-ARM-V2]: Support of Texas Instruments LM3S1110, LM3S1133, LM3S1138, LM3S1150, LM3S1162, LM3S1165, LM3S1166, LM3S1332, LM3S1435, LM3S1439, LM3S1512, LM3S1538, LM3S1601, LM3S1607, LM3S1608, LM3S1620, LM3S1621, LM3S1625, LM3S1626, LM3S1627, LM3S1635, LM3S1636, LM3S1637, LM3S1651, LM3S1751, LM3S1776, LM3S1811, LM3S1816, LM3S1850, LM3S1911, LM3S1918, LM3S1937, LM3S1958, LM3S1960, LM3S1968, LM3S1969, LM3S1B21, LM3S1J11, LM3S1J16, LM3S1N11, LM3S1N16, LM3S1P51, LM3S1R21, LM3S1R26, LM3S1W16, LM3S1Z16, LM3S2110, LM3S2139, LM3S2276, LM3S2410, LM3S2412, LM3S2432, LM3S2533, LM3S2601, LM3S2608, LM3S2616, LM3S2620, LM3S2637, LM3S2651, LM3S2671, LM3S2678, LM3S2730, LM3S2739, LM3S2776, LM3S2793, LM3S2911, LM3S2918, LM3S2919, LM3S2939, LM3S2948, LM3S2950, LM3S2965, LM3S2B93, LM3S3634, LM3S3651, LM3S3739, LM3S3748, LM3S3749, LM3S3826, LM3S3J26, LM3S3N26, LM3S3W26, LM3S3Z26, LM3S5632, LM3S5651, LM3S5652, LM3S5656, LM3S5662, LM3S5732, LM3S5737, LM3S5739, LM3S5747, LM3S5749, LM3S5752, LM3S5762, LM3S5791, LM3S5951, LM3S5956, LM3S5B91, LM3S5K31, LM3S5K36, LM3S5P31, LM3S5P36, LM3S5P51, LM3S5P56, LM3S5R31, LM3S5R36, LM3S5T36, LM3S5Y36, LM3S6100, LM3S6110, LM3S6420, LM3S6422, LM3S6432, LM3S6537, LM3S6610, LM3S6611, LM3S6618, LM3S6633, LM3S6637, LM3S6730, LM3S6753, LM3S6911, LM3S6918, LM3S6938, LM3S6950, LM3S6952, LM3S6965, LM3S8530, LM3S8538, LM3S8630, LM3S8730, LM3S8733, LM3S8738, LM3S8930, LM3S8933, LM3S8938, LM3S8962, LM3S8970, LM3S8971, LM3S9781, LM3S9790, LM3S9792, LM3S9997, LM3S9B81, LM3S9B90, LM3S9B92, LM3S9B95, LM3S9B96, LM3S9L97, LM3S101, LM3S102, LM3S300, LM3S301, LM3S308, LM3S310, LM3S315, LM3S316, LM3S317, LM3S328, LM3S600, LM3S601, LM3S608, LM3S610, LM3S611, LM3S612, LM3S613, LM3S615, LM3S617, LM3S618, LM3S628, LM3S800, LM3S801, LM3S808, LM3S811, LM3S812, LM3S815, LM3S817, LM3S818, LM3S828 microcontrollers.

2.21.00

Added [JEM-ARM-V2]: Support of STMicroelectronics STM32F100C4, STM32F100R4, STM32F100C6, STM32F100R6, STM32F100C8, STM32F100R8, STM32F100V8, STM32F100CB, STM32F100RB, STM32F100VB, STM32F101C4, STM32F101R4, STM32F101T4, STM32F101C6, STM32F101R6, STM32F101T6, STM32F101C8, STM32F101R8, STM32F101T8, STM32F101V8, STM32F101CB, STM32F101RB, STM32F101TB, STM32F101VB, STM32F101RC, STM32F101VC, STM32F101ZC, STM32F101RD, STM32F101VD, STM32F101ZD, STM32F101RE, STM32F101VE, STM32F101ZE, STM32F101RF, STM32F101VF, STM32F101ZF, STM32F101RG, STM32F101VG, STM32F101ZG, STM32F102C4, STM32F102R4, STM32F102C6, STM32F102R6, STM32F102C8, STM32F102R8, STM32F102CB, STM32F102RB, STM32F103RF, STM32F103VF, STM32F103ZF, STM32F103RG, STM32F103VG, STM32F103ZG, STM32F105R8, STM32F105V8, STM32F105RB, STM32F105VB, STM32F105RC, STM32F105VC, STM32F107RB, STM32F107VB, STM32F107RC, STM32F107VC microcontrollers.

CMC-ARM C Compiler:

- #pragma align and #pragma ramfunc implemented (so version is incremented to 1.02);

- more optimal result of #pragma locate applied to intialized variables;

- several minor bugfixes;

CMLINK Linker:

- bugfix: incorrect line information after dead code elimination;

- bugfix: internal error on ELF output in some cases;

2.20.00

Enhanced [CodeMaster-ARM]: FLASH programming algorithms (CodeMaster-ARM terminates all scripts used during MCU FLASH programming, that increases the reliability of the next programming cycles).

Fixed [JEM-ARM-V2]: Bugs during FLASH blanc checking.

Updated [CodeMaster-ARM]: CodeMaster-ARM on-line help.

Changed: [JEM-ARM-V2]: USB device drivers are WHQL certified by Microsoft.

2.13.00

CMC-ARM C Compiler:

  - bugfix: MOVT instruction support problem in the inline assembler;
  - special built-in macro "__CMCARM_DEMO__" introduced to distinguish demo version;
  - additional -T option to set additional optimization mode on Z2 level;
  - common code algorithm enchancement.

MCLINK linker:

  - bugfix: problem with names per module restriction;
  - bugfix: error in far call veneer for Cortex-M3 generation;
  - deadstripping (non-used code removal);
  - ELF/DWARF v.3 output format support.

2.12.00

Added [JEM-ARM-V2]: The program execution time control. To view the execution time values and clock counters, open the "Program Execution Time" window from the View menu.

Added [Simulator]: Simulation of the peripheral module registers. Registers are simulated as memory cells.

2.11.02

Added: CodeMaster-ARM Demo version initial release. The demo version does not need a security key and has the 8 KByte code size restriction. All other features are identical to the regular CodeMaster-ARM version.

Modified [JEM-ARM-V2]: Project example for the Milandr 1986BE91T-EVAL board is modified to match the CodeMaster-ARM Demo 8 KByte code size restriction. To decrease the executable code size fonts Font_12x16, Font_7x10_bold, Font_7x10_thin are removed from the example when compiled under CodeMaster-ARM Demo.

2.11.01

Added [JEM-ARM-V2]: Support of the Milandr 1986BE91T, 1986BE92Y, 1986BE93Y microcontrollers.

2.11.00

Fixed [JEM-ARM]: Bug appeared in CM-ARM v.2.10.01 that caused communication problems with JEM-ARM JTAG emulator

Added [JEM-ARM-V2]: Support of the SWD debug interface.

Added [JEM-ARM-V2]: Support of STMicroelectronics STM32F103T4, STM32F103C4, STM32F103R4, STM32F103T6, STM32F103C6, STM32F103R6, STM32F103T8, STM32F103C8, STM32F103R8, STM32F103V8, STM32F103TB, STM32F103CB, STM32F103RB, STM32F103VB, STM32F103RC, STM32F103VC, STM32F103ZC, STM32F103RD, STM32F103VD, STM32F103ZD, STM32F103RE, STM32F103VE, STM32F103ZE microcontrollers.

2.10.01

Improved [JEM-ARM-V2]: The target microcontroller autodetection when the JTAG interface is selected in the Debug Options dialog.

2.10.00

Added [JEM-ARM-V2, CMC-ARM]: Cortex-M0 and Cortex-M1 cores support.

Added [JEM-ARM-V2]: JTAG chain settings dialog.

Added [JEM-ARM-V2]: JATG connector pins 2 and 19 voltage monitoring.

Added [JEM-ARM-V2]: Software breakpoints support while executing program in RAM.

Added [JEM-ARM-V2]: PC reading in run mode (while program execution).

Fixed [JEM-ARM-V2]: Bug at the write access to the memory address unaligned by 4.

2.00.00

Added: Support for the Cortex-M3 core. The following components were added and/or renewed:

- Integrated Development Environment (THUMB2 disassembler, new CMC-ARM C compiler settings);

- CMC-ARM C Compiler (THUMB2 support);

- Support for the new JTAG emulator JEM-ARM-V2.

Added [JEM-ARM-V2]: Support for the Flash memory programming of the Milandr 1986BE91T1, 1986BE91T2, 1986BE91T3, 1986BE91Y1, 1986BE91Y2, 1986BE91Y3 microcontrollers.

Added [JEM-ARM-V2]: Support for the Flash memory programming of the STMicroelectronics STM32F103RE microcontroller.

1.07.00

1.06.01

Added: Project examples for ST Microelectronics STR91x microcontrollers.

Fixed: Bug in simulating of the ADD Rn,PC, #off8 instruction.

1.06.00

Fixed [CMC-ARM C Compiler]:

- incorrect processing of multiple #elif directives

- incorrect result of ## preprocessor operator

- internal error on #if without expression

- false error "Size of structure or array not known"

- false error "Duplicate case"

- wrong 'const' attribute on array-to-pointer conversion

1.05.00

Added: Support for NXP LPC2888, LPC2880 MCUs

Added: Project examples for NXP LPC288x MCUs

Added: Project examples for STMicroelectronics STR91x MCUs

Added: Complex JTAG Watchpoint support (RANGE, CHAIN modes)

Updated: CodeMaster-ARM On-line Manual

1.04.00

Added: Support for ST Microelectronics STR910FM32, STR910FW32, STR910FAM32, STR910FAW32, STR910FAZ32, STR911FM42, STR911FM44, STR911FAM42, STR911FAM44, STR911FAW42, STR911FAW44, STR911FAW34, STR912FW42, STR912FW44, STR912FAW42, STR912FAW44, STR912FAZ42, STR912FAZ44 microcontrollers

Added: Support for ARM966 core.

1.03.00

Changed: Chip identification algorithm for the Analog Devices ADuC7019, ADuC7020, ADuC7021, ADuC7022, ADuC7024, ADuC7025, ADuC7026, ADuC7027, ADuC7028 microcontrollers.

Changed: Chip identification algorithm for the STMicroelectronics STR71x microcontrollers.

Added: Project example for Atmel AT91SAM7Sxx microcontrollers and Phyton test board TB2-AT91SAM7S.

Updated: CodeMaster-ARM On-line Manual.

Added: Support for JEM-ARM rev.02.

Fixed: Unnecessary Flash programming in some cases

1.02.01

Added: Syntax highlihgt for SFR and bit names in text editor

Fixed: Bug in simulating BLX instruction in Thumb mode, STRH and LDRH in ARM mode.

Fixed: Bug in disassembling BLX, LSL, STRH and LDRH instructions.

Changed [CMC-ARM C Compiler]: Calling convention for versions 5TE (ARM9) and above has been modified, now the user should not care about the description of external function as arm or thumb, the proper branch instruction for the function call (BL or BLX) will be choosen automatically at the link time.

Changed [CMC-ARM C Compiler]: Default sizes of User and ISR C stacks have been reduced, now they are 256 and 48 bytes respectively.

1.02.00

Added: Vector breakpoints for ARM9

Added: Project examples for Analog Devices ADuC7026 target chip

Added: Support for Micronas CDC3231G, CDC3272G microcontrollers

Updated: CM-ARM On-Line Manual

Fixed: Stack size option for Phyton cross-tools works properly now

Fixed: Show examples list menu sometimes caused incorrect target MCU settings in the example projects

Fixed: Device identification for the Micronas CDC32xyz derivatives

Fixed: J-Link JTAG debugger support

Fixed: Flash breakpoints support

1.01.00

Added: Support for ARM920T and ARM922T processors

Added: Support for Atmel AT91RM9200 microcontroller

Added: SPI DataFlash programming support for AT91RM9200. Supported DataFlash devices: AT45DB011B, AT45DB021B, AT45DB041B, AT45DB081B, AT45DB161B, AT45DB321B, AT45DB642D, AT45DB1282

Added: Support for Analog Devices ADuC7019, ADuC7020, ADuC7021, ADuC7022, ADuC7024, ADuC7025, ADuC7026, ADuC7027, ADuC7028, ADuC7030, ADuC7031, ADuC7032 microcontrollers

Added: Support for Micronas CDC3207G , CDC3217G, CDC3257G microcontrollers

Added: Project examples for Phyton CMC-ARM C Compiler

Updated: CM-ARM on-line manual

1.00.08

Added: CMA-ARM Assembler documentation

1.00.07

Fixed: Minor bugs in examples

1.00.06

Updated: Example projects

1.00.05

Added: Support for Atmel AT91SAM9260/1/3 microcontrollers

Added [JEM-ARM]: Support for Segger J-Link debugger

Changed: Key mappings for Step, Step Over, Low Level Step, Low Level Step Over, Make, Compile, Next Search and other commands

Added [Phyton CMC-ARM C Compiler]:

Support for ARM9 devices

Optimized code for 'switch' C statement

1.00.04

Added: Support for ARM9 (ARM9TDMI and ARM926) cores.

1.00.03

Minor changes in software protection mechanism

1.00.02

Updated: Peripheral Register definition files

1.00.01

Added: Support for NXP/Philips LPC2364, LPC2366, LPC2368, LPC2378, LPC2468 microcontrollers

1.00.00

Updated[JEM-ARM]: Support of the new target interface module TM2-A1-H20 rev.B.

New features: - programmable power regulator 0..4.5V, 250 mA; - target voltage real-time measuring; - wide target voltage range support: 1.2V .. 5.0V.

0.90.13

Added: Support for STMicroelectronics STR71x/STR73x/STR75x microcontrollers.

Added: Variable JTAG speed support.

Updated: CM-ARM on-line manual.

0.90.12

Added: The "Multi-pass libraries scan" option for GCC linker to resolve references between libraries

Added: Phyton CMC-ARM C Compiler included into package

Added: Support for STMicroelectronics microcontrollers

0.90.11

Fixed: Handling of "Override default script file" option for GNU linker

0.90.10

Added: Memory Mapping capability for Generic ARM7 target. Add your own memory areas in the Debug Options - Target dialog to setup your ARM7 memory configuration for project support and debugging.

Added: Memory Remapping (Flash, RAM, ROM) feature for simulator and JEM-ARM JTAG emulator.

Added: Onreset.cmd script auto running on the target MCU reset via JEM-ARM. Scripts are located in the Flash folder and invoked every time you reset your target MCU via JTAG.

Added: OKI ML67Q4050/4060 series project and debug support.

0.90.09

Added [CodeMaster-ARM]: Memory Allocation support in the Project Options dialog. Added [JEM-ARM]: Support for JTAG without RTCK line.

0.90.08

Added: Support for the Atmel SAM7 family microcontrollers.

Added: Support for the updated JEM-ARM hardware: main board MS2 and target interface module TM2-A1-H20.

0.90.07

Fixed: Displaying of MCE format doubles

0.90.06

Updated: LPC2000 on-chip Flash programming support.

0.90.05

Added: Data Breakpoints feature

0.90.04

Fixed: Resident software, SFR file descriptions Added: Automatic linking of C start-up file for GNU C compiler

0.90.03

Updated: SFR, LD, Include files

0.90.02

Fixed: A lot of issues

0.90.01

Added: Support for MCA-ARM Assembler (preliminary)

0.90.00

First Release