<< 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.

Depending on the type of trigger chosen, the options to specify may be

Memory address bus

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.

Memory data bus

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).

Miscellaneous

Group : Group to which the breakpoint belongs;

Name : Name assigned to the breakpoint.

There is a predefined breakpoint that can be set to

- 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;

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Teaching and classroom laboratories based on the “ez430” and "experimenter's board" msp430 microcontroller platforms and code composer essentials. OpenStax CNX. May 19, 2009 Download for free at http://cnx.org/content/col10706/1.3
Google Play and the Google Play logo are trademarks of Google Inc.

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?

Ask