Keil Logo

What's New in MDKARM Version 3.04

  • [RealView Compilation Tools V3.0 SP1]
    Added new libraries that fix a potential problem for Cortex-M3 devices.
  • [µVision3 IDE/Debugger/Simulator]
    µVision now builds scatter files that allow you to specify multiple default memory regions. This is reflected in the checkboxes for each memory area in the Project — Options — Target dialog.
  • [µVision3 IDE/Debugger/Simulator]
    The __at keyword can now be used for variables.
  • [µVision3 IDE/Debugger/Simulator]
    Corrected a problem displaying local symbols.
  • [µVision3 IDE/Debugger/Simulator]
    Corrected a loading problem with long macro names.
  • [µVision3 IDE/Debugger/Simulator]
    Corrected a problem with GNU 4.11 debug support. Local variables did not display correctly.
  • [µVision3 IDE/Debugger/Simulator]
    Added interrupt simulation support for Cortex-M3 devices.
  • [µVision3 IDE/Debugger/Simulator]
    Added STMicroelectronics STR91x device simulation and target dialogs.
  • [µVision3 IDE/Debugger/Simulator]
    Corrected a problem with THRE interrupt generation in NXP (Philips) LPC2000 UART simulation.
  • [Device Support]
    Increased Flash programming speed for NXP LPC23xx and LPC24xx devices.
  • [Device Support]
    Enhanced Flash programming for STMicroelectronics STR9xx to support all extended Flash capabilities. Detailed information is available in MCBSTR9: STR9 FLASH PROGRAMMING. The \KEIL\ARM\RV30\BOARDS\KEIL\MCBSTR9\BLINKY\ example includes the STR910 Flash with CFG target that demonstrates the extended Flash capabilities.
  • [Device Support]
    Added startup code and Flash programming support for NXP LPC2880 and LPC2888. An example program is available in the \KEIL\ARM\RV30\BOARDS\NOHAU\LPC2800\BLINKY\ folder.
  • [Examples]
    MCBSTR9 startup code has been updated to set the PFQBC bit. USB examples are found in the \KEIL\ARM\RV30\BOARDS\KEIL\MCBSTR9\USB\ folder.
  • [Examples]
    An MCB2300 EasyWEB example project may be found in the \KEIL\ARM\RV30\BOARDS\KEIL\MCB2300\EASYWEB\ folder.
  • [Examples]
    Added a delay loop to the MCBSTR750 startup code (Reset_Handler) to avoid CPU startup problems that occur on some device steps.
  • [Examples]
    A TMS470 example for the HET assembler is available in the \KEIL\ARM\RV30\BOARDS\TI\TMS470R1B1M\BLINKY\ folder.
  • [ULINK/ULINK2]
    Added ULINK2 support for Cortex-M3 devices.
  • [ULINK/ULINK2]
    A Real-Time Agent (now supported by ULINK2) is now available. This agent adds extra features like memory read/write during execution, terminal emulation, and debug output for user I/O. Detailed information is available in Application Note 194: Using the Real-Time Agent.
  • [ULINK/ULINK2]
    Execution Breakpoints may now be defined while the user program is running. You may even define address ranges for execution breakpoints. For example:
    BS $ >= start_address && $ < end_address
    // $ represents the PC value
    
    This command defines an execution breakpoint when the program counter is in the region between start_address and end_address. Note that there are some restrictions for the range:
    • end_address - start_address (range = 2n - 2m; n=0—31, m=0—n-1),
    • Either start_address or end_address must be 2^n aligned.
    For example:
    BS $ >= 0x1000 && $ < 0x1020     // Break when PC is in 0x1000-0x101F
    BS $ >= 0x1000 && $ <= 0x1006    // Break when PC is in 0x1000-0x1006
    BS $ > 0x1002 && $ < 0x1008      // Break when PC is in 0x1003-0x1007
    
  • [ULINK/ULINK2]
    Access Breakpoints may now be defined with a value or range (some hardware restrictions apply). The following combinations are supported:
    BS { READ | WRITE | READWRITE } variable
    
    This command defines an access breakpoint that triggers on any access to variable. The variable must be an aligned 8-bit, 16-bit, 32-bit (i.e. char, short, or int), or larger sized object (long long, struct, ect.) as long as the size is a power of 2 and it is 2n aligned (where 2n is the variable size).
    BS { READ | WRITE | READWRITE } variable == constant
    
    This command defines an access breakpoint that triggers on an access to variable with a specific value (constant). The variable must be an 8-bit, 16-bit, or 32-bit type.
    BS { READ | WRITE | READWRITE } variable < constant
    
    This command defines an access breakpoint that triggers on an access to variable when the comparison with a value (constant) is true. The variable must be an 8-bit, 16-bit, or 32-bit type. The constant must be a power of 2.
    BS { READ | WRITE | READWRITE } variable >= constant1 && variable < constant2
    
    This command defines an access breakpoint that triggers on an access to variable when its value is within the specified range. The variable must be an 8-bit, 16-bit, or 32-bit type. The range, constant2 - constant1 must be a power of 2 and constant1 must be aligned.

    For example:
    BS READ      myVariable                                              // break on read access
    BS WRITE     i < 0x20                                                // end value is 0x20
    BS READ      currert.time.msec >= 16 && current.time.msec < 17       // start is a power of 2, range is 1
    BS READWRITE currert.time.msec >= 120 && current.time.msec < 128     // range is 8, 120 is 8-byte aligned
    
  • [ULINK/ULINK2]
    Enhanced the unlock mechanism for Freescale MAC71xx devices. Reset Activate/Deactivate is performed automatically.
  • [ULINK/ULINK2]
    Added support for STMicroelectronics STR9 ICP Flash Programming (Flash Bank0, Bank1, OTP, User Code, CFG & Security Bit). Refer to MCBSTR9: STR9 FLASH PROGRAMMING for more information.
  • [RL-ARM Real-Time Kernel]
    The RTX kernel now supports the Cortex-M3 architecture.
  • [RL-ARM Real-Time Kernel]
    Created a Cortex-M3 example for the Luminary Micro LM3S102 device. It is found in the \KEIL\ARM\RV30\RTL\BOARDS\LUMINARY\DK-LM3S102\RTX_BLINKY\ folder.
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.