<< Chapter < Page | Chapter >> Page > |
When the application is written in assembly language, it is sometimes necessary to analyse the accesses to some of the microcontroller’s registers. A Register Break Point uses a trigger to detect the access to a register. A Mask Register should be used when the register is composed of several fields, since it can apply a mask and test specific bits only.
An application in certain operating conditions may occasionally try to access to invalid or protected memory regions. Using a range breakpoint, it is possible to detect the occurrence of these events. It is thus possible to suspend the execution of the application on the occurrence of:
- Write to flash;
- Invalid access to memory;
- Access to an instruction in invalid program space;
- Access to data in invalid data space.
The hardware breakpoint properties are established through different fields. The action to make when all triggers are true can be defined in the Action option of the Hardware Configuration field. One of the following options can be chosen:
- Halt;
- Trigger storage;
- Halt and trigger storage.
In the trigger field, specify through various options, the check condition for a true trigger. The trigger can be:
- Memory Address bus;
- Memory Data bus;
- Register Write.
Location: Address of the program code line or data memory address (e.g.:&a);
Mask : the information introduced in this field is used in a logic AND operation with the contents;
Operator : Logic operation with the data (==,<=,>=, !=);
Access : Memory access type:
- Instruction fetch;
- Instruction fetch and hold trigger;
- No instruction fetch;
- Don’t care;
- No Instruction fetch and read;
- No instruction fetch and write;
- Read;
- Write;
- No instruction fetch and no DMA access;
- DMA access (read or write);
- No DMA access;
- Write and no DMA access;
- No instruction fetch and read and no DMA access;
- Read and no DMA access;
- Read and DMA access;
- Write and DMA access.
Value : A mask and compare will be applied to the data on the bus and to value added here, to determine if the trigger is true;
Mask : The information introduced in this field is used in a logic AND operation with the contents;
Operator : Logic operation with the data (==,<=,>=, !=);
Access : Memory access type (on Memory Address Bus).
Group : Group to which the breakpoint belongs;
Name : Name assigned to the breakpoint.
- Break in program range : Generates a suspension of the execution of the application in a range of program memory addresses. It uses two triggers that define the range of addresses;
- Break in DMA transfer : Generates the suspension of the execution of the application, whenever a DMA read or write operation at the specified program address occurs. This breakpoint is implemented using only one trigger;
- Break in DMA transfer range : Generates the suspension of the execution of the application, whenever a DMA read or write operation at the specified address range occurs. This breakpoint is implemented using two triggers;
Notification Switch
Would you like to follow the 'Teaching and classroom laboratories based on the “ez430” and "experimenter's board" msp430 microcontroller platforms and code composer essentials' conversation and receive update notifications?