RealView MDK-ARM 3.04 更新了不少.对LPC23XX,LPC2800,LPC3000有部份更新..
RealView Microcontroller Development Kit - Version 3.04 [RealView Compilation Tools V3.0 SP1] Added new libraries that fix a potential problem for Cortex-M3. [µVision IDE] Enhanced: µVision now builds scatter files that allow you to specify multiple memory regions. This is reflected in the dialog Project - Options - Target with the check marks before each memory area. Enhanced: the __at keyword can be now also used for variables. [µVision Debugger] Corrected: a loading problem with long macro names. Corrected: a problem with GNU 4.11 debug support (local variables did not display correctly). Corrected: a problem with displaying local symbols. [Device Simulation] Added: interrupt simulation and core peripherals for Cortex-M3. Added: STR91x device simulation and target dialogs. Corrected: LPC2000 UART simulation - THRE interrupt generation. [Device Support] Enhanced: Increased speed on Flash programming for NXP LPC23xx and LPC24xx devices. Enhanced: Flash programming for STR9xx now supports all extended Flash capabilities. Detailed information in MCBSTR9: STR9 FLASH PROGRAMMING. The example in ..ARMRV30BoardsKeilMCBSTR9Blinky includes the target STR910 Flash with CFG that shows this extended Flash capabilities. Added: startup code and flash programming support for NXP LPC2880 and LPC2888. A example program is in the folder ..ARMRV30BoardsNOHAULPC2800Blinky. [Example Projects] MCBSTR9: startup code has been updated (startup code is now setting the PFQBC bit). USB examples in the folder ..ARMRV30BoardsKeilMCBSTR9USB. MCB2300: EasyWEB example project in the folder ..ARMRV30BoardsKeilMCB2300EasyWEB. MCBSTR750: a delay loop added to the startup code (Reset_Handler) to avoid CPU startup problems that occur on some device steps. TMS470 example supporting the HET assembler in folder ..ARMRV30BoardsTITMS470R1B1MBlinky. [ULINK Interface]
Added: ULINK2 support for Cortex-M3. Added: ULINK2 now supports the Real-Time Agent that adds extra features such as read/write memory on the fly and debug I/O. Detailed information in Application Note 194: Using the Real-Time Agent. Added: Execution Breakpoints can now be defined while the user program is running. You may even define address ranges for execution breakpoints with the following syntax: BS $ >= start_address && $ < end_address // $ represents the PC value Defines an execution breakpoint when the program jumps in the region between start_address and end_address. There are restrictions for the range end_address - start_address (range = 2^n - 2^m; n =0..31, m=0..n-1) and either start_address or end_address must be 2^n aligned.
Examples:
BS $ >= 0x1000 && $ < 0x1020 // break when the program jumps to the address range 0x1000 .. 0x101F BS $ >= 0x1000 && $ < 0x1006 BS $ >= 0x1002 && $ < 0x1008 Added: Access Breakpoints can now be defined with a value or range (some hardware restrictions apply). The following combinations are supported:
BS { READ | WRITE | READWRITE } variable Defines an access breakpoint that triggers on any access to a variable. variable can be an aligned 8, 16, or 32-bit (i.e. char, short, or int) or any bigger size (long long, struct, ect.) as long as the size is a power of 2 it is 2^n aligned (whereby 2^n is the variable size).
BS { READ | WRITE | READWRITE } variable == constant Defines an access breakpoint that triggers on an access to a variable with a specific value (constant). variable must be an 8, 16, or 32-bit (i.e. char, short, or int) value.
BS { READ | WRITE | READWRITE } variable < constant Defines an access breakpoint that triggers on an access to a variable when the comparison with a value (constant) is true. variable must be an 8, 16, or 32-bit (i.e. char, short, or int) value. constant must be a power of 2.
BS { READ | WRITE | READWRITE } variable >= constant1 && variable < constant2 Defines an access breakpoint that triggers on a value range of a variable. variable must be an 8, 16, or 32-bit (i.e. char, short, or int) value; the range value constant2 - constant1 must be a power of 2 and constant1 must be aligned on the value range.
Examples:
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 Enhanced: Freescale MAC71xx Unlock mechanism (Reset Activate/Deactivate automatically performed). Added: STR9 ICP Flash Programming (Flash Bank0, Bank1, OTP, User Code, CFG & Security Bit) (Refer to MCBSTR9: STR9 FLASH PROGRAMMING). [RTX Kernel for Cortex-M3] The RTX kernel now supports the Cortex-M3 architecture. Cortex-M3 example for Luminary Micro LM3S102 device is available in the folder ..ARMRV30RTLBoardsLuminaryDK-LM3S102RTX_Blinky.
|